Revert "js/ui: Use Clutter.OffscreenRedirect.ON_IDLE"

This reverts commit c0c027c608. Because for
some reason animating external opacity and position is still incurring
internal repaints, which disables offscreening and makes fading of
overlapping actors look wrong. `ON_IDLE` should be fixed in mutter before
it is used (in boxpointer at least) again.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/2270
This commit is contained in:
Daniel van Vugt 2020-02-26 11:53:40 +08:00
parent 9a3ed0056e
commit c773c8c162
5 changed files with 5 additions and 5 deletions

View File

@ -33,7 +33,7 @@ var BoxPointer = GObject.registerClass({
_init(arrowSide, binProperties) {
super._init();
this.set_offscreen_redirect(Clutter.OffscreenRedirect.ON_IDLE);
this.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
this._arrowSide = arrowSide;
this._userArrowSide = arrowSide;

View File

@ -353,7 +353,7 @@ var Dash = GObject.registerClass({
clip_to_allocation: true });
this._box._delegate = this;
this._container.add_actor(this._box);
this._container.set_offscreen_redirect(Clutter.OffscreenRedirect.ON_IDLE);
this._container.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
this._showAppsIcon = new ShowAppsIcon();
this._showAppsIcon.show(false);

View File

@ -108,7 +108,7 @@ class OverviewActor extends St.BoxLayout {
track_hover: true,
can_focus: true,
});
this._searchEntry.set_offscreen_redirect(Clutter.OffscreenRedirect.ON_IDLE);
this._searchEntry.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
let searchEntryBin = new St.Bin({
child: this._searchEntry,
x_align: Clutter.ActorAlign.CENTER,

View File

@ -794,7 +794,7 @@ class Panel extends St.Widget {
super._init({ name: 'panel',
reactive: true });
this.set_offscreen_redirect(Clutter.OffscreenRedirect.ON_IDLE);
this.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
this._sessionStyle = null;

View File

@ -1256,7 +1256,7 @@ var WindowManager = class {
// while actor updates are frozen.
let actorContent = Shell.util_get_content_for_window_actor(actor, oldFrameRect);
let actorClone = new St.Widget({ content: actorContent });
actorClone.set_offscreen_redirect(Clutter.OffscreenRedirect.ON_IDLE);
actorClone.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
actorClone.set_position(oldFrameRect.x, oldFrameRect.y);
actorClone.set_size(oldFrameRect.width, oldFrameRect.height);
Main.uiGroup.add_actor(actorClone);