Bug #9811 2006-12-23 18:49
dermeister
Crash if disabling a plugin
Code::Blocks revision 3412 crashes if you try to disable a plugin while *no* project is open. (Tested on Linux, gcc 4.1.1, wxGTK 2.6.2).
See here for more information and a complete backtrace:
- Category
- Application::Crash
- Group
- Status
- Closed
- Close date
- 2007-01-06 22:05
- Assigned to
History
killerbot 2006-12-27 15:03
some debugging : very hard since gdb of cb freezes all the time :-( #0 0x43672c wxListBase::GetCount(this=0x74000000e0) (/usr/include/wx-2.6/wx/list.h:480) #1 0x46212d wxMenuBase::GetMenuItemCount(this=0x7400000078) (/usr/include/wx-2.6/wx/menu.h:223) #2 0x2b2d24f0c2a2 MenuItemsManager::Clear(this=0xe7e100) (sdk/menuitemsmanager.cpp:88) #3 0x2b2d24fb9963 ToolsManager::BuildToolsMenu(this=0xe7e070, menu=0x1612a40) (sdk/toolsmanager.cpp:315) #4 0x45daf9 MainFrame::CreateMenubar(this=0xa2e770) (src/main.cpp:855) #5 0x45dc5d MainFrame::RecreateMenuBar(this=0xa2e770) (src/main.cpp:751) #6 0x45dd94 MainFrame::PluginsUpdated(this=0xa2e770, plugin=0x115cca0, status=2) (src/main.cpp:691) #7 0x45e0d0 MainFrame::OnPluginUnloaded(this=0xa2e770, event=@0x7fff87743d40) (src/main.cpp:3492) #8 0x2b2d24a77a4f wxEvtHandler::ProcessEventIfMatches() (/usr/lib64/libwx_baseu-2.6.so.0:??) #9 0x2b2d24a77bef wxEventHashTable::HandleEvent() (/usr/lib64/libwx_baseu-2.6.so.0:??) #10 0x2b2d24a77d46 wxEvtHandler::ProcessEvent() (/usr/lib64/libwx_baseu-2.6.so.0:??) #11 0x2b2d24e763d3 cbPlugin::Release(this=0x115cca0, appShutDown=false) (sdk/cbplugin.cpp:95) #12 0x2b2d24f2d885 PluginManager::DetachPlugin(this=0xe7dfc0, plugin=0x115cca0) (sdk/pluginmanager.cpp:221) #13 0x2b2d24f3626b PluginsConfigurationDlg::OnToggle(this=0x7fff877459f0, event=@0x7fff87744470) (sdk/pluginsconfigurationdlg.cpp:199) #14 0x2b2d24a77a4f wxEvtHandler::ProcessEventIfMatches() (/usr/lib64/libwx_baseu-2.6.so.0:??) #15 0x2b2d24a77bef wxEventHashTable::HandleEvent() (/usr/lib64/libwx_baseu-2.6.so.0:??) #16 0x2b2d24a77d46 wxEvtHandler::ProcessEvent() (/usr/lib64/libwx_baseu-2.6.so.0:??) #17 0x2b2d24251c86 wxWindowBase::TryParent() (/usr/lib64/libwx_gtk2u_core-2.6.so.0:??) #18 0x2b2d24a77ce3 wxEvtHandler::ProcessEvent() (/usr/lib64/libwx_baseu-2.6.so.0:??) #19 0x2b2d241ab4ac wxButton::~wxButton() (/usr/lib64/libwx_gtk2u_core-2.6.so.0:??) #20 0x2b2d2759977a g_closure_invoke() (/opt/gnome/lib64/libgobject-2.0.so.0:??) #21 0x2b2d275a9c1f g_signal_override_class_closure() (/opt/gnome/lib64/libgobject-2.0.so.0:??) #22 0x2b2d275aadd5 g_signal_emit_valist() (/opt/gnome/lib64/libgobject-2.0.so.0:??) #23 0x2b2d275aafb3 g_signal_emit() (/opt/gnome/lib64/libgobject-2.0.so.0:??) #24 0x2b2d26a05229 gtk_button_set_alignment() (/opt/gnome/lib64/libgtk-x11-2.0.so.0:??) #25 0x2b2d2759977a g_closure_invoke() (/opt/gnome/lib64/libgobject-2.0.so.0:??) #26 0x2b2d275a9dbb g_signal_override_class_closure() (/opt/gnome/lib64/libgobject-2.0.so.0:??) #27 0x2b2d275aadd5 g_signal_emit_valist() (/opt/gnome/lib64/libgobject-2.0.so.0:??) #28 0x2b2d275aafb3 g_signal_emit() (/opt/gnome/lib64/libgobject-2.0.so.0:??) #29 0x2b2d26a03aa9 gtk_button_released() (/opt/gnome/lib64/libgtk-x11-2.0.so.0:??) so it goes wrong on this line (void MenuItemsManager::Clear()) : if (!subMenu || subMenu->GetMenuItemCount() == 0)
killerbot 2007-01-03 20:03
Yiannis has fixed that yesterday. Could you give it a few test spins to see if you can still reconstruct this ?
dermeister 2007-01-05 14:05
Just compiled revision 3460 and enabled/disabled a bunch of plugins - no crash. Seems to work now, thanks :)
killerbot 2007-01-06 22:05
so fixed ;-)