diff options
| author | Albrecht Schlosser <albrechts.fltk@online.de> | 2011-05-24 20:00:56 +0000 |
|---|---|---|
| committer | Albrecht Schlosser <albrechts.fltk@online.de> | 2011-05-24 20:00:56 +0000 |
| commit | 9846e7879c9501658ba2bc15fb325da73cbfd793 (patch) | |
| tree | a8ec87a322c54939e780b082fb9df7f3ddd6e26b /src/Fl_Browser.cxx | |
| parent | 203f4d8c7ee41b429bb4dbfabe1e2aef3dcbf85f (diff) | |
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
Diffstat (limited to 'src/Fl_Browser.cxx')
| -rw-r--r-- | src/Fl_Browser.cxx | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/Fl_Browser.cxx b/src/Fl_Browser.cxx index febdb6a06..f4fbcfd24 100644 --- a/src/Fl_Browser.cxx +++ b/src/Fl_Browser.cxx @@ -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$". // |
