mirror of
https://github.com/fltk/fltk.git
synced 2026-06-04 23:42:15 +08:00
Fix constructors for VC++ DLL builds (STR #2645).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8736 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
@@ -50,8 +50,12 @@ public:
|
||||
The constructor specializes Fl_Browser() by setting the type to FL_HOLD_BROWSER.
|
||||
The destructor destroys the widget and frees all memory that has been allocated.
|
||||
*/
|
||||
Fl_Hold_Browser(int X,int Y,int W,int H,const char *l=0)
|
||||
: Fl_Browser(X,Y,W,H,l) {type(FL_HOLD_BROWSER);}
|
||||
#if defined(FL_DLL) // implementation in src/Fl_Browser.cxx
|
||||
Fl_Hold_Browser(int X,int Y,int W,int H,const char *L=0);
|
||||
#else
|
||||
Fl_Hold_Browser(int X,int Y,int W,int H,const char *L=0)
|
||||
: Fl_Browser(X,Y,W,H,L) {type(FL_HOLD_BROWSER);}
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -51,8 +51,12 @@ public:
|
||||
The constructor specializes Fl_Browser() by setting the type to FL_MULTI_BROWSER.
|
||||
The destructor destroys the widget and frees all memory that has been allocated.
|
||||
*/
|
||||
#if defined(FL_DLL) // implementation in src/Fl_Browser.cxx
|
||||
Fl_Multi_Browser(int X,int Y,int W,int H,const char *L=0);
|
||||
#else
|
||||
Fl_Multi_Browser(int X,int Y,int W,int H,const char *L=0)
|
||||
: Fl_Browser(X,Y,W,H,L) {type(FL_MULTI_BROWSER);}
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -49,8 +49,12 @@ public:
|
||||
The constructor specializes Fl_Browser() by setting the type to FL_SELECT_BROWSER.
|
||||
The destructor destroys the widget and frees all memory that has been allocated.
|
||||
*/
|
||||
Fl_Select_Browser(int X,int Y,int W,int H,const char *l=0)
|
||||
: Fl_Browser(X,Y,W,H,l) {type(FL_SELECT_BROWSER);}
|
||||
#if defined(FL_DLL) // implementation in src/Fl_Browser.cxx
|
||||
Fl_Select_Browser(int X,int Y,int W,int H,const char *L=0);
|
||||
#else
|
||||
Fl_Select_Browser(int X,int Y,int W,int H,const char *L=0)
|
||||
: Fl_Browser(X,Y,W,H,L) {type(FL_SELECT_BROWSER);}
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -32,6 +32,12 @@
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
#if defined(FL_DLL) // really needed for c'tors for MS VC++ only
|
||||
#include <FL/Fl_Hold_Browser.H>
|
||||
#include <FL/Fl_Multi_Browser.H>
|
||||
#include <FL/Fl_Select_Browser.H>
|
||||
#endif
|
||||
|
||||
// I modified this from the original Forms data to use a linked list
|
||||
// so that the number of items in the browser and size of those items
|
||||
// is unlimited. The only problem is that the old browser used an
|
||||
@@ -914,6 +920,30 @@ void Fl_Browser::remove_icon(int line) {
|
||||
icon(line,0);
|
||||
}
|
||||
|
||||
/*
|
||||
The following constructors must not be in the header file(s) if we
|
||||
build a shared object (DLL). Instead they are defined here to force
|
||||
the constructor (and default destructor as well) to be defined in
|
||||
the DLL and exported (STR #2632, #2645).
|
||||
|
||||
Note: if you change any of them, do the same changes in the specific
|
||||
header file as well. This redundant definition was chosen to enable
|
||||
inline constructors in the header files (for static linking) as well
|
||||
as those here for dynamic linking (Windows DLL).
|
||||
*/
|
||||
#if defined(FL_DLL)
|
||||
|
||||
Fl_Hold_Browser::Fl_Hold_Browser(int X,int Y,int W,int H,const char *L)
|
||||
: Fl_Browser(X,Y,W,H,L) {type(FL_HOLD_BROWSER);}
|
||||
|
||||
Fl_Multi_Browser::Fl_Multi_Browser(int X,int Y,int W,int H,const char *L)
|
||||
: Fl_Browser(X,Y,W,H,L) {type(FL_MULTI_BROWSER);}
|
||||
|
||||
Fl_Select_Browser::Fl_Select_Browser(int X,int Y,int W,int H,const char *L)
|
||||
: Fl_Browser(X,Y,W,H,L) {type(FL_SELECT_BROWSER);}
|
||||
|
||||
#endif // FL_DLL
|
||||
|
||||
//
|
||||
// End of "$Id$".
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user