All of lore.kernel.org
 help / color / mirror / Atom feed
* [PULL 00/10] Ui 20200212 patches
@ 2020-02-12 16:18 Gerd Hoffmann
  2020-02-12 16:18 ` [PULL 01/10] ui/gtk: Update gd_refresh_rate_millihz() to handle VirtualConsole Gerd Hoffmann
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2020-02-12 16:18 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, libvir-list, Markus Armbruster, Gerd Hoffmann,
	Paolo Bonzini

The following changes since commit e18e5501d8ac692d32657a3e1ef545b14e72b730:

  Merge remote-tracking branch 'remotes/dgilbert-gitlab/tags/pull-virtiofs-20200210' into staging (2020-02-10 18:09:14 +0000)

are available in the Git repository at:

  git://git.kraxel.org/qemu tags/ui-20200212-pull-request

for you to fetch changes up to 483644c25b932360018d15818d8bcd8c85ba70b8:

  ui/cocoa: Drop workarounds for pre-10.12 OSX (2020-02-12 13:27:08 +0100)

----------------------------------------------------------------
gtk: refresh rate fix.
cocoa: drop pre-10.12 support.
ui: rework show-cursor option.

----------------------------------------------------------------

Gerd Hoffmann (7):
  ui: add show-cursor option
  ui: wire up legacy -show-cursor option
  ui/sdl: switch to new show-cursor option
  ui/cocoa: switch to new show-cursor option
  ui/gtk: implement show-cursor option
  ui: drop curor_hide global variable.
  ui: deprecate legacy -show-cursor option

Peter Maydell (1):
  ui/cocoa: Drop workarounds for pre-10.12 OSX

Philippe Mathieu-Daudé (2):
  ui/gtk: Update gd_refresh_rate_millihz() to handle VirtualConsole
  ui/gtk: Fix gd_refresh_rate_millihz() when widget window is not
    realized

 include/sysemu/sysemu.h |  1 -
 ui/gtk.c                | 27 +++++++++++-------
 ui/sdl2.c               | 16 +++++------
 vl.c                    | 16 +++++++++--
 qapi/ui.json            |  3 ++
 qemu-deprecated.texi    |  5 ++++
 ui/cocoa.m              | 63 +++--------------------------------------
 7 files changed, 51 insertions(+), 80 deletions(-)

-- 
2.18.2



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PULL 01/10] ui/gtk: Update gd_refresh_rate_millihz() to handle VirtualConsole
  2020-02-12 16:18 [PULL 00/10] Ui 20200212 patches Gerd Hoffmann
@ 2020-02-12 16:18 ` Gerd Hoffmann
  2020-02-12 16:18 ` [PULL 02/10] ui/gtk: Fix gd_refresh_rate_millihz() when widget window is not realized Gerd Hoffmann
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2020-02-12 16:18 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, libvir-list, Markus Armbruster,
	Philippe Mathieu-Daudé,
	Gerd Hoffmann, Paolo Bonzini

From: Philippe Mathieu-Daudé <f4bug@amsat.org>

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Jan Kiszka <jan.kiszka@web.de>
Message-id: 20200208161048.11311-2-f4bug@amsat.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/gtk.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/ui/gtk.c b/ui/gtk.c
index d18892d1de61..c59297ff4d2e 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -1965,11 +1965,11 @@ static GtkWidget *gd_create_menu_machine(GtkDisplayState *s)
  * If available, return the refresh rate of the display in milli-Hertz,
  * else return 0.
  */
-static int gd_refresh_rate_millihz(GtkDisplayState *s)
+static int gd_refresh_rate_millihz(GtkWidget *window)
 {
 #ifdef GDK_VERSION_3_22
-    GdkDisplay *dpy = gtk_widget_get_display(s->window);
-    GdkWindow *win = gtk_widget_get_window(s->window);
+    GdkDisplay *dpy = gtk_widget_get_display(window);
+    GdkWindow *win = gtk_widget_get_window(window);
     GdkMonitor *monitor = gdk_display_get_monitor_at_window(dpy, win);
 
     return gdk_monitor_get_refresh_rate(monitor);
@@ -2045,7 +2045,8 @@ static GSList *gd_vc_gfx_init(GtkDisplayState *s, VirtualConsole *vc,
     vc->gfx.kbd = qkbd_state_init(con);
     vc->gfx.dcl.con = con;
 
-    refresh_rate_millihz = gd_refresh_rate_millihz(s);
+    refresh_rate_millihz = gd_refresh_rate_millihz(vc->window ?
+                                                   vc->window : s->window);
     if (refresh_rate_millihz) {
         vc->gfx.dcl.update_interval = MILLISEC_PER_SEC / refresh_rate_millihz;
     }
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PULL 02/10] ui/gtk: Fix gd_refresh_rate_millihz() when widget window is not realized
  2020-02-12 16:18 [PULL 00/10] Ui 20200212 patches Gerd Hoffmann
  2020-02-12 16:18 ` [PULL 01/10] ui/gtk: Update gd_refresh_rate_millihz() to handle VirtualConsole Gerd Hoffmann
