summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Widget.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Fl_Widget.cxx b/src/Fl_Widget.cxx
index bf198d7dd..a94764346 100644
--- a/src/Fl_Widget.cxx
+++ b/src/Fl_Widget.cxx
@@ -253,6 +253,9 @@ int Fl_Widget::contains(const Fl_Widget *o) const {
void
Fl_Widget::label(const char *a) {
if (flags() & COPIED_LABEL) {
+ // reassigning a copied label remains the same copied label
+ if (label_.value == a)
+ return;
free((void *)(label_.value));
clear_flag(COPIED_LABEL);
}