ui/cocoa: Cope with first surface being same as initial window size

Do the recalculation of the content dimensions in switchSurface if the
current cdx is zero as well as if the new surface is a different size to
the current window. This catches the case where the first surface registered
happens to be 640x480 (our current window size), and fixes a bug where we
would always display a black screen until the first surface of a different
size was registered.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1403516125-14568-2-git-send-email-peter.maydell@linaro.org
This commit is contained in:
Peter Maydell 2014-06-23 10:35:22 +01:00
parent 9328cfd2fe
commit 381600dad9
1 changed files with 5 additions and 1 deletions

View File

@ -404,7 +404,11 @@ QemuCocoaView *cocoaView;
int w = surface_width(surface);
int h = surface_height(surface);
bool isResize = (w != screen.width || h != screen.height);
/* cdx == 0 means this is our very first surface, in which case we need
* to recalculate the content dimensions even if it happens to be the size
* of the initial empty window.
*/
bool isResize = (w != screen.width || h != screen.height || cdx == 0.0);
int oldh = screen.height;
if (isResize) {