Add 'insert symbol menu' in EVT_MENU_OPEN instead of updateUI, this fixes crash on wxGTK

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1647 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
twanvl
2011-02-02 23:16:59 +00:00
parent b96e7ad1fb
commit e36f697855
5 changed files with 32 additions and 1 deletions
+21 -1
View File
@@ -284,18 +284,38 @@ void CardsPanel::onUpdateUI(wxUpdateUIEvent& ev) {
case ID_INSERT_SYMBOL: {
wxMenu* menu = editor->getMenu(ID_INSERT_SYMBOL);
ev.Enable(menu);
/*
if (insertSymbolMenu->GetSubMenu() != menu || (menu && menu->GetParent() != menuFormat)) {
// re-add the menu
fprintf(stderr,"insert1 %p %p\n", menuFormat,insertSymbolMenu);fflush(stderr);
menuFormat->Remove(ID_INSERT_SYMBOL);
fprintf(stderr,"insert2\n");fflush(stderr);
insertSymbolMenu->SetSubMenu(menu);
fprintf(stderr,"insert3\n");fflush(stderr);
menuFormat->Append(insertSymbolMenu);
}
fprintf(stderr,"insert4\n");fflush(stderr);
}*/
break;
}
#endif
}
}
void CardsPanel::onMenuOpen(wxMenuEvent& ev) {
if (ev.GetMenu() != menuFormat) return;
wxMenu* menu = editor->getMenu(ID_INSERT_SYMBOL);
if (insertSymbolMenu->GetSubMenu() != menu || (menu && menu->GetParent() != menuFormat)) {
// re-add the menu
fprintf(stderr,"insert1 %p %p\n", menuFormat,insertSymbolMenu);fflush(stderr);
menuFormat->Remove(ID_INSERT_SYMBOL);
fprintf(stderr,"insert2\n");fflush(stderr);
insertSymbolMenu->SetSubMenu(menu);
fprintf(stderr,"insert3\n");fflush(stderr);
menuFormat->Append(insertSymbolMenu);
fprintf(stderr,"insert4\n");fflush(stderr);
}
}
void CardsPanel::onCommand(int id) {
switch (id) {
case ID_CARD_PREV: