diff --git a/include/wx/dynlib.h b/include/wx/dynlib.h
index 5f5a9f4f01..2ba2c3f4b6 100644
--- a/include/wx/dynlib.h
+++ b/include/wx/dynlib.h
@@ -40,7 +40,7 @@
# include
typedef shl_t wxDllType;
#elif defined(__WINDOWS__)
-//# include
+# include // needed to get HMODULE
typedef HMODULE wxDllType;
#elif defined(__OS2__)
# define INCL_DOS
@@ -61,6 +61,7 @@
// ----------------------------------------------------------------------------
// wxDllLoader
// ----------------------------------------------------------------------------
+
/** wxDllLoader is a class providing an interface similar to unix's
dlopen(). It is used by the wxLibrary framework and manages the
actual loading of DLLs and the resolving of symbols in them.
@@ -69,30 +70,31 @@
*/
class wxDllLoader
{
- public:
- /** This function loads a shared library into memory, with libname
- being the basename of the library, without the filename
- extension. No initialisation of the library will be done.
- @param libname Name of the shared object to load.
- @param success Must point to a bool variable which will be set to TRUE or FALSE.
- @return A handle to the loaded DLL. Use success parameter to test if it is valid.
- */
- static wxDllType LoadLibrary(const wxString & libname, bool *success = NULL);
- /** This function unloads the shared library. */
- static void UnloadLibrary(wxDllType dll);
- /** This function returns a valid handle for the main program
- itself. */
- static wxDllType GetProgramHandle(void);
- /** This function resolves a symbol in a loaded DLL, such as a
- variable or function name.
- @param dllHandle Handle of the DLL, as returned by LoadDll().
- @param name Name of the symbol.
- @return A pointer to the symbol.
- */
- static void * GetSymbol(wxDllType dllHandle, const wxString &name);
- private:
- /// forbid construction of objects
- wxDllLoader();
+public:
+ /** This function loads a shared library into memory, with libname
+ being the basename of the library, without the filename
+ extension. No initialisation of the library will be done.
+ @param libname Name of the shared object to load.
+ @param success Must point to a bool variable which will be set to TRUE or FALSE.
+ @return A handle to the loaded DLL. Use success parameter to test if it is valid.
+ */
+ static wxDllType LoadLibrary(const wxString & libname, bool *success = NULL);
+ /** This function unloads the shared library. */
+ static void UnloadLibrary(wxDllType dll);
+ /** This function returns a valid handle for the main program
+ itself. */
+ static wxDllType GetProgramHandle(void);
+ /** This function resolves a symbol in a loaded DLL, such as a
+ variable or function name.
+ @param dllHandle Handle of the DLL, as returned by LoadDll().
+ @param name Name of the symbol.
+ @return A pointer to the symbol.
+ */
+ static void * GetSymbol(wxDllType dllHandle, const wxString &name);
+
+private:
+ /// forbid construction of objects
+ wxDllLoader();
};
// ----------------------------------------------------------------------------
diff --git a/src/common/resource.cpp b/src/common/resource.cpp
index b0945819f7..98b983adf0 100644
--- a/src/common/resource.cpp
+++ b/src/common/resource.cpp
@@ -544,7 +544,6 @@ wxControl *wxResourceTable::CreateItem(wxWindow *parent, const wxItemResource* c
// Force the layout algorithm since the size changes the layout
if (control->IsKindOf(CLASSINFO(wxRadioBox)))
{
- wxSize sz = control->GetSize();
control->SetSize(-1, -1, -1, -1, wxSIZE_AUTO_WIDTH|wxSIZE_AUTO_HEIGHT);
}
#endif
diff --git a/src/msw/bitmap.cpp b/src/msw/bitmap.cpp
index 015b00e732..3cf541d3c7 100644
--- a/src/msw/bitmap.cpp
+++ b/src/msw/bitmap.cpp
@@ -46,6 +46,11 @@
#include "wx/msw/dib.h"
#include "wx/image.h"
+// missing from mingw32 header
+#ifndef CLR_INVALID
+ #define CLR_INVALID ((COLORREF)-1)
+#endif // no CLR_INVALID
+
// ----------------------------------------------------------------------------
// macros
// ----------------------------------------------------------------------------
diff --git a/src/msw/dcprint.cpp b/src/msw/dcprint.cpp
index b49d678fb8..1fabf5e6df 100644
--- a/src/msw/dcprint.cpp
+++ b/src/msw/dcprint.cpp
@@ -47,9 +47,16 @@
#include
#endif
+// mingw32 defines GDI_ERROR incorrectly
+#ifdef __GNUWIN32__
+ #undef GDI_ERROR
+ #define GDI_ERROR ((int)-1)
+#endif
+
// ----------------------------------------------------------------------------
// wxWin macros
// ----------------------------------------------------------------------------
+
IMPLEMENT_CLASS(wxPrinterDC, wxDC)
// ============================================================================
diff --git a/src/msw/dde.cpp b/src/msw/dde.cpp
index 6968b94312..73fa7d6955 100644
--- a/src/msw/dde.cpp
+++ b/src/msw/dde.cpp
@@ -50,6 +50,24 @@
#include "wx/msw/gnuwin32/extra.h"
#endif
+// some compilers headers don't define this one (mingw32)
+#ifndef DMLERR_NO_ERROR
+ #define DMLERR_NO_ERROR (0)
+
+ // this one is also missing from some mingw32 headers, but there is no way
+ // to test for it (I know of) - the test for DMLERR_NO_ERROR works for me,
+ // but is surely not the right thing to do
+ extern "C"
+ HDDEDATA STDCALL DdeClientTransaction(LPBYTE pData,
+ DWORD cbData,
+ HCONV hConv,
+ HSZ hszItem,
+ UINT wFmt,
+ UINT wType,
+ DWORD dwTimeout,
+ LPDWORD pdwResult);
+#endif // no DMLERR_NO_ERROR
+
// ----------------------------------------------------------------------------
// macros and constants
// ----------------------------------------------------------------------------
diff --git a/src/msw/imaglist.cpp b/src/msw/imaglist.cpp
index 4cd16e46c2..89ff4b11ec 100644
--- a/src/msw/imaglist.cpp
+++ b/src/msw/imaglist.cpp
@@ -232,13 +232,16 @@ bool wxImageList::Remove(int index)
// Remove all images
bool wxImageList::RemoveAll()
{
- bool ok = ImageList_RemoveAll(GetHImageList()) != 0;
- if ( !ok )
+ // don't use ImageList_RemoveAll() because mingw32 headers don't have it
+ int count = ImageList_GetImageCount(GetHImageList());
+ for ( int i = 0; i < count; i++ )
{
- wxLogLastError("ImageList_RemoveAll()");
+ // the image indexes are shifted, so we should always remove the first
+ // one
+ (void)Remove(0);
}
- return ok;
+ return TRUE;
}
// Draws the given image on a dc at the specified position.
diff --git a/src/msw/listctrl.cpp b/src/msw/listctrl.cpp
index 34649103cc..09a988cd15 100644
--- a/src/msw/listctrl.cpp
+++ b/src/msw/listctrl.cpp
@@ -19,6 +19,7 @@
#ifdef __GNUG__
#pragma implementation "listctrl.h"
+ #pragma implementation "listctrlbase.h"
#endif
// For compilers that support precompilation, includes "wx.h".
diff --git a/src/msw/spinbutt.cpp b/src/msw/spinbutt.cpp
index cbd779d665..5159b21ceb 100644
--- a/src/msw/spinbutt.cpp
+++ b/src/msw/spinbutt.cpp
@@ -19,6 +19,7 @@
#ifdef __GNUG__
#pragma implementation "spinbutt.h"
+ #pragma implementation "spinbutbase.h"
#endif
// For compilers that support precompilation, includes "wx.h".