DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Link: http://www.fltk.org/str.php?L2836
Version: 1.3-current


Attached file "copy_same_label_bug.cxx"...


Link: http://www.fltk.org/str.php?L2836
Version: 1.3-current
Index: src/Fl_Window.cxx
===================================================================
--- src/Fl_Window.cxx   (Revision 9426)
+++ src/Fl_Window.cxx   (Arbeitskopie)
@@ -143,11 +143,11 @@
 }
 
 void Fl_Window::copy_label(const char *a) {
+  if (a) a = strdup(a);
   if (flags() & COPIED_LABEL) {
     free((void *)label());
     clear_flag(COPIED_LABEL);
   }
-  if (a) a = strdup(a);
   label(a, iconlabel());
   set_flag(COPIED_LABEL);
 }
Index: src/Fl_Widget.cxx
===================================================================
--- src/Fl_Widget.cxx   (Revision 9426)
+++ src/Fl_Widget.cxx   (Arbeitskopie)
@@ -303,10 +303,11 @@
 
 void
 Fl_Widget::copy_label(const char *a) {
+  if (a) a = strdup(a);
   if (flags() & COPIED_LABEL) free((void *)(label_.value));
   if (a) {
     set_flag(COPIED_LABEL);
-    label_.value=strdup(a);
+    label_.value=a;
   } else {
     clear_flag(COPIED_LABEL);
     label_.value=(char *)0;
@@ -325,6 +326,7 @@
 void
 Fl_Widget::do_callback(Fl_Widget* o,void* arg) {
   Fl_Widget_Tracker wp(this);
+  if (!callback_) return;
   callback_(o,arg);
   if (wp.deleted()) return;
   if (callback_ != default_callback)
_______________________________________________
fltk-bugs mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-bugs

Reply via email to