[vlc-devel] [PATCH 0/1] qt: prevent setMinimalView() from sizing incorrectly on fullscreen exit

Rémi Denis-Courmont remi at remlab.net
Sat Mar 19 16:12:01 CET 2016


Le 2016-03-19 04:50, Darrell Walisser a écrit :
> On Fri, Mar 18, 2016 at 9:14 PM, Rémi Denis-Courmont <remi at remlab.net
> [1]> wrote:
>
>> Le 2016-03-19 01:08, Darrell Walisser a écrit :
>>
>>> It is tricky to determine when the fullscreen switch is complete,
>>
>> Kind of repeating myself, but you shouldnt second guess the
>> windowing system. Youll have all sorts of races, bugs and platform
>> variability if you do that. You should just look at the fullscreen
>> state boolean, which is not hard.
>
> There is no fullscreen state boolean in the windowing system,

There is.

> and if
> there is, Qt is not exposing it. A fullscreen window from its
> perspective, is window that happens to be borderless,

That's up to the window manager.

> the same size as the screen its on, positioned at 0,0,

No. Size and position can very well be different from screen size and 
0,0 respectively. It depends on the setup of the virtual desktop and 
display ports. Again, that's all up to the window manager.

> and is layered above all the
> other windows.

No. Stacking is orthogonal to fullscreen.

> At what point all those things come together to make
> the window "fullscreen" is indeterminate because there is no single
> event supplied for that.

I utterly fail to see why you should even care for reasons already 
outlined. But there IS an X11 event, and most probably there are events 
in other systems.

> There is a state boolean that Qt manages (isFullScreen()), but it
> lies. It will tell you the window is fullscreen before it is has been
> resized, and moved to 0,0, etc.

There is no such thing as lying or not lying here. This is 
intrinsically asynchronous. That's the whole point.

-- 
Rémi Denis-Courmont
http://www.remlab.net/


More information about the vlc-devel mailing list