Skip to content

Commit 3b88968

Browse files
zisoftTurboGit
authored andcommitted
fix infinite loop on lib module preset label update
1 parent 9d01c1a commit 3b88968

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

src/libs/lib.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,12 +129,16 @@ static void _set_module_preset_label(dt_lib_module_t *module,
129129
{
130130
if(!module->expander || !module->has_preset_label(module))
131131
return;
132-
132+
133+
const gchar *current_preset_label_text = gtk_label_get_text(GTK_LABEL(module->preset_label));
133134
gchar *preset_label_text =
134135
(*preset_name == '\0' || (!dt_conf_get_bool("darkroom/ui/auto_module_name_update")))?
135136
g_strdup("") : g_strdup_printf("• %s", preset_name);
136137

137-
gtk_label_set_text(GTK_LABEL(module->preset_label), preset_label_text);
138+
if(g_strcmp0(current_preset_label_text, preset_label_text))
139+
// update the preset label only if changed to avoid infinite loop
140+
gtk_label_set_text(GTK_LABEL(module->preset_label), preset_label_text);
141+
138142
g_free(preset_label_text);
139143
}
140144

0 commit comments

Comments
 (0)