@ 2020-02-12 16:18 ` Gerd Hoffmann
  2020-02-12 16:18 ` [PULL 03/10] ui: add show-cursor option Gerd Hoffmann
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2020-02-12 16:18 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, libvir-list, Markus Armbruster,
	Philippe Mathieu-Daudé,
	Gerd Hoffmann, Paolo Bonzini

From: Philippe Mathieu-Daudé <f4bug@amsat.org>

gtk_widget_get_window() returns NULL if the widget's window is not
realized, and QEMU crashes. Example under gtk 3.22.30 (mate 1.20.1):

  qemu-system-x86_64: Gdk: gdk_window_get_origin: assertion 'GDK_IS_WINDOW (window)' failed
  (gdb) bt
  #0  0x00007ffff496cf70 in gdk_window_get_origin () from /usr/lib64/libgdk-3.so.0
  #1  0x00007ffff49582a0 in gdk_display_get_monitor_at_window () from /usr/lib64/libgdk-3.so.0
  #2  0x0000555555bb73e2 in gd_refresh_rate_millihz (window=0x5555579d6280) at ui/gtk.c:1973
  #3  gd_vc_gfx_init (view_menu=0x5555579f0590, group=0x0, idx=0, con=<optimized out>, vc=0x5555579d4a90, s=0x5555579d49f0) at ui/gtk.c:2048
  #4  gd_create_menu_view (s=0x5555579d49f0) at ui/gtk.c:2149
  #5  gd_create_menus (s=0x5555579d49f0) at ui/gtk.c:2188
  #6  gtk_display_init (ds=<optimized out>, opts=0x55555661ed80 <dpy>) at ui/gtk.c:2256
  #7  0x000055555583d5a0 in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at vl.c:4358

Fixes: c4c00922cc and 28b58f19d2 (display/gtk: get proper refreshrate)
Reported-by: Jan Kiszka <jan.kiszka@web.de>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Jan Kiszka <jan.kiszka@web.de>
Message-id: 20200208161048.11311-3-f4bug@amsat.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/gtk.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/ui/gtk.c b/ui/gtk.c
index c59297ff4d2e..850c49bee02a 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -1968,14 +1968,16 @@ static GtkWidget *gd_create_menu_machine(GtkDisplayState *s)
 static int gd_refresh_rate_millihz(GtkWidget *window)
 {
 #ifdef GDK_VERSION_3_22
-    GdkDisplay *dpy = gtk_widget_get_display(window);
     GdkWindow *win = gtk_widget_get_window(window);
-    GdkMonitor *monitor = gdk_display_get_monitor_at_window(dpy, win);
 
-    return gdk_monitor_get_refresh_rate(monitor);
-#else
+    if (win) {
+        GdkDisplay *dpy = gtk_widget_get_display(window);
+        GdkMonitor *monitor = gdk_display_get_monitor_at_window(dpy, win);
+
+        return gdk_monitor_get_refresh_rate(monitor);
+    }
+#endif
     return 0;
-#endif
 }
 
 static GSList *gd_vc_gfx_init(GtkDisplayState *s, VirtualConsole *vc,
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PULL 03/10] ui: add show-cursor option
  2020-02-12 16:18 [PULL 00/10] Ui 20200212 patches Gerd Hoffmann
  2020-02-12 16:18 ` [PULL 01/10] ui/gtk: Update gd_refresh_rate_millihz() to handle VirtualConsole Gerd Hoffmann
  2020-02-12 16:18 ` [PULL 02/10] ui/gtk: Fix gd_refresh_rate_millihz() when widget window is not realized Gerd Hoffmann
