From 770147baf66dc014f20218531e1c3b600ae73cbf Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Fri, 15 Jul 2005 09:34:53 +0000 Subject: Applied hidden copy / ctor patch as suggested in STR 860 git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4421 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- CHANGES | 1 + FL/Fl_Group.H | 4 ++++ FL/Fl_Widget.H | 10 +++------- FL/Fl_Window.H | 4 ++++ 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/CHANGES b/CHANGES index de3973e1b..198e46f4b 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,7 @@ CHANGES IN FLTK 1.1.7 - Documentation fixes (STR #648, STR #692, STR #730, STR #744, STR #745) + - Improved hidden copy / ctor implementation (STR #860) - Increased matrix stack depth and added over/underfolw error (STR #924) - Reverted Mac Carbon Clipping simplification that broke diff --git a/FL/Fl_Group.H b/FL/Fl_Group.H index cc85c2d11..3ede57cfa 100644 --- a/FL/Fl_Group.H +++ b/FL/Fl_Group.H @@ -42,6 +42,10 @@ class FL_EXPORT Fl_Group : public Fl_Widget { int navigation(int); static Fl_Group *current_; + + // unimplemented copy ctor and assignment operator + Fl_Group(const Fl_Group&); + Fl_Group& operator=(const Fl_Group&); protected: diff --git a/FL/Fl_Widget.H b/FL/Fl_Widget.H index cefc9ffab..a51d66947 100644 --- a/FL/Fl_Widget.H +++ b/FL/Fl_Widget.H @@ -71,13 +71,9 @@ class FL_EXPORT Fl_Widget { const char *tooltip_; -# if !defined(WIN32) || !defined(FL_DLL) - // "de-implement" the copy constructors, EXCEPT for when we are using the - // WIN32 DLL interface, in which case we can't hide them because Microsoft - // requires the copy constructors to implement subclassing... - Fl_Widget & operator=(const Fl_Widget &) { return *this; } - Fl_Widget(const Fl_Widget &) {} -# endif // !WIN32 || !FL_DLL + // unimplemented copy ctor and assignment operator + Fl_Widget(const Fl_Widget &); + Fl_Widget& operator=(const Fl_Widget &); protected: diff --git a/FL/Fl_Window.H b/FL/Fl_Window.H index a2f43598c..9006d4766 100644 --- a/FL/Fl_Window.H +++ b/FL/Fl_Window.H @@ -60,6 +60,10 @@ class FL_EXPORT Fl_Window : public Fl_Group { }; void _Fl_Window(); // constructor innards + // unimplemented copy ctor and assignment operator + Fl_Window(const Fl_Window&); + Fl_Window& operator=(const Fl_Window&); + protected: static Fl_Window *current_; -- cgit v1.2.3