summaryrefslogtreecommitdiff
path: root/textscreen/txt_separator.c
diff options
context:
space:
mode:
Diffstat (limited to 'textscreen/txt_separator.c')
-rw-r--r--textscreen/txt_separator.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/textscreen/txt_separator.c b/textscreen/txt_separator.c
index 6b779626..563d0c62 100644
--- a/textscreen/txt_separator.c
+++ b/textscreen/txt_separator.c
@@ -80,6 +80,20 @@ static void TXT_SeparatorDestructor(TXT_UNCAST_ARG(separator))
free(separator->label);
}
+void TXT_SetSeparatorLabel(txt_separator_t *separator, char *label)
+{
+ free(separator->label);
+
+ if (label != NULL)
+ {
+ separator->label = strdup(label);
+ }
+ else
+ {
+ separator->label = NULL;
+ }
+}
+
txt_widget_class_t txt_separator_class =
{
TXT_NeverSelectable,
@@ -99,14 +113,8 @@ txt_separator_t *TXT_NewSeparator(char *label)
TXT_InitWidget(separator, &txt_separator_class);
- if (label != NULL)
- {
- separator->label = strdup(label);
- }
- else
- {
- separator->label = NULL;
- }
+ separator->label = NULL;
+ TXT_SetSeparatorLabel(separator, label);
return separator;
}