@ 2020-02-12 16:18 ` Gerd Hoffmann
  2020-02-12 16:18 ` [PULL 04/10] ui: wire up legacy -show-cursor option Gerd Hoffmann
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2020-02-12 16:18 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, libvir-list, Markus Armbruster, Gerd Hoffmann,
	Paolo Bonzini

When enabled, this forces showing the mouse cursor,
i.e. do not hide the pointer on mouse grabs.
Defaults to off.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
 qapi/ui.json | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/qapi/ui.json b/qapi/ui.json
index e04525d8b44b..f8c803fe4328 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -1144,6 +1144,8 @@
 # @type:          Which DisplayType qemu should use.
 # @full-screen:   Start user interface in fullscreen mode (default: off).
 # @window-close:  Allow to quit qemu with window close button (default: on).
+# @show-cursor:   Force showing the mouse cursor (default: off).
+#                 (since: 5.0)
 # @gl:            Enable OpenGL support (default: off).
 #
 # Since: 2.12
@@ -1153,6 +1155,7 @@
   'base'    : { 'type'           : 'DisplayType',
                 '*full-screen'   : 'bool',
                 '*window-close'  : 'bool',
+                '*show-cursor'   : 'bool',
                 '*gl'            : 'DisplayGLMode' },
   'discriminator' : 'type',
   'data'    : { 'gtk'            : 'DisplayGTK',
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PULL 04/10] ui: wire up legacy -show-cursor option
  2020-02-12 16:18 [PULL 00/10] Ui 20200212 patches Gerd Hoffmann
                   ` (2 preceding siblings ...)
  2020-02-12 16:18 ` [PULL 03/10] ui: add show-cursor option Gerd Hoffmann
@ 2020-02-12 16:18 ` Gerd Hoffmann
  2020-02-12 16:18 ` [PULL 05/10] ui/sdl: switch to new show-cursor option Gerd Hoffmann
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2020-02-12 16:18 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, libvir-list, Markus Armbruster, Gerd Hoffmann,
	Paolo Bonzini

Set new show-cursor display option when legacy -show-cursor
is specified on the command line.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
 vl.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/vl.c b/vl.c
index 7dcb0879c497..5419b3d68200 100644
--- a/vl.c
+++ b/vl.c
@@ -3554,6 +3554,8 @@ int main(int argc, char **argv, char **envp)
                 break;
             case QEMU_OPTION_show_cursor:
                 cursor_hide = 0;
+                dpy.has_show_cursor = true;
+                dpy.show_cursor = true;
                 break;
             case QEMU_OPTION_uuid:
                 if (qemu_uuid_parse(optarg, &qemu_uuid) < 0) {
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PULL 05/10] ui/sdl: switch to new show-cursor option
  2020-02-12 16:18 [PULL 00/10] Ui 20200212 patches Gerd Hoffmann
                   ` (3 preceding siblings ...)
  2020-02-12 16:18 ` [PULL 04/10] ui: wire up legacy -show-cursor option Gerd Hoffmann
@ 2020-02-12 16:18 ` Gerd Hoffmann
  2020-02-12 16:18 ` [PULL 06/10] ui/cocoa: " Gerd Hoffmann
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2020-02-12 16:18 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, libvir-list, Markus Armbruster, Gerd Hoffmann,
	Paolo Bonzini

