I have simillar beaviour, fresh svn checkout, fresh wx 2.6.7 build.
Call stack:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1233844544 (LWP 3259)]
0xb6ab453c in vtable for std::bad_typeid () from /usr/lib/libstdc++.so.6
(gdb) bt
#0 0xb6ab453c in vtable for std::bad_typeid () from /usr/lib/libstdc++.so.6
#1 0xb6e42b3c in wxAppBase::SendIdleEvents () from /usr/local/lib/libwx_gtk2u_core-2.8.so.0
#2 0xb6e42b0f in wxAppBase::SendIdleEvents () from /usr/local/lib/libwx_gtk2u_core-2.8.so.0
#3 0xb6e42b0f in wxAppBase::SendIdleEvents () from /usr/local/lib/libwx_gtk2u_core-2.8.so.0
#4 0xb6e42e3b in wxAppBase::ProcessIdle () from /usr/local/lib/libwx_gtk2u_core-2.8.so.0
#5 0xb6d960ff in wxapp_idle_callback () from /usr/local/lib/libwx_gtk2u_core-2.8.so.0
#6 0xb77e9551 in ?? () from /usr/lib/libglib-2.0.so.0
#7 0x00000000 in ?? ()
(gdb)
After running few times the trace always goes through wxAppBase::SendIdleEvents, the topmost frame can be also:
#0 0xb6a1550d in vtable for __cxxabiv1::__class_type_info () from /usr/lib/libstdc++.so.6
Also it looks like there's no difference between closing C::B right after opening it or closing C::B with some project opened.
BYO
With this patch the segfault when closing codeblocks goes away:
--- codeblocks-1.0svn.orig/src/plugins/todo/todolist.cpp 2007-11-28 06:16:23.000000000 +0100
+++ codeblocks-1.0svn.work/src/plugins/todo/todolist.cpp 2007-12-01 21:17:28.000000000 +0100
@@ -142,7 +142,7 @@
CodeBlocksDockEvent evt(cbEVT_REMOVE_DOCK_WINDOW);
evt.pWindow = m_pListLog->GetWindow();
Manager::Get()->ProcessEvent(evt);
- delete m_pListLog;
+// delete m_pListLog;
}
else
{
I have the same problem in my ThreadSearch plugin; the logger is deleted in the call to
CodeBlocksDockEvent evt(cbEVT_REMOVE_DOCK_WINDOW);
evt.pWindow = m_pListLog->GetWindow();
The debugger code makes a just after.
I am working on a workaround that should work tonight if you need to keep your graphical widget when removing the logger.
Dje