several mingw32 compilation fixes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2000-01-24 20:19:39 +00:00
parent c857185ce0
commit 3c1a88d8b8
8 changed files with 66 additions and 30 deletions

View File

@@ -40,7 +40,7 @@
# include <dl.h> # include <dl.h>
typedef shl_t wxDllType; typedef shl_t wxDllType;
#elif defined(__WINDOWS__) #elif defined(__WINDOWS__)
//# include <windows.h> # include <windows.h> // needed to get HMODULE
typedef HMODULE wxDllType; typedef HMODULE wxDllType;
#elif defined(__OS2__) #elif defined(__OS2__)
# define INCL_DOS # define INCL_DOS
@@ -61,6 +61,7 @@
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// wxDllLoader // wxDllLoader
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
/** wxDllLoader is a class providing an interface similar to unix's /** wxDllLoader is a class providing an interface similar to unix's
dlopen(). It is used by the wxLibrary framework and manages the dlopen(). It is used by the wxLibrary framework and manages the
actual loading of DLLs and the resolving of symbols in them. actual loading of DLLs and the resolving of symbols in them.
@@ -90,6 +91,7 @@ class wxDllLoader
@return A pointer to the symbol. @return A pointer to the symbol.
*/ */
static void * GetSymbol(wxDllType dllHandle, const wxString &name); static void * GetSymbol(wxDllType dllHandle, const wxString &name);
private: private:
/// forbid construction of objects /// forbid construction of objects
wxDllLoader(); wxDllLoader();

View File

@@ -544,7 +544,6 @@ wxControl *wxResourceTable::CreateItem(wxWindow *parent, const wxItemResource* c
// Force the layout algorithm since the size changes the layout // Force the layout algorithm since the size changes the layout
if (control->IsKindOf(CLASSINFO(wxRadioBox))) if (control->IsKindOf(CLASSINFO(wxRadioBox)))
{ {
wxSize sz = control->GetSize();
control->SetSize(-1, -1, -1, -1, wxSIZE_AUTO_WIDTH|wxSIZE_AUTO_HEIGHT); control->SetSize(-1, -1, -1, -1, wxSIZE_AUTO_WIDTH|wxSIZE_AUTO_HEIGHT);
} }
#endif #endif

View File

@@ -46,6 +46,11 @@
#include "wx/msw/dib.h" #include "wx/msw/dib.h"
#include "wx/image.h" #include "wx/image.h"
// missing from mingw32 header
#ifndef CLR_INVALID
#define CLR_INVALID ((COLORREF)-1)
#endif // no CLR_INVALID
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// macros // macros
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@@ -47,9 +47,16 @@
#include <print.h> #include <print.h>
#endif #endif
// mingw32 defines GDI_ERROR incorrectly
#ifdef __GNUWIN32__
#undef GDI_ERROR
#define GDI_ERROR ((int)-1)
#endif
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// wxWin macros // wxWin macros
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
IMPLEMENT_CLASS(wxPrinterDC, wxDC) IMPLEMENT_CLASS(wxPrinterDC, wxDC)
// ============================================================================ // ============================================================================

View File

@@ -50,6 +50,24 @@
#include "wx/msw/gnuwin32/extra.h" #include "wx/msw/gnuwin32/extra.h"
#endif #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 // macros and constants
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@@ -232,13 +232,16 @@ bool wxImageList::Remove(int index)
// Remove all images // Remove all images
bool wxImageList::RemoveAll() bool wxImageList::RemoveAll()
{ {
bool ok = ImageList_RemoveAll(GetHImageList()) != 0; // don't use ImageList_RemoveAll() because mingw32 headers don't have it
if ( !ok ) 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. // Draws the given image on a dc at the specified position.

View File

@@ -19,6 +19,7 @@
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation "listctrl.h" #pragma implementation "listctrl.h"
#pragma implementation "listctrlbase.h"
#endif #endif
// For compilers that support precompilation, includes "wx.h". // For compilers that support precompilation, includes "wx.h".

View File

@@ -19,6 +19,7 @@
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation "spinbutt.h" #pragma implementation "spinbutt.h"
#pragma implementation "spinbutbase.h"
#endif #endif
// For compilers that support precompilation, includes "wx.h". // For compilers that support precompilation, includes "wx.h".