Use DisplayOpts settings instead of cursor_hide global variable.
Also make "-display sdl,show-cursor=on" work.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
 ui/sdl2.c | 16 ++++++++--------
 vl.c      | 10 ++++++++++
 2 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/ui/sdl2.c b/ui/sdl2.c
index 9030f1c42efb..3c9424eb42c3 100644
--- a/ui/sdl2.c
+++ b/ui/sdl2.c
@@ -161,9 +161,9 @@ static void sdl_update_caption(struct sdl2_console *scon)
     }
 }
 
-static void sdl_hide_cursor(void)
+static void sdl_hide_cursor(struct sdl2_console *scon)
 {
-    if (!cursor_hide) {
+    if (scon->opts->has_show_cursor && scon->opts->show_cursor) {
         return;
     }
 
@@ -175,9 +175,9 @@ static void sdl_hide_cursor(void)
     }
 }
 
-static void sdl_show_cursor(void)
+static void sdl_show_cursor(struct sdl2_console *scon)
 {
-    if (!cursor_hide) {
+    if (scon->opts->has_show_cursor && scon->opts->show_cursor) {
         return;
     }
 
@@ -216,7 +216,7 @@ static void sdl_grab_start(struct sdl2_console *scon)
             SDL_WarpMouseInWindow(scon->real_window, guest_x, guest_y);
         }
     } else {
-        sdl_hide_cursor();
+        sdl_hide_cursor(scon);
     }
     SDL_SetWindowGrab(scon->real_window, SDL_TRUE);
     gui_grab = 1;
@@ -227,7 +227,7 @@ static void sdl_grab_end(struct sdl2_console *scon)
 {
     SDL_SetWindowGrab(scon->real_window, SDL_FALSE);
     gui_grab = 0;
-    sdl_show_cursor();
+    sdl_show_cursor(scon);
     sdl_update_caption(scon);
 }
 
@@ -658,7 +658,7 @@ static void sdl_mouse_warp(DisplayChangeListener *dcl,
 
     if (on) {
         if (!guest_cursor) {
-            sdl_show_cursor();
+            sdl_show_cursor(scon);
         }
         if (gui_grab || qemu_input_is_absolute() || absolute_enabled) {
             SDL_SetCursor(guest_sprite);
@@ -667,7 +667,7 @@ static void sdl_mouse_warp(DisplayChangeListener *dcl,
             }
         }
     } else if (gui_grab) {
-        sdl_hide_cursor();
+        sdl_hide_cursor(scon);
     }
     guest_cursor = on;
     guest_x = x, guest_y = y;
diff --git a/vl.c b/vl.c
index 5419b3d68200..0a13cf2b1724 100644
--- a/vl.c
+++ b/vl.c
@@ -1931,6 +1931,16 @@ static void parse_display(const char *p)
                 } else {
                     goto invalid_sdl_args;
                 }
+            } else if (strstart(opts, ",show-cursor=", &nextopt)) {
+                opts = nextopt;
+                dpy.has_show_cursor = true;
+                if (strstart(opts, "on", &nextopt)) {
+                    dpy.show_cursor = true;
+                } else if (strstart(opts, "off", &nextopt)) {
+                    dpy.show_cursor = false;
+                } else {
+                    goto invalid_sdl_args;
+                }
             } else if (strstart(opts, ",gl=", &nextopt)) {
                 opts = nextopt;
                 dpy.has_gl = true;
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PULL 06/10] ui/cocoa: switch to new show-cursor option
  2020-02-12 16:18 [PULL 00/10] Ui 20200212 patches Gerd Hoffmann
                   ` (4 preceding siblings ...)
  2020-02-12 16:18 ` [PULL 05/10] ui/sdl: switch to new show-cursor option Gerd Hoffmann
@ 2020-02-12 16:18 ` Gerd Hoffmann
  2020-02-12 16:18 ` [PULL 07/10] ui/gtk: implement " Gerd Hoffmann
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2020-02-12 16:18 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, libvir-list, Markus Armbruster, Gerd Hoffmann,
	Paolo Bonzini

