[gnome-shell] iconGrid: Keep icons reactive during pulse animation
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] iconGrid: Keep icons reactive during pulse animation
- Date: Tue, 30 Oct 2018 19:29:42 +0000 (UTC)
commit 1acdff822ae15551f9721889ce5bce2cdce0b091
Author: Daniel van Vugt <daniel van vugt canonical com>
Date: Fri Oct 12 12:00:31 2018 +0800
iconGrid: Keep icons reactive during pulse animation
The `reactive` property of icon actors was being restored multiple times
over the course of the pulse animation, all at slightly different times
as each icon finished animating at different times.
The problem is that toggling `reactive` on an `StWidget` incurs a style
change of the `insensitive` pseudo class, and style changes would quickly
queue relayouts incurring full stage reallocation. This occurred many times
during a pulse animation, limiting its smoothness and performance.
The solution is to not toggle the `reactive` property in the pulse
animation at all, which avoids incurring multiple full stage relayouts.
As a bonus, this means the icon under the cursor pulses with the correct
selection highlight, appearing more seamless and responsive.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/261
js/ui/iconGrid.js | 2 --
1 file changed, 2 deletions(-)
---
diff --git a/js/ui/iconGrid.js b/js/ui/iconGrid.js
index 5aff02784..94387a333 100644
--- a/js/ui/iconGrid.js
+++ b/js/ui/iconGrid.js
@@ -469,7 +469,6 @@ var IconGrid = new Lang.Class({
for (let index = 0; index < actors.length; index++) {
let actor = actors[index];
- actor.reactive = false;
actor.set_scale(0, 0);
actor.set_pivot_point(0.5, 0.5);
@@ -491,7 +490,6 @@ var IconGrid = new Lang.Class({
onComplete: () => {
if (isLastItem)
this._animationDone();
- actor.reactive = true;
}
});
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]