animation: Reload sliced texture on global scale change

When the scale has changed we need to reload the texture at proper size.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/5
This commit is contained in:
Marco Trevisan (Treviño) 2019-02-27 02:08:26 +01:00 committed by Jonas Ådahl
parent b6ec02cef2
commit 9e881ab637

View File

@ -18,6 +18,10 @@ var Animation = class {
this.actor.connect('resource-scale-changed', this.actor.connect('resource-scale-changed',
this._loadFile.bind(this, file, width, height)); this._loadFile.bind(this, file, width, height));
let themeContext = St.ThemeContext.get_for_stage(global.stage);
this._scaleChangedId = themeContext.connect('notify::scale-factor',
this._loadFile.bind(this, file, width, height));
this._speed = speed; this._speed = speed;
this._isLoaded = false; this._isLoaded = false;
@ -104,6 +108,11 @@ var Animation = class {
_onDestroy() { _onDestroy() {
this.stop(); this.stop();
let themeContext = St.ThemeContext.get_for_stage(global.stage);
if (this._scaleChangedId)
themeContext.disconnect(this._scaleChangedId);
this._scaleChangedId = 0;
} }
}; };