Use DisplayOpts settings to set the new file-global cursor_hide
variable, stop using the qemu-global cursor_hide variable.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
 ui/cocoa.m | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/ui/cocoa.m b/ui/cocoa.m
index fbb5b1b45f81..f7b323044582 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -125,6 +125,7 @@ typedef struct {
 NSWindow *normalWindow, *about_window;
 static DisplayChangeListener *dcl;
 static int last_buttons;
+static int cursor_hide = 1;
 
 int gArgc;
 char **gArgv;
@@ -1918,6 +1919,9 @@ static void cocoa_display_init(DisplayState *ds, DisplayOptions *opts)
             [(QemuCocoaAppController *)[[NSApplication sharedApplication] delegate] toggleFullScreen: nil];
         });
     }
+    if (opts->has_show_cursor && opts->show_cursor) {
+        cursor_hide = 0;
+    }
 
     dcl = g_malloc0(sizeof(DisplayChangeListener));
 
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PULL 07/10] ui/gtk: implement show-cursor option
  2020-02-12 16:18 [PULL 00/10] Ui 20200212 patches Gerd Hoffmann
                   ` (5 preceding siblings ...)
  2020-02-12 16:18 ` [PULL 06/10] ui/cocoa: " Gerd Hoffmann
@ 2020-02-12 16:18 ` Gerd Hoffmann
  2020-02-12 16:18 ` [PULL 08/10] ui: drop curor_hide global variable Gerd Hoffmann
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2020-02-12 16:18 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, libvir-list, Markus Armbruster, Gerd Hoffmann,
	Paolo Bonzini

When specified just set null_cursor to NULL so we get the default
pointer instead of a blank pointer.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
 ui/gtk.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/ui/gtk.c b/ui/gtk.c
index 850c49bee02a..f3f0af8921d9 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -2246,8 +2246,12 @@ static void gtk_display_init(DisplayState *ds, DisplayOptions *opts)
     textdomain("qemu");
 
     window_display = gtk_widget_get_display(s->window);
-    s->null_cursor = gdk_cursor_new_for_display(window_display,
-                                                GDK_BLANK_CURSOR);
+    if (s->opts->has_show_cursor && s->opts->show_cursor) {
+        s->null_cursor = NULL; /* default pointer */
+    } else {
+        s->null_cursor = gdk_cursor_new_for_display(window_display,
+                                                    GDK_BLANK_CURSOR);
+    }
 
     s->mouse_mode_notifier.notify = gd_mouse_mode_change;
     qemu_add_mouse_mode_change_notifier(&s->mouse_mode_notifier);
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PULL 08/10] ui: drop curor_hide global variable.
  2020-02-12 16:18 [PULL 00/10] Ui 20200212 patches Gerd Hoffmann
                   ` (6 preceding siblings ...)
  2020-02-12 16:18 ` [PULL 07/10] ui/gtk: implement " Gerd Hoffmann
@ 2020-02-12 16:18 ` Gerd Hoffmann
  2020-02-12 16:18 ` [PULL 09/10] ui: deprecate legacy -show-cursor option Gerd Hoffmann
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2020-02-12 16:18 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, libvir-list, Markus Armbruster, Gerd Hoffmann,
	Paolo Bonzini

No users left.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
 include/sysemu/sysemu.h | 1 -
 vl.c                    | 2 --
 2 files changed, 3 deletions(-)

diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index 6358a324a711..7956e9054ade 100644
--- a/include/sysemu/sysemu.h
+++ b/include/sysemu/sysemu.h
@@ -41,7 +41,6 @@ extern const char *keyboard_layout;
 extern int win2k_install_hack;
 extern int alt_grab;
 extern int ctrl_grab;
-extern int cursor_hide;
 extern int graphic_rotate;
 extern int no_shutdown;
 extern int old_param;
