[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/2] SDL2: only show consoles by shortcuts and not
From: |
Andrei Karas |
Subject: |
[Qemu-devel] [PATCH 1/2] SDL2: only show consoles by shortcuts and not hide. |
Date: |
Tue, 23 Aug 2016 23:36:22 +0300 |
This fix issue with stuck keys in SDL2 if press one of shortcuts
for show/hide consoles.
For close any consoles except main window can be used default WM/DE
action for close window.
Signed-off-by: Andrei Karas <address@hidden>
---
ui/sdl2.c | 27 +++++++++++++++++----------
1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/ui/sdl2.c b/ui/sdl2.c
index 30d2a3c..4441e99 100644
--- a/ui/sdl2.c
+++ b/ui/sdl2.c
@@ -363,15 +363,17 @@ static void handle_keydown(SDL_Event *ev)
win = ev->key.keysym.scancode - SDL_SCANCODE_1;
if (win < sdl2_num_outputs) {
- sdl2_console[win].hidden = !sdl2_console[win].hidden;
- if (sdl2_console[win].real_window) {
- if (sdl2_console[win].hidden) {
- SDL_HideWindow(sdl2_console[win].real_window);
- } else {
- SDL_ShowWindow(sdl2_console[win].real_window);
+ if (sdl2_console[win].hidden == 1) {
+ sdl2_console[win].hidden = !sdl2_console[win].hidden;
+ if (sdl2_console[win].real_window) {
+ if (sdl2_console[win].hidden) {
+ SDL_HideWindow(sdl2_console[win].real_window);
+ } else {
+ SDL_ShowWindow(sdl2_console[win].real_window);
+ }
}
+ gui_keysym = 1;
}
- gui_keysym = 1;
}
break;
case SDL_SCANCODE_F:
@@ -566,9 +568,14 @@ static void handle_windowevent(SDL_Event *ev)
update_displaychangelistener(&scon->dcl, 500);
break;
case SDL_WINDOWEVENT_CLOSE:
- if (!no_quit) {
- no_shutdown = 0;
- qemu_system_shutdown_request();
+ if (scon->idx == 0) {
+ if (!no_quit) {
+ no_shutdown = 0;
+ qemu_system_shutdown_request();
+ }
+ } else {
+ scon->hidden = true;
+ SDL_HideWindow(scon->real_window);
}
break;
case SDL_WINDOWEVENT_SHOWN:
--
2.9.3
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [PATCH 1/2] SDL2: only show consoles by shortcuts and not hide.,
Andrei Karas <=