]> git.mdlowis.com Git - proto/labwc.git/commitdiff
src/config/rcxml.c: reset default values on Reconfigure
authorConsolatis <35009135+Consolatis@users.noreply.github.com>
Wed, 8 Mar 2023 22:53:34 +0000 (23:53 +0100)
committerJohan Malm <johanmalm@users.noreply.github.com>
Thu, 9 Mar 2023 21:00:43 +0000 (21:00 +0000)
Reported-by: <umk3> via IRC
include/common/font.h
src/config/rcxml.c

index 22d9097a9cb2cdf7d0c4af262bd98d9c8607bd70..bb765d23a6ddf6cbbe12bcc3fdd64fbdf74ba3fa 100644 (file)
@@ -5,12 +5,12 @@
 struct lab_data_buffer;
 
 enum font_slant {
-       FONT_SLANT_NORMAL,
+       FONT_SLANT_NORMAL = 0,
        FONT_SLANT_ITALIC
 };
 
 enum font_weight {
-       FONT_WEIGHT_NORMAL,
+       FONT_WEIGHT_NORMAL = 0,
        FONT_WEIGHT_BOLD
 };
 
index 15c95df6a02fba533930b503f5b7acde7e8dfac8..8b968a2ee1161d7b9d5b54a45c0ed7d694ee1537 100644 (file)
@@ -535,23 +535,35 @@ rcxml_parse_xml(struct buf *b)
        xmlCleanupParser();
 }
 
+static void
+init_font_defaults(struct font *font)
+{
+       font->size = 10;
+       font->slant = FONT_SLANT_NORMAL;
+       font->weight = FONT_WEIGHT_NORMAL;
+}
+
 static void
 rcxml_init(void)
 {
        static bool has_run;
 
-       if (has_run) {
-               return;
+       if (!has_run) {
+               wl_list_init(&rc.keybinds);
+               wl_list_init(&rc.mousebinds);
+               wl_list_init(&rc.libinput_categories);
+               wl_list_init(&rc.workspace_config.workspaces);
+               wl_list_init(&rc.regions);
        }
        has_run = true;
-       wl_list_init(&rc.keybinds);
-       wl_list_init(&rc.mousebinds);
-       wl_list_init(&rc.libinput_categories);
+
        rc.xdg_shell_server_side_deco = true;
        rc.corner_radius = 8;
-       rc.font_activewindow.size = 10;
-       rc.font_menuitem.size = 10;
-       rc.font_osd.size = 10;
+
+       init_font_defaults(&rc.font_activewindow);
+       init_font_defaults(&rc.font_menuitem);
+       init_font_defaults(&rc.font_osd);
+
        rc.doubleclick_time = 500;
        rc.repeat_rate = 25;
        rc.repeat_delay = 600;
@@ -562,8 +574,6 @@ rcxml_init(void)
        rc.cycle_preview_contents = false;
        rc.cycle_preview_outlines = true;
        rc.workspace_config.popuptime = INT_MIN;
-       wl_list_init(&rc.workspace_config.workspaces);
-       wl_list_init(&rc.regions);
 }
 
 static struct {