diff --git a/vl.c b/vl.c
index 0a13cf2b1724..62efcd15c0bf 100644
--- a/vl.c
+++ b/vl.c
@@ -168,7 +168,6 @@ int no_hpet = 0;
 int fd_bootchk = 1;
 static int no_reboot;
 int no_shutdown = 0;
-int cursor_hide = 1;
 int graphic_rotate = 0;
 const char *watchdog;
 QEMUOptionRom option_rom[MAX_OPTION_ROMS];
@@ -3563,7 +3562,6 @@ int main(int argc, char **argv, char **envp)
                 no_shutdown = 1;
                 break;
             case QEMU_OPTION_show_cursor:
-                cursor_hide = 0;
                 dpy.has_show_cursor = true;
                 dpy.show_cursor = true;
                 break;
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PULL 09/10] ui: deprecate legacy -show-cursor option
  2020-02-12 16:18 [PULL 00/10] Ui 20200212 patches Gerd Hoffmann
                   ` (7 preceding siblings ...)
  2020-02-12 16:18 ` [PULL 08/10] ui: drop curor_hide global variable Gerd Hoffmann
@ 2020-02-12 16:18 ` Gerd Hoffmann
  2020-02-12 16:18 ` [PULL 10/10] ui/cocoa: Drop workarounds for pre-10.12 OSX Gerd Hoffmann
  2020-02-13 13:40 ` [PULL 00/10] Ui 20200212 patches Peter Maydell
  10 siblings, 0 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2020-02-12 16:18 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, libvir-list, Markus Armbruster, Gerd Hoffmann,
	Paolo Bonzini

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
 vl.c                 | 2 ++
 qemu-deprecated.texi | 5 +++++
 2 files changed, 7 insertions(+)

diff --git a/vl.c b/vl.c
index 62efcd15c0bf..001be469c2e9 100644
--- a/vl.c
+++ b/vl.c
@@ -3562,6 +3562,8 @@ int main(int argc, char **argv, char **envp)
                 no_shutdown = 1;
                 break;
             case QEMU_OPTION_show_cursor:
+                warn_report("The -show-cursor option is deprecated, "
+                            "use -display {sdl,gtk},show-cursor=on instead");
                 dpy.has_show_cursor = true;
                 dpy.show_cursor = true;
                 break;
diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
index 017b750ca8e2..0671c26c806e 100644
--- a/qemu-deprecated.texi
+++ b/qemu-deprecated.texi
@@ -148,6 +148,11 @@ QEMU 5.0 introduced an alternative syntax to specify the size of the translation
 block cache, @option{-accel tcg,tb-size=}.  The new syntax deprecates the
 previously available @option{-tb-size} option.
 
+@subsection -show-cursor option (since 5.0)
+
+Use @option{-display sdl,show-cursor=on} or
+ @option{-display gtk,show-cursor=on} instead.
+
 @section QEMU Machine Protocol (QMP) commands
 
 @subsection change (since 2.5.0)
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PULL 10/10] ui/cocoa: Drop workarounds for pre-10.12 OSX
  2020-02-12 16:18 [PULL 00/10] Ui 20200212 patches Gerd Hoffmann
                   ` (8 preceding siblings ...)
  2020-02-12 16:18 ` [PULL 09/10] ui: deprecate legacy -show-cursor option Gerd Hoffmann
@ 2020-02-12 16:18 ` Gerd Hoffmann
  2020-02-13 13:40 ` [PULL 00/10] Ui 20200212 patches Peter Maydell
  10 siblings, 0 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2020-02-12 16:18 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, libvir-list, Markus Armbruster, Gerd Hoffmann,
	Paolo Bonzini

From: Peter Maydell <peter.maydell@linaro.org>

Our official OSX support policy covers the last two released versions.
Currently that is 10.14 and 10.15.  We also may work on older versions, but
don't guarantee it.

In commit 50290c002c045280f8d in mid-2019 we introduced some uses of
CLOCK_MONOTONIC which incidentally broke compilation for pre-10.12 OSX
versions (see LP:1861551). We don't intend to fix that, so we might
as well drop the code in ui/cocoa.m which caters for pre-10.12
versions as well. (For reference, 10.11 fell out of Apple extended
security support in September 2018.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200201170534.22123-1-peter.maydell@linaro.org>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/cocoa.m | 59 ------------------------------------------------------
 1 file changed, 59 deletions(-)

diff --git a/ui/cocoa.m b/ui/cocoa.m
index f7b323044582..747a70839af8 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -42,60 +42,10 @@
 #include <Carbon/Carbon.h>
 #include "hw/core/cpu.h"
 
-#ifndef MAC_OS_X_VERSION_10_5
-#define MAC_OS_X_VERSION_10_5 1050
-#endif
-#ifndef MAC_OS_X_VERSION_10_6
-#define MAC_OS_X_VERSION_10_6 1060
-#endif
-#ifndef MAC_OS_X_VERSION_10_9
-#define MAC_OS_X_VERSION_10_9 1090
-#endif
-#ifndef MAC_OS_X_VERSION_10_10
-#define MAC_OS_X_VERSION_10_10 101000
-#endif
-#ifndef MAC_OS_X_VERSION_10_12
-#define MAC_OS_X_VERSION_10_12 101200
-#endif
 #ifndef MAC_OS_X_VERSION_10_13
 #define MAC_OS_X_VERSION_10_13 101300
 #endif
 
-/* macOS 10.12 deprecated many constants, #define the new names for older SDKs */
-#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12
-#define NSEventMaskAny                  NSAnyEventMask
-#define NSEventModifierFlagCapsLock     NSAlphaShiftKeyMask
-#define NSEventModifierFlagShift        NSShiftKeyMask
-#define NSEventModifierFlagCommand      NSCommandKeyMask
-#define NSEventModifierFlagControl      NSControlKeyMask
-#define NSEventModifierFlagOption       NSAlternateKeyMask
-#define NSEventTypeFlagsChanged         NSFlagsChanged
-#define NSEventTypeKeyUp                NSKeyUp
-#define NSEventTypeKeyDown              NSKeyDown
-#define NSEventTypeMouseMoved           NSMouseMoved
-#define NSEventTypeLeftMouseDown        NSLeftMouseDown
-#define NSEventTypeRightMouseDown       NSRightMouseDown
-#define NSEventTypeOtherMouseDown       NSOtherMouseDown
-#define NSEventTypeLeftMouseDragged     NSLeftMouseDragged
-#define NSEventTypeRightMouseDragged    NSRightMouseDragged
-#define NSEventTypeOtherMouseDragged    NSOtherMouseDragged
-#define NSEventTypeLeftMouseUp          NSLeftMouseUp
-#define NSEventTypeRightMouseUp         NSRightMouseUp
-#define NSEventTypeOtherMouseUp         NSOtherMouseUp
-#define NSEventTypeScrollWheel          NSScrollWheel
-#define NSTextAlignmentCenter           NSCenterTextAlignment
-#define NSWindowStyleMaskBorderless     NSBorderlessWindowMask
-#define NSWindowStyleMaskClosable       NSClosableWindowMask
-#define NSWindowStyleMaskMiniaturizable NSMiniaturizableWindowMask
-#define NSWindowStyleMaskTitled         NSTitledWindowMask
-#endif
-/* 10.13 deprecates NSFileHandlingPanelOKButton in favour of
- * NSModalResponseOK, which was introduced in 10.9. Define
- * it for older versions.
- */
-#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_9
-#define NSModalResponseOK NSFileHandlingPanelOKButton
-#endif
 /* 10.14 deprecates NSOnState and NSOffState in favor of
  * NSControlStateValueOn/Off, which were introduced in 10.13.
  * Define for older versions
@@ -466,11 +416,7 @@ QemuCocoaView *cocoaView;
     COCOA_DEBUG("QemuCocoaView: drawRect\n");
 
     // get CoreGraphic context
-#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10
-    CGContextRef viewContextRef = [[NSGraphicsContext currentContext] graphicsPort];
-#else
     CGContextRef viewContextRef = [[NSGraphicsContext currentContext] CGContext];
-#endif
 
     CGContextSetInterpolationQuality (viewContextRef, kCGInterpolationNone);
     CGContextSetShouldAntialias (viewContextRef, NO);
@@ -1076,9 +1022,7 @@ QemuCocoaView *cocoaView;
  ------------------------------------------------------
 */
 @interface QemuCocoaAppController : NSObject
-#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
                                        <NSWindowDelegate, NSApplicationDelegate>
-#endif
 {
 }
 - (void)doToggleFullScreen:(id)sender;
@@ -1127,9 +1071,6 @@ QemuCocoaView *cocoaView;
         [normalWindow setAcceptsMouseMovedEvents:YES];
         [normalWindow setTitle:@"QEMU"];
         [normalWindow setContentView:cocoaView];
-#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10)
-        [normalWindow useOptimizedDrawing:YES];
-#endif
         [normalWindow makeKeyAndOrderFront:self];
         [normalWindow center];
         [normalWindow setDelegate: self];
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PULL 00/10] Ui 20200212 patches
  2020-02-12 16:18 [PULL 00/10] Ui 20200212 patches Gerd Hoffmann
                   ` (9 preceding siblings ...)
  2020-02-12 16:18 ` [PULL 10/10] ui/cocoa: Drop workarounds for pre-10.12 OSX Gerd Hoffmann
@ 2020-02-13 13:40 ` Peter Maydell
  10 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2020-02-13 13:40 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Libvirt, Paolo Bonzini, QEMU Developers, Markus Armbruster

