[Super-tux-commit] supertux/lib/gui menu.cpp,1.9,1.10
Brought to you by:
wkendrick
From: Ricardo C. <rm...@us...> - 2004-08-05 14:09:21
|
Update of /cvsroot/super-tux/supertux/lib/gui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30962/lib/gui Modified Files: menu.cpp Log Message: When there is no entries in a menu, there is a crash. This delays the crash until an event is triggered. Select a level from Contrib Levels for testing. I dunno what changes Tobias made to menu, but I don't think that ugly checking for horizontal lines was in there. Index: menu.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/lib/gui/menu.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- menu.cpp 28 Jul 2004 23:33:23 -0000 1.9 +++ menu.cpp 5 Aug 2004 14:09:12 -0000 1.10 @@ -457,17 +457,23 @@ } } - MenuItem& new_item = item[active_item]; - if(new_item.kind == MN_DEACTIVE - || new_item.kind == MN_LABEL - || new_item.kind == MN_HL) + if(active_item > 0 && active_item < (int)item.size()) { + // FIXME: wtf?! having a hack to avoid horizontal lines... + // Elegant solution would be to check for horizontal lines, right + // when it was asked to move menu up and down + MenuItem& new_item = item[active_item]; + if(new_item.kind == MN_DEACTIVE || + new_item.kind == MN_LABEL || + new_item.kind == MN_HL) + { // Skip the horzontal line item if (menuaction != MENU_ACTION_UP && menuaction != MENU_ACTION_DOWN) menuaction = MENU_ACTION_DOWN; if (item.size() > 1) action(); + } } menuaction = MENU_ACTION_NONE; |