diff options
Diffstat (limited to 'src/Fl_Widget.cxx')
| -rw-r--r-- | src/Fl_Widget.cxx | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/Fl_Widget.cxx b/src/Fl_Widget.cxx index 528ac5b81..ecf9fce33 100644 --- a/src/Fl_Widget.cxx +++ b/src/Fl_Widget.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Widget.cxx,v 1.5.2.4.2.24 2004/08/25 00:20:25 matthiaswm Exp $" +// "$Id: Fl_Widget.cxx,v 1.5.2.4.2.25 2004/11/23 19:47:52 easysw Exp $" // // Base widget class for the Fast Light Tool Kit (FLTK). // @@ -129,6 +129,7 @@ extern void fl_throw_focus(Fl_Widget*); // in Fl_x.cxx // However, it is only legal to destroy a "root" such as an Fl_Window, // and automatic destructors may be called. Fl_Widget::~Fl_Widget() { + if (flags() & COPIED_LABEL) free(label_.value); parent_ = 0; // Don't throw focus to a parent widget. fl_throw_focus(this); } @@ -244,6 +245,27 @@ int Fl_Widget::contains(const Fl_Widget *o) const { return 0; } + +void +Fl_Widget::label(const char *a) { + if (flags() & COPIED_LABEL) { + free(label_.value); + clear_flag(COPIED_LABEL); + } + label_.value=a; + redraw_label(); +} + + +void +Fl_Widget::copy_label(const char *a) { + if (flags() & COPIED_LABEL) free(label_.value); + set_flag(COPIED_LABEL); + label_.value=strdup(a); + redraw_label(); +} + + // -// End of "$Id: Fl_Widget.cxx,v 1.5.2.4.2.24 2004/08/25 00:20:25 matthiaswm Exp $". +// End of "$Id: Fl_Widget.cxx,v 1.5.2.4.2.25 2004/11/23 19:47:52 easysw Exp $". // |
