diff --git a/src/fmenuitem.cpp b/src/fmenuitem.cpp index 31ff0f71..e7421ffc 100644 --- a/src/fmenuitem.cpp +++ b/src/fmenuitem.cpp @@ -263,14 +263,17 @@ void FMenuItem::createDialogList (FMenu* winmenu) if ( (*iter)->isDialog() ) { FDialog* win = dynamic_cast(*iter); - FString win_title = win->getText(); - FMenuItem* win_item = new FMenuItem (win_title, winmenu); - win_item->addCallback - ( - "clicked", - _METHOD_CALLBACK (this, &FMenuItem::cb_switchToDialog), - dynamic_cast(win) - ); + if ( win ) + { + FString win_title = win->getText(); + FMenuItem* win_item = new FMenuItem (win_title, winmenu); + win_item->addCallback + ( + "clicked", + _METHOD_CALLBACK (this, &FMenuItem::cb_switchToDialog), + dynamic_cast(win) + ); + } } } while ( iter != begin );