void SPDesktop::_layer_hierarchy_changed(SPObject *top, SPObject *bottom, SPDesktop *desktop) { desktop->_layer_changed_signal.emit(bottom); }
That place for the crash looks a little strange to me. Could you try compiling without optimization and see if it yields the same backtrace (and give me some more of the actual backtrace as well..).
Sorry ... i'm a real beginner in C++ programming :/ how can I compile without optimization ?
I've just find the -O0. so I compiled like this : export CXXFLAGS="-g -O0" make clean ./configure --disable-mmx make Is it the correct way ?
Now here is the gdb message: Program received signal SIGSEGV, Segmentation fault. 0x080edfb8 in std::list<sigc::slot_base, std::allocatorsigc::slot_base
::empty() const (this=0x8) at stl_list.h:628
628 empty() const { return _M_node->_M_next == _M_node; }
So, this is different without optimizaiton...
And the backtrace : (gdb) backtrace #0 0x080ede58 in std::list<sigc::slot_base, std::allocatorsigc::slot_base >::empty() const (this=0x8) at stl_list.h:628 #1 0x080edcb6 in sigc::internal::signal_emit1<void, SPObject*, sigc::nil>::emit(sigc::internal::signal_impl*, SPObject* const&) (impl=0x0, _A_a1=@0xbffff554) at signal.h:616 #2 0x080edb0f in sigc::signal1<void, SPObject*, sigc::nil>::emit(SPObject* const&) const (this=0x86ca520, _A_a1=@0xbffff554) at signal.h:1637 #3 0x08172a87 in SPDesktop::_layer_hierarchy_changed(SPObject*, SPObject*, SPDesktop*) (top=0x8410508, bottom=0x8410508, desktop=0x86ca400) at desktop.cpp:1398 #4 0x08177347 in sigc::pointer_functor3<SPObject*, SPObject*, SPDesktop*, void>::operator()(SPObject* const&, SPObject* const&, SPDesktop* const&) const ( this=0x86caab0, _A_a1=@0xbffff660, _A_a2=@0xbffff664, _A_a3=@0x86caab4) at ptr_fun.h:185 #5 0x08177323 in operator()<SPObject* const&, SPObject* const&, SPDesktop*&> ( this=0x86caaac, _A_arg1=@0xbffff660, _A_arg2=@0xbffff664, _A_arg3=@0x86caab4) at adaptor_trait.h:126 #6 0x08177303 in operator()<SPObject* const&, SPObject* const&> ( this=0x86caaa8, _A_arg1=@0xbffff660, _A_arg2=@0xbffff664) at bind.h:1087 #7 0x081772df in sigc::internal::slot_call2<sigc::bind_functor<-1, sigc::pointer_functor3<SPObject*, SPObject*, SPDesktop*, void>, SPDesktop*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void, SPObject*, SPObject*>::call_it(sigc::internal::slot_rep*, SPObject* const&, SPObject* const&) ( ---Type <return> to continue, or q <return> to quit--- rep=0x86caa90, a_1=@0xbffff660, a_2=@0xbffff664) at slot.h:158 #8 0x081617ba in sigc::internal::signal_emit2<void, SPObject*, SPObject*, sigc::nil>::emit(sigc::internal::signal_impl*, SPObject* const&, SPObject* const&) ( impl=0x86ca920, _A_a1=@0xbffff660, _A_a2=@0xbffff664) at signal.h:753 #9 0x0816148c in sigc::signal2<void, SPObject*, SPObject*, sigc::nil>::emit(SPObject* const&, SPObject* const&) const (this=0x86ca9ec, _A_a1=@0xbffff660, _A_a2=@0xbffff664) at signal.h:1741 #10 0x08198950 in Inkscape::ObjectHierarchy::setTop(SPObject*) ( this=0x86ca9d8, object=0x8410508) at object-hierarchy.cpp:62 #11 0x0816f8c8 in sp_desktop_set_document (view=0x86ca400, doc=0x84189f0) at desktop.cpp:557 #12 0x08168354 in sp_view_set_document(SPView*, SPDocument*) (view=0x86ca400, doc=0x84189f0) at view.cpp:228 #13 0x0816ec28 in sp_desktop_new (namedview=0x84125d8, canvas=0x86c0dd8) at desktop.cpp:386 #14 0x081723f9 in sp_desktop_widget_new(SPNamedView*) (namedview=0x84125d8) at desktop.cpp:1307 #15 0x080eed85 in sp_file_new() () at file.cpp:85 #16 0x080ea140 in sp_main_gui(int, char const**) (argc=1, argv=0xbffff914) at main.cpp:301 #17 0x080e9f2a in main (argc=1, argv=0xbffff914) at main.cpp:239 #18 0x40c50936 in __libc_start_main () from /lib/libc.so.6
and my libs are : gtk+-2.0 : 2.4.3 gobject-2.0 : 2.4.2 gmodule-2.0 : 2.4.2 glib-2.0 : 2.4.2 pango : 1.4.0 gtkmm-2.4 : 2.4.4 gdkmm-2.4 : 2.4.4 glibmm-2.4 : 2.4.3 pangomm-1.4 : 2.4.4 The sames like MenTaLguY...
and libsigc-2.0 : 2.0.2
compile with gcc 3.3.4 on a Slackware.
FlorentGabriel