[gtkmm] small application segfaults with treeview & liststore & sroll_to_row()



hi,

i've spend hours to drill down my program to reproduce the problem.
the project (300k) can be downloaded here: http://212.18.25.243/flo/test_case.tar.gz

how to reproduce the segfault:
there is one entry in the treeview/treestore on the left, double click on it until
the other treeview/liststore at the bottom is filled. the next double-click will segfault. (every time)

my system:
debian (unstable)
gcc 3.3.4
libgtkmm-2.4 2.4.5-1
libgtk2.0 2.4.9-1

i will give more information if needed.

hope that someone can confirm/decline my problem.

it seems that it is a special case with these 3 widget:
	TreeView/TreeStore
	Notebook (with hide()/show() calls)
	TreeView/ListStore


here is the gdb backtrace:
#0  0x4046359e in gtk_notebook_new () from /usr/lib/libgtk-x11-2.0.so.0
#1  0x40460fc2 in gtk_notebook_new () from /usr/lib/libgtk-x11-2.0.so.0
#2  0x401fb6c2 in Gtk::Widget_Class::expose_event_callback () from /usr/lib/libgtkmm-2.4.so.1
#3  0x4044c664 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0
#4  0x40766fb7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#5  0x40766c20 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#6  0x4077a655 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#7  0x407799be in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#8  0x40779ee4 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#9  0x4054b367 in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0
#10 0x403caadb in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0
#11 0x403ca73f in gtk_container_get_focus_hadjustment () from /usr/lib/libgtk-x11-2.0.so.0
#12 0x4046fafc in gtk_paned_pack2 () from /usr/lib/libgtk-x11-2.0.so.0
#13 0x4016b7ee in Gtk::Container_Class::forall_vfunc_callback () from /usr/lib/libgtkmm-2.4.so.1
#14 0x403c88e1 in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0
#15 0x403ca7df in gtk_container_get_focus_hadjustment () from /usr/lib/libgtk-x11-2.0.so.0
#16 0x4046f242 in gtk_paned_get_type () from /usr/lib/libgtk-x11-2.0.so.0
#17 0x401fb6c2 in Gtk::Widget_Class::expose_event_callback () from /usr/lib/libgtkmm-2.4.so.1
#18 0x4044c664 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0
#19 0x40766fb7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#20 0x40766c20 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#21 0x4077a655 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#22 0x407799be in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#23 0x40779ee4 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#24 0x4054b367 in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0
#25 0x403caadb in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0
#26 0x403ca73f in gtk_container_get_focus_hadjustment () from /usr/lib/libgtk-x11-2.0.so.0
#27 0x4046fb0c in gtk_paned_pack2 () from /usr/lib/libgtk-x11-2.0.so.0
#28 0x4016b7ee in Gtk::Container_Class::forall_vfunc_callback () from /usr/lib/libgtkmm-2.4.so.1
#29 0x403c88e1 in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0
#30 0x403ca7df in gtk_container_get_focus_hadjustment () from /usr/lib/libgtk-x11-2.0.so.0
#31 0x4046f242 in gtk_paned_get_type () from /usr/lib/libgtk-x11-2.0.so.0
#32 0x401fb6c2 in Gtk::Widget_Class::expose_event_callback () from /usr/lib/libgtkmm-2.4.so.1
#33 0x4044c664 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0
#34 0x40766fb7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#35 0x40766c20 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#36 0x4077a655 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#37 0x407799be in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#38 0x40779ee4 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#39 0x4054b367 in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0
#40 0x403caadb in gtk_container_propagate_expose () from /usr/lib/libgtk-x11-2.0.so.0
#41 0x403ca73f in gtk_container_get_focus_hadjustment () from /usr/lib/libgtk-x11-2.0.so.0
#42 0x4038dcd5 in gtk_box_set_child_packing () from /usr/lib/libgtk-x11-2.0.so.0
#43 0x4016b7ee in Gtk::Container_Class::forall_vfunc_callback () from /usr/lib/libgtkmm-2.4.so.1
#44 0x403c88e1 in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0
#45 0x403ca7df in gtk_container_get_focus_hadjustment () from /usr/lib/libgtk-x11-2.0.so.0
#46 0x401fb6c2 in Gtk::Widget_Class::expose_event_callback () from /usr/lib/libgtkmm-2.4.so.1
#47 0x4044c664 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0
#48 0x40766fb7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#49 0x40766c20 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#50 0x4077a655 in g_signal_emit_by_name () from /usr/lib/libg
...


maybe my code is silly, but i reduced it to a few lines, so it
must then be a problem in my understanding...

hope someone can fix it/ tell me what i am doing wrong...

p.s.: part of the source was generated from glademm but there
is not much left...

bye...

-- 
Florian Schmidt			      schmidt_florian gmx de 
GCS d? s+: a-- C++++ UL+++ P--- L+++ E W- N+ o+ K++ w--- O-
M-- V- PS+ PE Y PGP- t++ 5- X+ R- tv+ b+ DI D G e+ h+ r-- y?



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