qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Fixes several full screen issues on Mac OS X


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH] Fixes several full screen issues on Mac OS X
Date: Wed, 14 Jan 2015 18:29:27 +0000

On 14 January 2015 at 18:18, Programmingkid <address@hidden> wrote:
>
> On Jan 14, 2015, at 12:19 PM, Peter Maydell wrote:
>> (2) Having done this I find that all my other application windows
>> have been squashed down into a corner of my screen, presumably because
>> we've told MacOSX "the screen is 640x480" and it's rearranged the
>> app windows to suit. We mustn't mess things up like this.
>
> This can't be avoided. When the screen resolution changes, all the
> applications usually adjust to the new size. It is the same thing
> that happens when you use a full screen game.

No, when I use other full screen programs this doesn't happen at all.
QEMU with this patch is the first time I've ever seen this from
any OSX app.

>> (3) I managed to get at the underlying "QEMU" window with its title
>> bar somehow even when in full screen mode: I could move it about the
>> screen with the mouse...
>
> Really? I think you said you had Mac OS 10.7. I don't have that, but
> I do have access to Mac OS 10.9. Just send me the instructions on how
> to reproduce this.

I run 10.9.5. I don't know exactly how I got to that window,
and I don't really want to mess about with this patch because
behaviour (2) above is so obnoxious.

>> (4) I get a lot of compile warnings for this patch:
>>

> Disabling the depreciation warning would eliminate these errors.

Not all of them are deprecation warnings. Also I would prefer not
to disable deprecation warnings, as then we'll have no notice
of what might break on future OSX versions.

>>>     int w = surface_width(surface);
>>>     int h = surface_height(surface);
>>> -    /* 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);
>>> -
>>> +    bool isResize = (w != screen.width || h != screen.height);
>>
>> (6) This looks like you've just dropped a bug fix. How are you
>> dealing with this case if not by the method described in the
>> now-deleted comment?
>
> If the guest does change its resolution, then we try to match it
> in the host. When I eliminated this code, it made the guest look
> so much better. I was actually able to read documents in the guest
> at full screen.

The point is that you've dropped a bugfix which isn't related to
full screen at all -- if this is the first call to switchSurface
we *must* display it, which is what the cdx check does. See
commit 381600dad.

-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]