From 93f1fdc527cad59f12b13c0a25e20d53bdba1fc0 Mon Sep 17 00:00:00 2001 From: Lev Babiev Date: Tue, 18 Feb 2025 07:57:37 +0000 Subject: [PATCH] config/base: cleanup config_assign_string --- src/config/base.c | 6 +----- src/config/layout.c | 12 ++++++------ src/config/toplevel.c | 4 ++-- src/gui/bar.c | 9 ++++----- src/gui/basewidget.c | 10 ++++------ src/gui/taskbarshell.c | 6 +++--- 6 files changed, 20 insertions(+), 27 deletions(-) diff --git a/src/config/base.c b/src/config/base.c index f51a9aa2..6464cb72 100644 --- a/src/config/base.c +++ b/src/config/base.c @@ -167,7 +167,6 @@ gboolean config_assign_boolean (GScanner *scanner, gboolean def, gchar *expr) gchar *config_assign_string ( GScanner *scanner, gchar *expr ) { - gchar *result; scanner->max_parse_errors = FALSE; if(!config_expect_token(scanner, '=', "Missing '=' in %s = ", expr)) @@ -177,10 +176,7 @@ gchar *config_assign_string ( GScanner *scanner, gchar *expr ) "Missing in %s = ", expr)) return NULL; - result = g_strdup(scanner->value.v_string); - config_check_and_consume(scanner, ';'); - - return result; + return scanner->value.v_string; } gdouble config_assign_number ( GScanner *scanner, gchar *expr ) diff --git a/src/config/layout.c b/src/config/layout.c index c420acc9..9a956c10 100644 --- a/src/config/layout.c +++ b/src/config/layout.c @@ -175,7 +175,6 @@ gboolean config_flowgrid_property ( GScanner *scanner, GtkWidget *widget ) gboolean config_widget_property ( GScanner *scanner, GtkWidget *widget ) { GtkWindow *win; - gchar *trigger; gint key; if(config_flowgrid_property(scanner, widget)) @@ -201,9 +200,8 @@ gboolean config_widget_property ( GScanner *scanner, GtkWidget *widget ) config_assign_boolean(scanner, FALSE, "local")); return TRUE; case G_TOKEN_TRIGGER: - trigger = config_assign_string(scanner, "trigger"); - base_widget_set_trigger(widget, trigger); - g_free(trigger); + base_widget_set_trigger(widget, + config_assign_string(scanner, "trigger")); return TRUE; case G_TOKEN_LOC: base_widget_set_rect(widget, config_get_loc(scanner)); @@ -293,7 +291,7 @@ gboolean config_widget_property ( GScanner *scanner, GtkWidget *widget ) { case G_TOKEN_CSS: taskbar_shell_set_group_css(widget, - config_assign_string(scanner,"group css")); + config_assign_string(scanner, "group css")); return TRUE; case G_TOKEN_STYLE: taskbar_shell_set_group_style(widget, @@ -372,7 +370,7 @@ GtkWidget *config_widget_find_existing ( GScanner *scanner, return NULL; parent = gtk_widget_get_parent(widget); - parent = parent?gtk_widget_get_parent(parent):NULL; + parent = parent? gtk_widget_get_parent(parent) : NULL; if(container && parent != container) return NULL; @@ -432,6 +430,8 @@ void config_widget ( GScanner *scanner, GtkWidget *widget ) while(!config_is_section_end(scanner)) { g_scanner_get_next_token(scanner); + if(scanner->token == ';') + continue; if(config_widget_property(scanner, widget)) continue; if(config_widget_child(scanner, widget)) diff --git a/src/config/toplevel.c b/src/config/toplevel.c index 315f77f9..41eb000c 100644 --- a/src/config/toplevel.c +++ b/src/config/toplevel.c @@ -145,10 +145,10 @@ GtkWidget *config_parse_toplevel ( GScanner *scanner, GtkWidget *container ) config_trigger_action(scanner); break; case G_TOKEN_THEME: - bar_set_theme(config_assign_string(scanner,"theme")); + bar_set_theme(config_assign_string(scanner, "theme")); break; case G_TOKEN_ICON_THEME: - bar_set_icon_theme(config_assign_string(scanner,"icon theme")); + bar_set_icon_theme(config_assign_string(scanner, "icon theme")); break; case G_TOKEN_MAPAPPID: config_mappid_map(scanner); diff --git a/src/gui/bar.c b/src/gui/bar.c index b99bc982..6d9850b3 100644 --- a/src/gui/bar.c +++ b/src/gui/bar.c @@ -917,9 +917,9 @@ void bar_set_theme ( gchar *new_theme ) GtkSettings *setts; setts = gtk_settings_get_default(); - g_object_set(G_OBJECT(setts),"gtk-application-prefer-dark-theme",FALSE,NULL); - g_object_set(G_OBJECT(setts),"gtk-theme-name",new_theme,NULL); - g_free(new_theme); + g_object_set(G_OBJECT(setts), "gtk-application-prefer-dark-theme", FALSE, + NULL); + g_object_set(G_OBJECT(setts), "gtk-theme-name", new_theme, NULL); } void bar_set_icon_theme ( gchar *new_theme ) @@ -927,8 +927,7 @@ void bar_set_icon_theme ( gchar *new_theme ) GtkSettings *setts; setts = gtk_settings_get_default(); - g_object_set(G_OBJECT(setts),"gtk-icon-theme-name", new_theme, NULL); - g_free(new_theme); + g_object_set(G_OBJECT(setts), "gtk-icon-theme-name", new_theme, NULL); } static void bar_clock_cb ( GdkFrameClock *clock, gboolean *canary ) diff --git a/src/gui/basewidget.c b/src/gui/basewidget.c index 937c17e3..78b6a34a 100644 --- a/src/gui/basewidget.c +++ b/src/gui/basewidget.c @@ -541,8 +541,9 @@ void base_widget_set_style_static ( GtkWidget *self, gchar *style ) priv = base_widget_get_instance_private(BASE_WIDGET(self)); g_free(priv->style->code); + g_free(priv->style->cache); priv->style->code = NULL; - priv->style->cache = style; + priv->style->cache = g_strdup(style); priv->style->eval = FALSE; base_widget_style(self); @@ -812,16 +813,13 @@ void base_widget_set_css ( GtkWidget *self, gchar *css ) priv = base_widget_get_instance_private(BASE_WIDGET(self)); if(!css || g_list_find_custom(priv->css, css, (GCompareFunc)g_strcmp0)) - { - g_free(css); return; - } css_widget_apply(base_widget_get_child(self), g_strdup(css)); for(iter=priv->mirror_children; iter; iter=g_list_next(iter)) - css_widget_apply(base_widget_get_child(iter->data), g_strdup(css)); + css_widget_apply(base_widget_get_child(iter->data), css); - priv->css = g_list_append(priv->css, css); + priv->css = g_list_append(priv->css, g_strdup(css)); } void base_widget_set_action ( GtkWidget *self, gint slot, diff --git a/src/gui/taskbarshell.c b/src/gui/taskbarshell.c index c36f52ef..9dc5b2aa 100644 --- a/src/gui/taskbarshell.c +++ b/src/gui/taskbarshell.c @@ -219,7 +219,7 @@ void taskbar_shell_set_group_style ( GtkWidget *self, gchar *style ) for(iter=wintree_get_list(); iter; iter=g_list_next(iter)) if( (taskbar=priv->get_taskbar(self, iter->data, FALSE)) && taskbar!=self ) - base_widget_set_style_static(taskbar, g_strdup(style)); + base_widget_set_style_static(taskbar, style); g_list_foreach(base_widget_get_mirror_children(self), (GFunc)taskbar_shell_set_group_style, style); @@ -240,10 +240,10 @@ void taskbar_shell_set_group_css ( GtkWidget *self, gchar *css ) priv->css = g_list_append(priv->css, g_strdup(css)); for(iter=wintree_get_list(); iter; iter=g_list_next(iter)) if( (taskbar=priv->get_taskbar(self, iter->data, FALSE)) && taskbar!=self ) - base_widget_set_css(taskbar, g_strdup(css)); + base_widget_set_css(taskbar, css); g_list_foreach(base_widget_get_mirror_children(self), - (GFunc)taskbar_shell_set_group_css, css); + (GFunc)taskbar_shell_set_group_css, g_strdup(css)); } static void taskbar_shell_propagate ( GtkWidget *self, gint value,