[Scummvm-cvs-logs] CVS: scummvm system.h,1.23,1.24 sdl_gl.cpp,1.2,1.3 sdl.cpp,1.132,1.133 scummvm.cpp,1.182,1.183 newgui.cpp,1.20,1.21

Max Horn fingolfin at users.sourceforge.net
Tue Jul 16 14:19:02 CEST 2002


Update of /cvsroot/scummvm/scummvm
In directory usw-pr-cvs1:/tmp/cvs-serv21804

Modified Files:
	system.h sdl_gl.cpp sdl.cpp scummvm.cpp newgui.cpp 
Log Message:
Patch #582286 - fix for double key events in newgui

Index: system.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/system.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- system.h	4 Jun 2002 18:18:44 -0000	1.23
+++ system.h	16 Jul 2002 21:18:01 -0000	1.24
@@ -44,7 +44,7 @@
 
 	enum {
 		EVENT_KEYDOWN = 1,
-//		EVENT_KEYUP = 2,
+		EVENT_KEYUP = 2,
 		EVENT_MOUSEMOVE = 3,
 		EVENT_LBUTTONDOWN = 4,
 		EVENT_LBUTTONUP = 5,

Index: sdl_gl.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sdl_gl.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- sdl_gl.cpp	16 Jul 2002 11:09:27 -0000	1.2
+++ sdl_gl.cpp	16 Jul 2002 21:18:01 -0000	1.3
@@ -591,6 +591,13 @@
 				return true;
 			}
 
+		case SDL_KEYUP: 
+			event->event_code = EVENT_KEYUP;
+			event->kbd.keycode = ev.key.keysym.sym;
+			event->kbd.ascii = mapKey(ev.key.keysym.sym, ev.key.keysym.mod);
+
+			return true;
+
 		case SDL_MOUSEMOTION:
 			event->event_code = EVENT_MOUSEMOVE;
 			event->mouse.x = ev.motion.x;

Index: sdl.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sdl.cpp,v
retrieving revision 1.132
retrieving revision 1.133
diff -u -d -r1.132 -r1.133
--- sdl.cpp	16 Jul 2002 17:41:12 -0000	1.132
+++ sdl.cpp	16 Jul 2002 21:18:02 -0000	1.133
@@ -835,27 +835,27 @@
 				if (ev.key.keysym.mod & KMOD_CTRL) b |= KBD_CTRL;
 				if (ev.key.keysym.mod & KMOD_ALT) b |= KBD_ALT;
 				event->kbd.flags = b;
-
+	
 				/* internal keypress? */				
 				if (b == KBD_ALT && ev.key.keysym.sym==SDLK_RETURN) {
 					property(PROP_TOGGLE_FULLSCREEN, NULL);
 					break;
 				}
-
+	
 				if ((b == KBD_CTRL && ev.key.keysym.sym=='z') || (b == KBD_ALT && ev.key.keysym.sym=='x')) {
 					quit();
 					break;
 				}
-
+	
 				if (b == (KBD_CTRL|KBD_ALT) && 
-				    (ev.key.keysym.sym>='1') && (ev.key.keysym.sym<='7')) {
+					(ev.key.keysym.sym>='1') && (ev.key.keysym.sym<='7')) {
 					Property prop;
 					prop.gfx_mode = ev.key.keysym.sym - '1';
 					property(PROP_SET_GFX_MODE, &prop);
 					break;
 				}
-
-
+	
+	
 				event->event_code = EVENT_KEYDOWN;
 				event->kbd.keycode = ev.key.keysym.sym;
 				event->kbd.ascii = mapKey(ev.key.keysym.sym, ev.key.keysym.mod);
@@ -879,11 +879,15 @@
 					default:
 					break;
 				}
-
+	
 				return true;
 			}
 
-			case SDL_KEYUP: {
+		case SDL_KEYUP: {
+				event->event_code = EVENT_KEYUP;
+				event->kbd.keycode = ev.key.keysym.sym;
+				event->kbd.ascii = mapKey(ev.key.keysym.sym, ev.key.keysym.mod);
+
 				switch(ev.key.keysym.sym){
 					case SDLK_LEFT:                
 						if (km.x_vel < 0) {
@@ -956,6 +960,7 @@
 			quit();
 		}
 	}
+
 }
 	
 bool OSystem_SDL::set_sound_proc(void *param, SoundProc *proc, byte format) {

Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scummvm.cpp,v
retrieving revision 1.182
retrieving revision 1.183
diff -u -d -r1.182 -r1.183
--- scummvm.cpp	16 Jul 2002 21:03:13 -0000	1.182
+++ scummvm.cpp	16 Jul 2002 21:18:06 -0000	1.183
@@ -1262,7 +1262,6 @@
 	for(;;) {
 		while (_system->poll_event(&event)) {
 
-
 			// if newgui is running, copy event to EventList, and let the GUI handle it itself
 			// we might consider this approach for ScummLoop as well, and clean up the current mess
 			if (_newgui->isActive())

Index: newgui.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/newgui.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- newgui.cpp	15 Jul 2002 20:11:39 -0000	1.20
+++ newgui.cpp	16 Jul 2002 21:18:06 -0000	1.21
@@ -116,8 +116,8 @@
 				case OSystem::EVENT_KEYDOWN:
 					activeDialog->handleKeyDown(t.kbd.ascii, t.kbd.flags);
 					break;
-//				case OSystem::EVENT_KEYUP:
-//					activeDialog->handleKeyUp(t.kbd.ascii, t.kbd.flags);
+				case OSystem::EVENT_KEYUP:
+					activeDialog->handleKeyUp(t.kbd.ascii, t.kbd.flags);
 					break;
 				case OSystem::EVENT_MOUSEMOVE:
 					activeDialog->handleMouseMoved(t.mouse.x - activeDialog->_x, t.mouse.y - activeDialog->_y, 0);





More information about the Scummvm-git-logs mailing list