windowManager: Handle fullscreening from zero sized windows

Wayland clients can request their surfaces to be fullscreened before
commiting a buffer which means that we need to handle fullscreen
requests for which the old size is 0x0, preferably without warnings.

Since the mapping animation also runs for these windows, we can simply
bail out and ignore the fullscreen size change.

https://bugzilla.gnome.org/show_bug.cgi?id=770345
This commit is contained in:
Rui Matos 2016-11-23 15:35:03 +01:00
parent 7bc1d57ad7
commit 3d6bf43649

View File

@ -1256,8 +1256,9 @@ const WindowManager = new Lang.Class({
return; return;
} }
if (whichChange == Meta.SizeChange.FULLSCREEN || if ((whichChange == Meta.SizeChange.FULLSCREEN ||
whichChange == Meta.SizeChange.UNFULLSCREEN) whichChange == Meta.SizeChange.UNFULLSCREEN) &&
oldFrameRect.width > 0 && oldFrameRect.height > 0)
this._fullscreenAnimation(shellwm, actor, oldFrameRect, whichChange); this._fullscreenAnimation(shellwm, actor, oldFrameRect, whichChange);
else else
shellwm.completed_size_change(actor); shellwm.completed_size_change(actor);