Lagrange [work/v1.15]

Apply UI scaling factor changes to all windows

=> d6fea09aad6b4972a3e00616598459ed91fb697d

diff --git a/src/app.c b/src/app.c
index 5563593a..3c6014fa 100644
--- a/src/app.c
+++ b/src/app.c
@@ -2655,8 +2655,13 @@ static void updateImageStyleButton_(iLabelWidget *button, int style) {
 static iBool handlePrefsCommands_(iWidget *d, const char *cmd) {
     if (equal_Command(cmd, "prefs.dismiss") || equal_Command(cmd, "preferences")) {
         setupSheetTransition_Mobile(d, iFalse);
-        setUiScale_Window(get_Window(),
-                          toFloat_String(text_InputWidget(findChild_Widget(d, "prefs.uiscale"))));
+        /* Apply the new UI scaling factor to all non-popup windows. */ {
+            const float uiScale =
+                toFloat_String(text_InputWidget(findChild_Widget(d, "prefs.uiscale")));
+            iConstForEach(PtrArray, i, regularWindows_App()) {
+                setUiScale_Window(i.ptr, uiScale);
+            }
+        }
 #if defined (LAGRANGE_ENABLE_DOWNLOAD_EDIT)
         postCommandf_App("downloads path:%s",
                          cstr_String(text_InputWidget(findChild_Widget(d, "prefs.downloads"))));
diff --git a/src/ui/window.c b/src/ui/window.c
index 2d20c0e3..774cfba3 100644
--- a/src/ui/window.c
+++ b/src/ui/window.c
@@ -1691,9 +1691,7 @@ void setUiScale_Window(iWindow *d, float uiScale) {
             notifyMetricsChange_Window_(d);
         }
     }
-    else {
-        initialUiScale_ = uiScale;
-    }
+    initialUiScale_ = uiScale; /* used for new windows */
 }
 
 void setFreezeDraw_MainWindow(iMainWindow *d, iBool freezeDraw) {
Proxy Information
Original URL
gemini://git.skyjake.fi/lagrange/work%2Fv1.15/cdiff/d6fea09aad6b4972a3e00616598459ed91fb697d
Status Code
Success (20)
Meta
text/gemini; charset=utf-8
Capsule Response Time
62.205981 milliseconds
Gemini-to-HTML Time
0.137463 milliseconds

This content has been proxied by September (ba2dc).