[Scummvm-devel] EVENT_RTL/EVENT_QUIT are broken in trunk

Vladimir Menshakov whoozle at yandex.ru
Sat Jan 9 11:43:13 CET 2010

GuiManager grabs EVENT_RTL/QUIT and does not pass it to the engine. 

Here's backtrace with event.type != EVENT_RTL assertion in pollEvent()

#3  0x0000000000b1307a in Common::ArtificialEventSource::pollEvent (this=<value optimized out>, ev=...)
    at ./common/events.h:178
#4  0x0000000000b2029b in Common::EventDispatcher::dispatch (this=0x13831f8) at common/EventDispatcher.cpp:54
#5  0x0000000000b1292d in DefaultEventManager::pollEvent (this=0x13831f0, event=...)
    at backends/events/default/default-events.cpp:86
#6  0x0000000000a2c7c3 in GUI::GuiManager::runLoop (this=0x1310720) at gui/GuiManager.cpp:277
#7  0x0000000000a2bb1e in GUI::Dialog::runModal (this=0x1395990) at gui/dialog.cpp:77
#8  0x0000000000a20e51 in Engine::runDialog (this=0x13908d0, dialog=...) at engines/engine.cpp:378
#9  0x0000000000a20d9b in Engine::openMainMenuDialog (this=0x13908d0) at engines/engine.cpp:372
#10 0x000000000097bd5c in TeenAgent::TeenAgentEngine::run (this=0x13908d0) at engines/teenagent/teenagent.cpp:482
#11 0x000000000040dabd in runGame (plugin=<value optimized out>, system=..., edebuglevels=...)
    at base/main.cpp:216
#12 0x000000000040e1ce in scummvm_main (argc=<value optimized out>, argv=<value optimized out>)
    at base/main.cpp:389
#13 0x000000000040aaf3 in main (argc=2, argv=0x7fffffffd998) at backends/platform/sdl/main.cpp:65

Steps to reproduce: 
1. Run any engine with default main menu.
2. Press F5/ctrl-F5 to pop it up. 
3. Press RTL or Quit button in menu, event will be skipped. 

More information about the Scummvm-devel mailing list