[Scummvm-cvs-logs] CVS: scummvm/backends/PalmOS/Src palm.cpp,1.5,1.6

Chris Apers chrilith at users.sourceforge.net
Mon May 12 05:16:10 CEST 2003


Update of /cvsroot/scummvm/scummvm/backends/PalmOS/Src
In directory sc8-pr-cvs1:/tmp/cvs-serv3887

Modified Files:
	palm.cpp 
Log Message:
Cleanup, add CTRL+q shortcut

Index: palm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/PalmOS/Src/palm.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- palm.cpp	6 May 2003 08:19:51 -0000	1.5
+++ palm.cpp	12 May 2003 12:14:13 -0000	1.6
@@ -442,34 +442,34 @@
 	Boolean handled;
 	uint32 current_msecs;
 	UInt32 keyCurrentState = 0;
-	Boolean funcButton = false;
 
-	/* First, handle timers */
-	for(;;) {
-		EvtGetEvent(&ev, 0);
-		
-		keyCurrentState = KeyCurrentState();
-		current_msecs = get_msecs();
+	current_msecs = get_msecs();
+	//thread handler
+	if (_thread.active)
+		_thread.proc(_thread.param);
+
+	// sound handler
+	if(_sound.active)
+		check_sound();
 	
-		//thread handler
-		if (_thread.active)
-			_thread.proc(_thread.param);
+	// timer handler
+	if (_timer.active && (current_msecs >= _timer.next_expiry)) {
+		_timer.duration = _timer.callback(_timer.duration);
+		_timer.next_expiry = current_msecs + _timer.duration;
+	}
 
-		// sound handler
-		if(_sound.active)
-			check_sound();
-		
-		// timer handler
-		if (_timer.active && (current_msecs >= _timer.next_expiry)) {
-			_timer.duration = _timer.callback(_timer.duration);
-			_timer.next_expiry = current_msecs + _timer.duration;
-		}
+	for(;;) {
+		EvtGetEvent(&ev, evtNoWait);
+
+		if (ev.eType == nilEvent)
+			return false;
+
+		keyCurrentState = KeyCurrentState();
 
 		if (ev.eType == keyDownEvent) {
 			switch (ev.data.keyDown.chr) {
 				case vchrLaunch:
 					lastKeyPressed = -1;
-					funcButton = true;
 					event->event_code = EVENT_KEYDOWN;
 					event->kbd.keycode = 27;
 					event->kbd.ascii = 27;
@@ -478,7 +478,6 @@
 				
 				case vchrMenu:
 					lastKeyPressed = -1;
-					funcButton = true;
 					event->event_code = EVENT_KEYDOWN;
 					event->kbd.keycode = 319;
 					event->kbd.ascii = 319;
@@ -497,7 +496,6 @@
 							quit();
 
 					_exit_delay = get_msecs();
-					funcButton = true;
 					lastKeyPressed = vchrCalc;
 					return true;
 
@@ -566,7 +564,7 @@
 						(ev.data.keyDown.chr == vchrAttnUnsnooze))); 
 
 		// graffiti strokes, autooff, etc...
-		if (!funcButton && !handled)
+		if (!handled)
 			if (SysHandleEvent(&ev))
 				continue;
 
@@ -578,18 +576,22 @@
 				lastKeyPressed = -1;
 				//if (ev.data.keyDown.modifiers & shiftKeyMask) b |= KBD_SHIFT;
 
-				if (ev.data.keyDown.chr == 262 && (ev.data.keyDown.modifiers & commandKeyMask)) {
+				if (ev.data.keyDown.chr == vchrCommand && (ev.data.keyDown.modifiers & commandKeyMask)) {
 					lastKeyModifier++;
 					lastKeyModifier %= 3;
 					drawKeyState();				
+
 				} else {
 					byte b = 0;
 					if (lastKeyModifier == MD_CTRL)	b = KBD_CTRL;
 					if (lastKeyModifier == MD_ALT)	b = KBD_ALT;
+					
+					if  (ev.data.keyDown.chr == 'q' && b == KBD_CTRL)
+						quit();
 
 					event->event_code = EVENT_KEYDOWN;
 					event->kbd.keycode = ev.data.keyDown.chr;
-					event->kbd.ascii = (ev.data.keyDown.chr>='a' && ev.data.keyDown.chr<='z' && (event->kbd.flags & KBD_SHIFT)?ev.data.keyDown.chr &~ 0x20 : ev.data.keyDown.chr);
+					event->kbd.ascii = (ev.data.keyDown.chr>='a' && ev.data.keyDown.chr<='z' && (event->kbd.flags & KBD_SHIFT) ? ev.data.keyDown.chr &~ 0x20 : ev.data.keyDown.chr);
 					event->kbd.flags = b;
 					lastKeyModifier = MD_NONE;
 					drawKeyState();				
@@ -889,6 +891,9 @@
 
 void OSystem_PALMOS::check_sound() {
 	// currently not supported
+	// but i need to use this function to prevent out of memory
+	// on zak256 because the sound buffer growns and it's never
+	// freed.
 	_sound.proc(_sound.param, _sndTempP, 256);
 }
 





More information about the Scummvm-git-logs mailing list