[gnome-shell/wip/fmuellner/scale-avatars: 5/5] userWidget: Fix avatar size



commit 026f685ccc48680909c10bf2b344457a7e7e69d8
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu Mar 7 13:39:17 2019 +0100

    userWidget: Fix avatar size
    
    The texture cache now returns an actor with an appropriate ClutterContent
    rather than a ClutterTexture. That actor uses the CONTENT_SIZE request
    mode, which means that it will unconditionally request the preferred size
    of the content. That is, setting an explicit size no longer has an effect.
    
    Fix this by making sure the image is already loaded with the desired
    dimensions.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/issues/1024

 js/ui/userWidget.js | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/js/ui/userWidget.js b/js/ui/userWidget.js
index a3bf4cba1..a11b34b02 100644
--- a/js/ui/userWidget.js
+++ b/js/ui/userWidget.js
@@ -46,15 +46,14 @@ var Avatar = class {
         if (iconFile) {
             let file = Gio.File.new_for_path(iconFile);
             this.actor.child = null;
-            this.actor.style = 'background-image: url("%s");'.format(iconFile);
+            this.actor.style = `
+                background-image: url("${iconFile}");
+                background-size: ${this._iconSize}px`;
         } else {
             this.actor.style = null;
             this.actor.child = new St.Icon({ icon_name: 'avatar-default-symbolic',
                                              icon_size: this._iconSize });
         }
-
-        let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
-        this.actor.set_size(this._iconSize * scaleFactor, this._iconSize * scaleFactor);
     }
 };
 


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