> 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::allocator<sigc::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::allocator<sigc::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