]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
cocoa: use DisplayOptions
authorGerd Hoffmann <kraxel@redhat.com>
Fri, 2 Feb 2018 11:10:19 +0000 (12:10 +0100)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 20 Feb 2018 11:12:04 +0000 (12:12 +0100)
Switch cocoa ui to use qapi DisplayOptions for configuration.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20180202111022.19269-10-kraxel@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
include/ui/console.h
qapi/ui.json
ui/cocoa.m
vl.c

index 65ed6ddca677290011df3b6d132b86a857ee5ca5..e6b1227befd79b00751094b4282e39c24dc8ae7d 100644 (file)
@@ -450,9 +450,9 @@ static inline void sdl_display_init(DisplayState *ds, DisplayOptions *opts)
 
 /* cocoa.m */
 #ifdef CONFIG_COCOA
-void cocoa_display_init(DisplayState *ds, int full_screen);
+void cocoa_display_init(DisplayState *ds, DisplayOptions *opts);
 #else
-static inline void cocoa_display_init(DisplayState *ds, int full_screen)
+static inline void cocoa_display_init(DisplayState *ds, DisplayOptions *opts)
 {
     /* This must never be called if CONFIG_COCOA is disabled */
     error_report("Cocoa support is disabled");
index 11aad8b496e6b5e7ed3e3ccdf09baec3dd8b6bd6..398baa9698df0577603cdb0e2793e17cd57a5b14 100644 (file)
 #
 ##
 { 'enum'    : 'DisplayType',
-  'data'    : [ 'none', 'gtk', 'sdl', 'egl-headless', 'curses' ] }
+  'data'    : [ 'none', 'gtk', 'sdl',
+                'egl-headless', 'curses', 'cocoa' ] }
 
 ##
 # @DisplayOptions:
                 'gtk'            : 'DisplayGTK',
                 'sdl'            : 'DisplayNoOpts',
                 'egl-headless'   : 'DisplayNoOpts',
-                'curses'         : 'DisplayNoOpts' } }
+                'curses'         : 'DisplayNoOpts',
+                'cocoa'          : 'DisplayNoOpts' } }
index 51db47cd71bcbb43d0d6fa43b3daf0347662985e..90d9aa57eab75185182fa59751bc1891c22937bc 100644 (file)
@@ -1683,12 +1683,12 @@ static void addRemovableDevicesMenuItems(void)
     qapi_free_BlockInfoList(pointerToFree);
 }
 
-void cocoa_display_init(DisplayState *ds, int full_screen)
+void cocoa_display_init(DisplayState *ds, DisplayOptions *opts)
 {
     COCOA_DEBUG("qemu_cocoa: cocoa_display_init\n");
 
     /* if fullscreen mode is to be used */
-    if (full_screen == true) {
+    if (opts->has_full_screen && opts->full_screen) {
         [NSApp activateIgnoringOtherApps: YES];
         [(QemuCocoaAppController *)[[NSApplication sharedApplication] delegate] toggleFullScreen: nil];
     }
diff --git a/vl.c b/vl.c
index 3752ebec49237da28b18b395bb00f236d85f28e9..2dd00e00d9fd2e2beede442b1f4d439eece68e08 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -4344,6 +4344,7 @@ int main(int argc, char **argv, char **envp)
         dpy.type = DISPLAY_TYPE_SDL;
 #elif defined(CONFIG_COCOA)
         display_type = DT_COCOA;
+        dpy.type = DISPLAY_TYPE_COCOA;
 #elif defined(CONFIG_VNC)
         vnc_parse("localhost:0,to=99,id=default", &error_abort);
 #else
@@ -4705,7 +4706,7 @@ int main(int argc, char **argv, char **envp)
         sdl_display_init(ds, &dpy);
         break;
     case DT_COCOA:
-        cocoa_display_init(ds, full_screen);
+        cocoa_display_init(ds, &dpy);
         break;
     case DT_GTK:
         gtk_display_init(ds, &dpy);