diff --git a/source/src/menus.cpp b/source/src/menus.cpp index 9bebaf3b..fcd776cd 100644 --- a/source/src/menus.cpp +++ b/source/src/menus.cpp @@ -1309,7 +1309,13 @@ void gmenu::open() if(!allowinput) menusel = 0; if(!forwardkeys) player1->stopmoving(); setcontext("menu", name); - if(initaction) execute(initaction); + if(initaction) + { + gmenu *oldlastmenu = lastmenu; + lastmenu = this; + execute(initaction); + lastmenu = oldlastmenu; + } if(items.inrange(menusel)) items[menusel]->focus(true); init(); resetcontext();