Hi,
Taking point from "[Geany-Users] I can't see highlighted item in menu", here are some results of compiling and running Geany under Windows with the official gtk+3.6.4 binary:
1. Compiles and install normally (waf build system).
2. On start, if at least 1 file was open, crashes with:
Program received signal SIGSEGV, Segmentation fault. 0x006e4340 in gdk_window_has_impl () from c:\tmp\scp\gtk+\bin \libgdk-3-0.dll (gdb) bt #0 0x006e4340 in gdk_window_has_impl () from c:\tmp\scp\gtk+\bin\libgdk-3-0.dll #1 0x006e4388 in _gdk_window_has_impl () from c:\tmp\scp\gtk+\bin\libgdk-3-0.dll #2 0x0071898e in gdk_win32_window_get_handle () from c:\tmp\scp\gtk+\bin\libgdk-3-0.dll #3 0x0045e998 in win32_get_shortcut_target () #4 0x00428992 in document_open_file_full () #5 0x00408758 in open_session_file () #6 0x00408886 in configuration_open_files () #7 0x0045ff75 in load_startup_files () #8 0x0046047f in main ()
The problem is in GDK_WINDOW_HWND(gtk_widget_get_window (main_widgets.window)), used to compute HWND to serve as parent window when resolving a link, if this happens to require UI. On link target missing, Win~1 searches for "similar" files, displaying a small dialog, and sometimes asks whether file X is the missing link.
I coudn't get a proper HWND for Geany main window. Using gdk_win32_window_get_handle(gdk_get_default_root_window()) works, but the link UI may (or may not?) be displayed below the Geany window, looking as if we blocked.
A possible solution would be to use some Windows API directly, for example GetActiveWindow().
3. The items under cursor are not always highlighted. For example, when I open Edit and move the mouse, the menu items are highlighted fine, except for Preferences, which may or may not be highlighted.
4. The second and especially the third tab in the About dialog cause 100% CPU load and blocking.
5. The waf build of geany plugins does not currently support gtk+3.
Wikipedia calls gtk+3.4 "the first version of GTK+ 3 that works well on Windows", but that seems to be an overstatement. Maybe 3.10+ with the changed event loop and drawing will be better. Or worse...
For now, we'd better stick to gtk+2 under Windows.