summaryrefslogtreecommitdiff
path: root/src/Fl_Native_File_Chooser_WIN32.cxx
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2010-09-27 14:57:53 +0000
committerAlbrecht Schlosser <albrechts.fltk@online.de>2010-09-27 14:57:53 +0000
commitb010bce1af756d007d194eba16202dd9dcba80c7 (patch)
tree6f9ca34d3fbf08a1147b314c85e1194618216358 /src/Fl_Native_File_Chooser_WIN32.cxx
parent5c968a2589f3a32a01d17db0130ead4e778fbd80 (diff)
Fixed unbalanced Windows OleInitialize/OleUnitialize calls
when loading/unloading the FLTK dll (STR #2417) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7706 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_Native_File_Chooser_WIN32.cxx')
-rw-r--r--src/Fl_Native_File_Chooser_WIN32.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Fl_Native_File_Chooser_WIN32.cxx b/src/Fl_Native_File_Chooser_WIN32.cxx
index 063c1e532..750a36d66 100644
--- a/src/Fl_Native_File_Chooser_WIN32.cxx
+++ b/src/Fl_Native_File_Chooser_WIN32.cxx
@@ -47,6 +47,8 @@ char *wchartoutf8(LPCWSTR in); //MG
#define RBRACKET_CHR ']'
#define MAXFILTERS 80
+void fl_OleInitialize(); // in Fl.cxx (Windows only)
+
// STATIC: PRINT WINDOWS 'DOUBLE NULL' STRING (DEBUG)
static void dnullprint(char *wp) {
if ( ! wp ) return;
@@ -464,7 +466,8 @@ int CALLBACK Fl_Native_File_Chooser::Dir_CB(HWND win, UINT msg, LPARAM param, LP
// SHOW DIRECTORY BROWSER
int Fl_Native_File_Chooser::showdir() {
- OleInitialize(NULL); // init needed by BIF_USENEWUI
+ // initialize OLE only once
+ fl_OleInitialize(); // init needed by BIF_USENEWUI
ClearBINF();
clear_pathnames();
// PARENT WINDOW