[Gtk-osx-users] Bug: global_event_filter_func crashes every startup trying to send "type" message
Status: Beta
Brought to you by:
jralls
From: Philip R. <ph...@gm...> - 2014-12-16 03:14:25
|
Hello again, When I build and run RawTherapee ( https://code.google.com/p/rawtherapee/source/checkout), it always crashes on startup in gtkosxapplication: (lldb) bt * thread #1: tid = 0xb3c104, 0x00007fff96bc20dd libobjc.A.dylib`objc_msgSend + 29, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x30) frame #0: 0x00007fff96bc20dd libobjc.A.dylib`objc_msgSend + 29 * frame #1: 0x000000010252a547 libgtkmacintegration-gtk2.2.dylib`global_event_filter_func(windowing_event=0x00007fff5fbfe8c8, event=0x0000000105caddf0, user_data=0x00000001058fb8a0) + 55 at gtkosxapplication_quartz.c:514 frame #2: 0x0000000101974290 libgdk-x11-2.0.0.dylib`gdk_event_translate + 79 frame #3: 0x0000000101975bd2 libgdk-x11-2.0.0.dylib`_gdk_events_queue + 173 frame #4: 0x0000000101976f1b libgdk-x11-2.0.0.dylib`gdk_event_dispatch + 35 frame #5: 0x00000001013f7909 libglib-2.0.0.dylib`g_main_context_dispatch + 282 frame #6: 0x00000001013f7bf5 libglib-2.0.0.dylib`g_main_context_iterate + 413 frame #7: 0x00000001013f7e3f libglib-2.0.0.dylib`g_main_loop_run + 195 frame #8: 0x000000010163327c libgtk-x11-2.0.0.dylib`gtk_main + 180 frame #9: 0x0000000101dfaccd libgtkmm-2.4.1.dylib`Gtk::Main::run(Gtk::Window&) + 157 frame #10: 0x000000010039544f rawtherapee`main(argc=1, argv=0x00007fff5fbffb18) + 9071 at main.cc:284 frame #11: 0x00007fff938ee5c9 libdyld.dylib`start + 1 I'm not sure of the underlying reason, but the crash is right here: if ([nsevent type] == NSKeyDown && gtkosx_application_use_quartz_accelerators (app) ) { global_event_filter_func runs this code unconditionally, causing the crash in this case because the "type" message is sent to an invalid object (nsevent). As a hack, filtering out GDK_NOTHING as the value of event->type fixes the crash and the application works fine as far as I can tell. I have Mac OS X 10.10.1 and GTK 2.24.25, and I used the XCode compiler for both the application and gtkosxapplication. Let me know if I can provide any further information. Philip Ries |