[gnome-shell/wip/snwh/more-papercut-fixes: 1/2] boxpointer: Make drawing arrow background optional




commit 60fb00fa78c687bb312e168e093888f1ce9aa919
Author: Florian Müllner <fmuellner gnome org>
Date:   Sat Feb 12 16:58:06 2022 +0100

    boxpointer: Make drawing arrow background optional
    
    We currently use get_color(), which assumes the color exists in the
    stylesheet (and prints a warning if it doesn't).
    
    Switch to lookup_color() and skip filling the background if no
    such colors exits.

 js/ui/boxpointer.js | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/js/ui/boxpointer.js b/js/ui/boxpointer.js
index 1db8e56afb..b3b98f83a0 100644
--- a/js/ui/boxpointer.js
+++ b/js/ui/boxpointer.js
@@ -278,8 +278,6 @@ var BoxPointer = GObject.registerClass({
         let halfBorder = borderWidth / 2;
         let halfBase = Math.floor(base / 2);
 
-        let backgroundColor = themeNode.get_color('-arrow-background-color');
-
         let [width, height] = area.get_surface_size();
         let [boxWidth, boxHeight] = [width, height];
         if (this._arrowSide == St.Side.TOP || this._arrowSide == St.Side.BOTTOM)
@@ -422,8 +420,12 @@ var BoxPointer = GObject.registerClass({
                    Math.PI, 3 * Math.PI / 2);
         }
 
-        Clutter.cairo_set_source_color(cr, backgroundColor);
-        cr.fillPreserve();
+        const [hasColor, bgColor] =
+            themeNode.lookup_color('-arrow-background-color', false);
+        if (hasColor) {
+            Clutter.cairo_set_source_color(cr, bgColor);
+            cr.fillPreserve();
+        }
 
         if (borderWidth > 0) {
             let borderColor = themeNode.get_color('-arrow-border-color');


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