Browse code

emu event loop: peek for a key up only on key down event

Sigrid Solveig Haflínudóttir authored on 25/12/2021 21:58:10
Showing 1 changed files
... ...
@@ -502,9 +502,11 @@ run(Uxn *u)
502 502
 				uxn_eval(u, devctrl->vector);
503 503
 				devctrl->dat[3] = 0;
504 504
 
505
-				ksym = event.key.keysym.sym;
506
-				if(SDL_PeepEvents(&event, 1, SDL_PEEKEVENT, SDL_KEYUP, SDL_KEYUP) == 1 && ksym == event.key.keysym.sym)
507
-					goto breakout;
505
+				if(event.type == SDL_KEYDOWN) {
506
+					ksym = event.key.keysym.sym;
507
+					if(SDL_PeepEvents(&event, 1, SDL_PEEKEVENT, SDL_KEYUP, SDL_KEYUP) == 1 && ksym == event.key.keysym.sym)
508
+						goto breakout;
509
+				}
508 510
 				break;
509 511
 			case SDL_MOUSEWHEEL:
510 512
 			case SDL_MOUSEBUTTONUP: