[gnome-shell] iconGrid: Bail out of getRowPadding early if we'll return 0



commit 7a5650d8682860bc40d3679e3752e5fccc876661
Author: Jonas Dreßler <verdre v0yd nl>
Date:   Wed Feb 24 12:06:19 2021 +0100

    iconGrid: Bail out of getRowPadding early if we'll return 0
    
    This gets our time spent in vfunc_allocate() down again by ~0.1 ms from
    1.4 ms to 1.3 ms.
    
    Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1713>

 js/ui/iconGrid.js | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)
---
diff --git a/js/ui/iconGrid.js b/js/ui/iconGrid.js
index 27ffd733e0..8f6b547019 100644
--- a/js/ui/iconGrid.js
+++ b/js/ui/iconGrid.js
@@ -663,6 +663,10 @@ var IconGridLayout = GObject.registerClass({
     }
 
     _getRowPadding(items, itemIndex, childSize, spacing) {
+        if (this.lastRowAlign === Clutter.ActorAlign.START ||
+            this.lastRowAlign === Clutter.ActorAlign.FILL)
+            return 0;
+
         const nRows = Math.ceil(items.length / this.columnsPerPage);
 
         let rowAlign = 0;
@@ -682,18 +686,13 @@ var IconGridLayout = GObject.registerClass({
             Clutter.get_default_text_direction() === Clutter.TextDirection.RTL;
 
         switch (this.lastRowAlign) {
-        case Clutter.ActorAlign.START:
-            rowAlign = 0;
-            break;
         case Clutter.ActorAlign.CENTER:
             rowAlign = availableWidth / 2;
             break;
         case Clutter.ActorAlign.END:
             rowAlign = availableWidth;
             break;
-        case Clutter.ActorAlign.FILL:
-            rowAlign = 0;
-            break;
+        // START and FILL align are handled at the beginning of the function
         }
 
         return isRtl ? rowAlign * -1 : rowAlign;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]