crash in gdk_window_destroy




If I run a GTK application under the wm2 or wmx window manager (of my
own creation, see http://www.netcomuk.co.uk/~cannam/wm2.html), the
application will crash as soon as it tries to destroy a window -- to
remove a dialog, or just to exit the program.

I haven't seen this effect with any other manager, but equally having
used only this manager for some months I have yet to see the problem
in any non-GTK application.  The application crashes before the window
manager receives its DestroyWindow event, and there don't appear to be
any other events coming through to the manager at the point where the
application loses it.

A stack trace from gdb follows.  This is from running testgtk, hitting
the topmost button on the button bar and then closing the resulting
window.  The gtk is GTK+-U1 from Jay Painter's ftp site.

Any help in tracking this problem is most welcome -- I want to use
GTK myself, but I'm going to have trouble if I can't get it to work
with my own window manager.


Program received signal SIGSEGV, Segmentation fault.
gdk_window_destroy (window=0x805ece0) at gdkwindow.c:297
297                   if (!temp_private->destroyed)
(gdb) where
#0  gdk_window_destroy (window=0x805ece0) at gdkwindow.c:297
#1  0x40054066 in gtk_real_widget_unrealize (widget=0x805e2e8)
    at gtkwidget.c:2449
#2  0x40040abf in gtk_signal_default_marshaller (object=0x805e2e8,
    func=0x40053fd0 <gtk_real_widget_unrealize>, func_data=0x0,
    params=0xbfffef28) at gtksignal.c:666
#3  0x40040e93 in gtk_signal_real_emit (object=0x805e2e8, signal_type=7,
    args=0xbffff0b4) at gtksignal.c:833
#4  0x40040233 in gtk_signal_emit (object=0x805e2e8, signal_type=7)
    at gtksignal.c:270
#5  0x40052249 in gtk_widget_unrealize (widget=0x805e2e8) at gtkwidget.c:883
#6  0x40053c84 in gtk_real_widget_destroy (object=0x805e2e8)
    at gtkwidget.c:2295
#7  0x400160cd in gtk_bin_destroy (object=0x805e2e8) at gtkbin.c:117
#8  0x40054e4b in gtk_window_destroy (object=0x805e2e8) at gtkwindow.c:376
#9  0x40040abf in gtk_signal_default_marshaller (object=0x805e2e8,
    func=0x40054dc0 <gtk_window_destroy>, func_data=0x0, params=0xbffff13c)
    at gtksignal.c:666
#10 0x40040f2d in gtk_signal_real_emit (object=0x805e2e8, signal_type=1,
    args=0xbffff2c8) at gtksignal.c:860
#11 0x40040233 in gtk_signal_emit (object=0x805e2e8, signal_type=1)
    at gtksignal.c:270
#12 0x400343b2 in gtk_object_destroy (object=0x805e2e8) at gtkobject.c:456
#13 0x40051f03 in gtk_widget_destroy (widget=0x805e2e8) at gtkwidget.c:705
#14 0x40040abf in gtk_signal_default_marshaller (object=0x805e2e8,
    func=0x804acb8 <gtk_widget_destroy>, func_data=0x805e2e8,
    params=0xbffff358) at gtksignal.c:666
#15 0x4004140e in gtk_handlers_run (handlers=0x8058c30, info=0xbffff498,
    after=0) at gtksignal.c:1076
#16 0x40040ef6 in gtk_signal_real_emit (object=0x805ec30, signal_type=47,
    args=0xbffff4e4) at gtksignal.c:848
#17 0x40040233 in gtk_signal_emit (object=0x805ec30, signal_type=47)
    at gtksignal.c:270
#18 0x4001758e in gtk_button_clicked (button=0x805ec30) at gtkbutton.c:253
#19 0x40018965 in gtk_real_button_released (button=0x805ec30)
    at gtkbutton.c:852
#20 0x40040abf in gtk_signal_default_marshaller (object=0x805ec30,
    func=0x400188dc <gtk_real_button_released>, func_data=0x0,
    params=0xbffff544) at gtksignal.c:666
#21 0x40040e93 in gtk_signal_real_emit (object=0x805ec30, signal_type=46,
    args=0xbffff6d0) at gtksignal.c:833
#22 0x40040233 in gtk_signal_emit (object=0x805ec30, signal_type=46)
    at gtksignal.c:270
#23 0x4001756a in gtk_button_released (button=0x805ec30) at gtkbutton.c:247
#24 0x40018362 in gtk_button_button_release (widget=0x805ec30,
    event=0xbffff924) at gtkbutton.c:675
#25 0x40053b81 in gtk_widget_marshal_signal_4 (object=0x805ec30,
    func=0x400182c0 <gtk_button_button_release>, func_data=0x0,
    args=0xbffff740) at gtkwidget.c:2251
#26 0x40040f2d in gtk_signal_real_emit (object=0x805ec30, signal_type=18,
    args=0xbffff8cc) at gtksignal.c:860
#27 0x40040233 in gtk_signal_emit (object=0x805ec30, signal_type=18)
    at gtksignal.c:270
#28 0x400528a5 in gtk_widget_event (widget=0x805ec30, event=0xbffff924)
    at gtkwidget.c:1183
#29 0x4002c9c9 in gtk_propagate_event (widget=0x805ec30, event=0xbffff924)
    at gtkmain.c:866
#30 0x4002c08f in gtk_main_iteration () at gtkmain.c:321
#31 0x4002bea1 in gtk_main () at gtkmain.c:189
#32 0x804e3f0 in main (argc=1, argv=0xbffff9b4) at testgtk.c:2240
#33 0x804aecb in ___crt_dummy__ ()


Chris



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]