[Scummvm-cvs-logs] SF.net SVN: scummvm:[42725] scummvm/trunk/backends/events/default

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Sat Jul 25 03:00:37 CEST 2009


Revision: 42725
          http://scummvm.svn.sourceforge.net/scummvm/?rev=42725&view=rev
Author:   lordhoto
Date:     2009-07-25 01:00:37 +0000 (Sat, 25 Jul 2009)

Log Message:
-----------
Change DefaultEventManager to use EventDispatcher.

Modified Paths:
--------------
    scummvm/trunk/backends/events/default/default-events.cpp
    scummvm/trunk/backends/events/default/default-events.h

Modified: scummvm/trunk/backends/events/default/default-events.cpp
===================================================================
--- scummvm/trunk/backends/events/default/default-events.cpp	2009-07-25 01:00:24 UTC (rev 42724)
+++ scummvm/trunk/backends/events/default/default-events.cpp	2009-07-25 01:00:37 UTC (rev 42725)
@@ -93,15 +93,19 @@
 }
 
 DefaultEventManager::DefaultEventManager(Common::EventSource *boss) :
-	_boss(boss),
 	_buttonState(0),
 	_modifierState(0),
 	_shouldQuit(false),
 	_shouldRTL(false),
 	_confirmExitDialogActive(false) {
 
-	assert(_boss);
+	assert(boss);
 
+	g_eventDispatcher.registerSource(boss, false);
+	g_eventDispatcher.registerSource(&_artificialEventSource, false);
+
+	g_eventDispatcher.registerObserver(this, 0, false);
+
 	_recordFile = NULL;
 	_recordTimeFile = NULL;
 	_playbackFile = NULL;
@@ -378,12 +382,12 @@
 
 bool DefaultEventManager::pollEvent(Common::Event &event) {
 	uint32 time = g_system->getMillis();
-	bool result;
+	bool result = false;
 
-	if (_artificialEventSource.pollEvent(event)) {
+	g_eventDispatcher.dispatch();
+	if (!_eventQueue.empty()) {
+		event = _eventQueue.pop();
 		result = true;
-	} else {
-		result = _boss->pollEvent(event);
 
 #ifdef ENABLE_KEYMAPPER
 		if (result) {

Modified: scummvm/trunk/backends/events/default/default-events.h
===================================================================
--- scummvm/trunk/backends/events/default/default-events.h	2009-07-25 01:00:24 UTC (rev 42724)
+++ scummvm/trunk/backends/events/default/default-events.h	2009-07-25 01:00:37 UTC (rev 42725)
@@ -42,8 +42,6 @@
 
 
 class DefaultEventManager : public Common::EventManager, Common::EventObserver {
-	Common::EventSource *_boss;
-
 #ifdef ENABLE_VKEYBD
 	Common::VirtualKeyboard *_vk;
 #endif


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list