On Wed, 12 Feb 2020 at 16:18, Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> The following changes since commit e18e5501d8ac692d32657a3e1ef545b14e72b730:
>
>   Merge remote-tracking branch 'remotes/dgilbert-gitlab/tags/pull-virtiofs-20200210' into staging (2020-02-10 18:09:14 +0000)
>
> are available in the Git repository at:
>
>   git://git.kraxel.org/qemu tags/ui-20200212-pull-request
>
> for you to fetch changes up to 483644c25b932360018d15818d8bcd8c85ba70b8:
>
>   ui/cocoa: Drop workarounds for pre-10.12 OSX (2020-02-12 13:27:08 +0100)
>
> ----------------------------------------------------------------
> gtk: refresh rate fix.
> cocoa: drop pre-10.12 support.
> ui: rework show-cursor option.
>


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/5.0
for any user-visible changes.

-- PMM


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2020-02-13 13:41 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-12 16:18 [PULL 00/10] Ui 20200212 patches Gerd Hoffmann
2020-02-12 16:18 ` [PULL 01/10] ui/gtk: Update gd_refresh_rate_millihz() to handle VirtualConsole Gerd Hoffmann
2020-02-12 16:18 ` [PULL 02/10] ui/gtk: Fix gd_refresh_rate_millihz() when widget window is not realized Gerd Hoffmann
2020-02-12 16:18 ` [PULL 03/10] ui: add show-cursor option Gerd Hoffmann
2020-02-12 16:18 ` [PULL 04/10] ui: wire up legacy -show-cursor option Gerd Hoffmann
2020-02-12 16:18 ` [PULL 05/10] ui/sdl: switch to new show-cursor option Gerd Hoffmann
2020-02-12 16:18 ` [PULL 06/10] ui/cocoa: " Gerd Hoffmann
2020-02-12 16:18 ` [PULL 07/10] ui/gtk: implement " Gerd Hoffmann
2020-02-12 16:18 ` [PULL 08/10] ui: drop curor_hide global variable Gerd Hoffmann
2020-02-12 16:18 ` [PULL 09/10] ui: deprecate legacy -show-cursor option Gerd Hoffmann
2020-02-12 16:18 ` [PULL 10/10] ui/cocoa: Drop workarounds for pre-10.12 OSX Gerd Hoffmann
2020-02-13 13:40 ` [PULL 00/10] Ui 20200212 patches Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.