** (application): CRITICAL **: invalid cast from `GdkPixmap' to `GdkWindow'
The stack trace for this is below (Windows Gtk 2.4.14):
Stacktrace:
#0 0x00360EDB in g_logv+0x3BB () at c:\temp\gtk+-2.4.14\glib-2.4.7\glib\gmessages.c:504
#1 0x0122E2DB in g_critical+0x1B () at c:\temp\gtk+-2.4.14\glib-2.4.7\glib\gmessages.h:164
#2 0x0122E26B in g_type_check_instance_cast+0xDB () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gtype.c:3169
#3 0x10028073 in gdk_event_translate+0x1A3 () at c:\temp\gtk+-2.4.14\gdk\win32\gdkevents-win32.c:2264
#4 0x10025F2F in inner_window_procedure+0x6F () at c:\temp\gtk+-2.4.14\gdk\win32\gdkevents-win32.c:280
#5 0x10025E5C in _gdk_win32_window_procedure+0x7C () at c:\temp\gtk+-2.4.14\gdk\win32\gdkevents-win32.c:316
#6 0x7739B6E3 in LoadCursorW+0x4CF5 ()
#7 0x7739B874 in LoadCursorW+0x4E86 ()
#8 0x7739C8B8 in GetMessageW+0x9F ()
#9 0x7739223B in LoadCursorA+0x929 ()
#10 0x7C828536 in KiUserCallbackDispatcher+0x2E ()
#11 0x77392390 in SetWindowLongW+0xD3 ()
#12 0x7738C334 in CreateWindowExA+0x33 ()
#13 0x661DB384in <unknown function>
#14 0x10040AAD in gdk_window_new_internal+0x65D () at c:\temp\gtk+-2.4.14\gdk\win32\gdkwindow-win32.c:693
#15 0x10040446 in gdk_window_new+0x16 () at c:\temp\gtk+-2.4.14\gdk\win32\gdkwindow-win32.c:758
#16 0x013211E1 in gtk_event_box_realize+0x131 () at c:\temp\gtk+-2.4.14\gtk\gtkeventbox.c:442
#17 0x012264BE in g_cclosure_marshal_VOID__VOID+0x9E () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gmarshal.c:78
#18 0x01213B6C in g_type_class_meta_marshal+0x4C () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:518
#19 0x01213860 in g_closure_invoke+0x130 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:441
#20 0x012258AD in signal_emit_unlocked_R+0x3BD () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2369
#21 0x01224FEF in g_signal_emit_valist+0x72F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2194
#22 0x0122537F in g_signal_emit+0x1F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2238
#23 0x0147368B in gtk_widget_realize+0x14B () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:2241
#24 0x01476F76 in gtk_widget_set_parent+0x346 () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:4297
#25 0x01340D0C in gtk_fixed_put+0xCC () at c:\temp\gtk+-2.4.14\gtk\gtkfixed.c:196
#26 0x0043AF5D in AddToContainer+0x15D () at c:\application\control.cpp:3620
#27 0x004356AA in AddToContainer+0x2A () at c:\application\control.cpp:1503
#28 0x008587EB in ShowControl+0x1FB () at c:\application\control.cpp:173
#29 0x00A44B28 in ShowPControl+0x1B8 () at c:\application\panel.cpp:307
#30 0x00861B6D in ShowPControl+0x2D () at c:\application\app_fns.cpp:562
#31 0x0D8ED18B in UsrShowControl+0x8B ()
#32 0x0071C4A5 in UsrFunction+0x115 () at c:\application\usefns.cpp:42
#33 0x0045F719 in RunUsrFunction+0x89 () at c:\application\cmdhandler.cpp:7452
#34 0x0063199B in ParseCommand+0x61B () at c:\application\parsefns.cpp:2190
#35 0x00631A7E in ParseCommandOuter+0x1E () at c:\parsefns\parsefns.cpp:2217
#36 0x00942B0F in
#37 0x0098B806 in
#38 0x0094056C in
#39 0x0093E1D4 in
#40 0x0098C0FA in
#41 0x0093E120 in .. omitted - not relevant ..
#42 0x0086198F in
#43 0x0D8E8D60 in
#44 0x0071C4BB in
#45 0x00649FBD in
#46 0x0085EE43 in
#47 0x00A43BBA in
#48 0x0085EED8 in
#49 0x00435C8B in cb_run_use_cmd+0xEB () at c:\application\control.cpp:1621
#50 0x00435CD0 in cb_entry_lose_focus+0x10 () at c:\application\control.cpp:1635
#51 0x0137CD25 in _gtk_marshal_BOOLEAN__BOXED+0xE5 () at c:\temp\gtk+-2.4.14\gtk\gtkmarshalers.c:84
#52 0x01213860 in g_closure_invoke+0x130 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:441
#53 0x01225EF5 in signal_emit_unlocked_R+0xA05 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2509
#54 0x0122507B in g_signal_emit_valist+0x7BB () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2204
#55 0x0122537F in g_signal_emit+0x1F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2238
#56 0x014756F2 in gtk_widget_event_internal+0x212 () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:3564
#57 0x014753A7 in gtk_widget_event+0xC7 () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:3370
#58 0x014834C3 in do_focus_change+0xC3 () at c:\temp\gtk+-2.4.14\gtk\gtkwindow.c:4328
#59 0x0148323B in gtk_window_real_set_focus+0x15B () at c:\temp\gtk+-2.4.14\gtk\gtkwindow.c:4514
#60 0x012270C1 in g_cclosure_marshal_VOID__OBJECT+0xB1 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gmarshal.c:638
#61 0x01213B6C in g_type_class_meta_marshal+0x4C () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:518
#62 0x01213860 in g_closure_invoke+0x130 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:441
#63 0x01225D7F in signal_emit_unlocked_R+0x88F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2477
#64 0x01224FEF in g_signal_emit_valist+0x72F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2194
#65 0x0122537F in g_signal_emit+0x1F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2238
#66 0x0147DF48 in _gtk_window_internal_set_focus+0x88 () at c:\temp\gtk+-2.4.14\gtk\gtkwindow.c:1196
#67 0x01476243 in gtk_widget_real_grab_focus+0x193 () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:3923
#68 0x012264BE in g_cclosure_marshal_VOID__VOID+0x9E () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gmarshal.c:78
#69 0x01213B6C in g_type_class_meta_marshal+0x4C () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:518
#70 0x01213860 in g_closure_invoke+0x130 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:441
#71 0x01225D7F in signal_emit_unlocked_R+0x88F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2477
#72 0x01224FEF in g_signal_emit_valist+0x72F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2194
#73 0x0122537F in g_signal_emit+0x1F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2238
#74 0x01476080 in gtk_widget_grab_focus+0xA0 () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:3842
#75 0x012FD359 in gtk_container_focus+0xB9 () at c:\temp\gtk+-2.4.14\gtk\gtkcontainer.c:1550
#76 0x0137CF3B in _gtk_marshal_BOOLEAN__ENUM+0xEB () at c:\temp\gtk+-2.4.14\gtk\gtkmarshalers.c:164
#77 0x01213B6C in g_type_class_meta_marshal+0x4C () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:518
#78 0x01213860 in g_closure_invoke+0x130 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:441
#79 0x01225D7F in signal_emit_unlocked_R+0x88F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2477
#80 0x0122507B in g_signal_emit_valist+0x7BB () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2204
#81 0x0122537F in g_signal_emit+0x1F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2238
#82 0x01478C05 in gtk_widget_child_focus+0xF5 () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:5407
#83 0x012FDFC0 in gtk_container_focus_move+0xD0 () at c:\temp\gtk+-2.4.14\gtk\gtkcontainer.c:2036
#84 0x012FD409 in gtk_container_focus+0x169 () at c:\temp\gtk+-2.4.14\gtk\gtkcontainer.c:1576
#85 0x0137CF3B in _gtk_marshal_BOOLEAN__ENUM+0xEB () at c:\temp\gtk+-2.4.14\gtk\gtkmarshalers.c:164
#86 0x01213B6C in g_type_class_meta_marshal+0x4C () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:518
#87 0x01213860 in g_closure_invoke+0x130 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:441
#88 0x01225D7F in signal_emit_unlocked_R+0x88F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2477
#89 0x0122507B in g_signal_emit_valist+0x7BB () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2204
#90 0x0122537F in g_signal_emit+0x1F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2238
#91 0x01478C05 in gtk_widget_child_focus+0xF5 () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:5407
#92 0x012FDFC0 in gtk_container_focus_move+0xD0 () at c:\temp\gtk+-2.4.14\gtk\gtkcontainer.c:2036
#93 0x012FD409 in gtk_container_focus+0x169 () at c:\temp\gtk+-2.4.14\gtk\gtkcontainer.c:1576
#94 0x0137CF3B in _gtk_marshal_BOOLEAN__ENUM+0xEB () at c:\temp\gtk+-2.4.14\gtk\gtkmarshalers.c:164
#95 0x01213B6C in g_type_class_meta_marshal+0x4C () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:518
#96 0x01213860 in g_closure_invoke+0x130 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:441
#97 0x01225D7F in signal_emit_unlocked_R+0x88F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2477
#98 0x0122507B in g_signal_emit_valist+0x7BB () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2204
#99 0x0122537F in g_signal_emit+0x1F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2238
#100 0x01478C05 in gtk_widget_child_focus+0xF5 () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:5407
#101 0x012FDF44 in gtk_container_focus_move+0x54 () at c:\temp\gtk+-2.4.14\gtk\gtkcontainer.c:2029
#102 0x012FD409 in gtk_container_focus+0x169 () at c:\temp\gtk+-2.4.14\gtk\gtkcontainer.c:1576
#103 0x0137CF3B in _gtk_marshal_BOOLEAN__ENUM+0xEB () at c:\temp\gtk+-2.4.14\gtk\gtkmarshalers.c:164
#104 0x01213B6C in g_type_class_meta_marshal+0x4C () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:518
#105 0x01213860 in g_closure_invoke+0x130 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:441
#106 0x01225D7F in signal_emit_unlocked_R+0x88F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2477
#107 0x0122507B in g_signal_emit_valist+0x7BB () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2204
#108 0x0122537F in g_signal_emit+0x1F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2238
#109 0x01478C05 in gtk_widget_child_focus+0xF5 () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:5407
#110 0x012FDF44 in gtk_container_focus_move+0x54 () at c:\temp\gtk+-2.4.14\gtk\gtkcontainer.c:2029
#111 0x012FD409 in gtk_container_focus+0x169 () at c:\temp\gtk+-2.4.14\gtk\gtkcontainer.c:1576
#112 0x0137CF3B in _gtk_marshal_BOOLEAN__ENUM+0xEB () at c:\temp\gtk+-2.4.14\gtk\gtkmarshalers.c:164
#113 0x01213B6C in g_type_class_meta_marshal+0x4C () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:518
#114 0x01213860 in g_closure_invoke+0x130 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:441
#115 0x01225D7F in signal_emit_unlocked_R+0x88F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2477
#116 0x0122507B in g_signal_emit_valist+0x7BB () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2204
#117 0x0122537F in g_signal_emit+0x1F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2238
#118 0x01478C05 in gtk_widget_child_focus+0xF5 () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:5407
#119 0x013C0AD7 in gtk_scrolled_window_focus+0xA7 () at c:\temp\gtk+-2.4.14\gtk\gtkscrolledwindow.c:1266
#120 0x0137CF3B in _gtk_marshal_BOOLEAN__ENUM+0xEB () at c:\temp\gtk+-2.4.14\gtk\gtkmarshalers.c:164
#121 0x01213B6C in g_type_class_meta_marshal+0x4C () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:518
#122 0x01213860 in g_closure_invoke+0x130 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:441
#123 0x01225D7F in signal_emit_unlocked_R+0x88F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2477
#124 0x0122507B in g_signal_emit_valist+0x7BB () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2204
#125 0x0122537F in g_signal_emit+0x1F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2238
#126 0x01478C05 in gtk_widget_child_focus+0xF5 () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:5407
#127 0x012FDF44 in gtk_container_focus_move+0x54 () at c:\temp\gtk+-2.4.14\gtk\gtkcontainer.c:2029
#128 0x012FD409 in gtk_container_focus+0x169 () at c:\temp\gtk+-2.4.14\gtk\gtkcontainer.c:1576
#129 0x0137CF3B in _gtk_marshal_BOOLEAN__ENUM+0xEB () at c:\temp\gtk+-2.4.14\gtk\gtkmarshalers.c:164
#130 0x01213B6C in g_type_class_meta_marshal+0x4C () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:518
#131 0x01213860 in g_closure_invoke+0x130 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:441
#132 0x01225D7F in signal_emit_unlocked_R+0x88F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2477
#133 0x0122507B in g_signal_emit_valist+0x7BB () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2204
#134 0x0122537F in g_signal_emit+0x1F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2238
#135 0x01478C05 in gtk_widget_child_focus+0xF5 () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:5407
#136 0x012FDF44 in gtk_container_focus_move+0x54 () at c:\temp\gtk+-2.4.14\gtk\gtkcontainer.c:2029
#137 0x012FD409 in gtk_container_focus+0x169 () at c:\temp\gtk+-2.4.14\gtk\gtkcontainer.c:1576
#138 0x0137CF3B in _gtk_marshal_BOOLEAN__ENUM+0xEB () at c:\temp\gtk+-2.4.14\gtk\gtkmarshalers.c:164
#139 0x01213B6C in g_type_class_meta_marshal+0x4C () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:518
#140 0x01213860 in g_closure_invoke+0x130 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:441
#141 0x01225D7F in signal_emit_unlocked_R+0x88F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2477
#142 0x0122507B in g_signal_emit_valist+0x7BB () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2204
#143 0x0122537F in g_signal_emit+0x1F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2238
#144 0x01478C05 in gtk_widget_child_focus+0xF5 () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:5407
#145 0x01483001 in gtk_window_focus+0x61 () at c:\temp\gtk+-2.4.14\gtk\gtkwindow.c:4444
#146 0x0137CF3B in _gtk_marshal_BOOLEAN__ENUM+0xEB () at c:\temp\gtk+-2.4.14\gtk\gtkmarshalers.c:164
#147 0x01213B6C in g_type_class_meta_marshal+0x4C () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:518
#148 0x01213860 in g_closure_invoke+0x130 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:441
#149 0x01225D7F in signal_emit_unlocked_R+0x88F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2477
#150 0x0122507B in g_signal_emit_valist+0x7BB () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2204
#151 0x0122537F in g_signal_emit+0x1F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2238
#152 0x01478C05 in gtk_widget_child_focus+0xF5 () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:5407
#153 0x01482D2F in gtk_window_move_focus+0x1F () at c:\temp\gtk+-2.4.14\gtk\gtkwindow.c:4289
#154 0x01226AC1 in g_cclosure_marshal_VOID__ENUM+0xB1 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gmarshal.c:358
#155 0x01213B6C in g_type_class_meta_marshal+0x4C () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:518
#156 0x01213860 in g_closure_invoke+0x130 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gclosure.c:441
#157 0x01225D7F in signal_emit_unlocked_R+0x88F () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2477
#158 0x012247B7 in g_signal_emitv+0x4B7 () at c:\temp\gtk+-2.4.14\glib-2.4.7\gobject\gsignal.c:2106
#159 0x012BE3B3 in gtk_binding_entry_activate+0x213 () at c:\temp\gtk+-2.4.14\gtk\gtkbindings.c:525
#160 0x012BFAAC in binding_match_activate+0x5C () at c:\temp\gtk+-2.4.14\gtk\gtkbindings.c:927
#161 0x012BFA12 in gtk_bindings_activate_list+0x1A2 () at c:\temp\gtk+-2.4.14\gtk\gtkbindings.c:1063
#162 0x012BFD1C in gtk_bindings_activate_event+0xFC () at c:\temp\gtk+-2.4.14\gtk\gtkbindings.c:1139
#163 0x0147525F in gtk_widget_real_key_press_event+0x1F () at c:\temp\gtk+-2.4.14\gtk\gtkwidget.c:3308
Below is the source code section for gdk_event_translate with the SLOC marked to show where the invalid type cast occurred:
g_object_ref (window);
/* window's refcount has now been increased, so code below should
* not just return from this function, but instead goto done (or
* break out of the big switch). To protect against forgetting this,
* #define return to a syntax error...
*/
#define return GOTO_DONE_INSTEAD
if (!GDK_WINDOW_DESTROYED (window) && ((GdkWindowObject *) window)->filters) <-----
{
/* Apply per-window filters */
GdkFilterReturn result =
apply_filters (display, window, msg, ((GdkWindowObject *) window)->filters);
if (result == GDK_FILTER_REMOVE)
{
return_val = FALSE;
goto done;
}
else if (result == GDK_FILTER_TRANSLATE)
{
return_val = TRUE;
goto done;
}
}
We are considering the obvious option of moving to a newer version of Gtk on windows in the hope that will fix the issue, but to be prefectly honest, we have found it difficult to get a version for windows that doesnt contain a show stopping bug. Our approach there has been to repair the bugs and submit patches once everything is up to speed, but in the meantime, we still have some resources to continue looking at this issue as the preferred solution.
We have had issues with the use of focus-out handlers before but have always been able to find the offending code/programmer through valgrind on linux. This problem, obviously eludes our focus-out handler search.
Would anyone be able to provide some insight into where we could focus our efforts ?
Could the use of GtkFixed and its realize-on-pack operation cause some sort of race condition here ?
Thanks for looking