]> xenbits.xensource.com Git - qemu-upstream-4.5-testing.git/commitdiff
ui/cocoa: Draw black rectangle if we have no data yet
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 24 Dec 2013 02:51:47 +0000 (02:51 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Sun, 12 Jan 2014 22:27:10 +0000 (22:27 +0000)
If our redraw method is called before we have any data from the guest,
then draw a black rectangle rather than leaving the window empty.
This mostly only matters when the guest machine has no framebuffer
device, but it is more in line with the behaviour of other QEMU UIs.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1387853507-26298-3-git-send-email-peter.maydell@linaro.org

ui/cocoa.m

index 6a1f6b69899cba075c0ebfc596bd8ea14511af17..22ec29be839d59789332e5080695b824b376832a 100644 (file)
@@ -321,7 +321,12 @@ QemuCocoaView *cocoaView;
     CGContextSetShouldAntialias (viewContextRef, NO);
 
     // draw screen bitmap directly to Core Graphics context
-    if (dataProviderRef) {
+    if (!dataProviderRef) {
+        // Draw request before any guest device has set up a framebuffer:
+        // just draw an opaque black rectangle
+        CGContextSetRGBFillColor(viewContextRef, 0, 0, 0, 1.0);
+        CGContextFillRect(viewContextRef, NSRectToCGRect(rect));
+    } else {
         CGImageRef imageRef = CGImageCreate(
             screen.width, //width
             screen.height, //height