From 106d80ad373817594dba9aeacef76b663eda2d0b Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Sun, 22 May 2005 12:10:55 +0000 Subject: [PATCH] Applied patch [ 1195797 ] Fixes to compile on Win64 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34241 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/arrimpl.cpp | 4 ++-- include/wx/hashmap.h | 4 ++-- include/wx/listbase.h | 2 +- src/msw/dlmsw.cpp | 4 ++-- src/msw/filedlg.cpp | 2 +- src/msw/mediactrl.cpp | 10 ++++++++-- src/msw/timer.cpp | 4 ++-- src/msw/utils.cpp | 6 +++--- 8 files changed, 21 insertions(+), 15 deletions(-) diff --git a/include/wx/arrimpl.cpp b/include/wx/arrimpl.cpp index d0e3a7f5cd..bde7736639 100644 --- a/include/wx/arrimpl.cpp +++ b/include/wx/arrimpl.cpp @@ -98,7 +98,7 @@ int name::Index(const T& Item, bool bFromEnd) const \ size_t ui = size() - 1; \ do { \ if ( (T*)base_array::operator[](ui) == &Item ) \ - return ui; \ + return wx_static_cast(int, ui); \ ui--; \ } \ while ( ui != 0 ); \ @@ -107,7 +107,7 @@ int name::Index(const T& Item, bool bFromEnd) const \ else { \ for( size_t ui = 0; ui < size(); ui++ ) { \ if( (T*)base_array::operator[](ui) == &Item ) \ - return ui; \ + return wx_static_cast(int, ui); \ } \ } \ \ diff --git a/include/wx/hashmap.h b/include/wx/hashmap.h index b8689b86f6..b1d2f06314 100644 --- a/include/wx/hashmap.h +++ b/include/wx/hashmap.h @@ -341,7 +341,7 @@ protected: \ /* returns NULL if not found */ \ Node** GetNodePtr( const const_key_type& key ) const \ { \ - unsigned long hash = m_hasher( key ); \ + unsigned long hash = wx_static_cast(unsigned long, m_hasher( key )); \ Node** node = &m_table[hash % m_tableBuckets]; \ \ while( *node ) \ @@ -358,7 +358,7 @@ protected: \ /* expressing it in terms of GetNodePtr is 5-8% slower :-( */ \ Node* GetNode( const const_key_type& key ) const \ { \ - unsigned long hash = m_hasher( key ); \ + unsigned long hash = wx_static_cast(unsigned long, m_hasher( key )); \ Node* node = m_table[hash % m_tableBuckets]; \ \ while( node ) \ diff --git a/include/wx/listbase.h b/include/wx/listbase.h index 3d4cd4da72..597bc3eb50 100644 --- a/include/wx/listbase.h +++ b/include/wx/listbase.h @@ -373,7 +373,7 @@ public: const wxString& GetLabel() const { return m_item.m_text; } const wxString& GetText() const { return m_item.m_text; } int GetImage() const { return m_item.m_image; } - long GetData() const { return m_item.m_data; } + long GetData() const { return wx_static_cast(long, m_item.m_data); } long GetMask() const { return m_item.m_mask; } const wxListItem& GetItem() const { return m_item; } diff --git a/src/msw/dlmsw.cpp b/src/msw/dlmsw.cpp index aebf3e5165..d9a49f3a1f 100644 --- a/src/msw/dlmsw.cpp +++ b/src/msw/dlmsw.cpp @@ -80,7 +80,7 @@ public: }; static BOOL CALLBACK - EnumModulesProc(PSTR name, DWORD base, ULONG size, void *data); + EnumModulesProc(PSTR name, DWORD64 base, ULONG size, void *data); }; // ---------------------------------------------------------------------------- @@ -209,7 +209,7 @@ wxString wxVersionDLL::GetFileVersion(const wxString& filename) const /* static */ BOOL CALLBACK wxDynamicLibraryDetailsCreator::EnumModulesProc(PSTR name, - DWORD base, + DWORD64 base, ULONG size, void *data) { diff --git a/src/msw/filedlg.cpp b/src/msw/filedlg.cpp index abf12be798..a31464cb56 100644 --- a/src/msw/filedlg.cpp +++ b/src/msw/filedlg.cpp @@ -82,7 +82,7 @@ IMPLEMENT_CLASS(wxFileDialog, wxFileDialogBase) // hook function for moving the dialog // ---------------------------------------------------------------------------- -UINT APIENTRY +UINT_PTR APIENTRY wxFileDialogHookFunction(HWND hDlg, UINT iMsg, WPARAM WXUNUSED(wParam), diff --git a/src/msw/mediactrl.cpp b/src/msw/mediactrl.cpp index b8fd0d369d..6f65bf9987 100644 --- a/src/msw/mediactrl.cpp +++ b/src/msw/mediactrl.cpp @@ -1303,13 +1303,15 @@ bool wxAMMediaBackend::Load(const wxString& fileName) #if defined(_WIN32) ::SetWindowLong(m_hNotifyWnd, GWL_WNDPROC, (LONG)wxAMMediaBackend::NotifyWndProc); + ::SetWindowLong(m_hNotifyWnd, GWL_USERDATA, + (LONG) this); #else ::SetWindowLongPtr(m_hNotifyWnd, GWLP_WNDPROC, (LONG_PTR)wxAMMediaBackend::NotifyWndProc); + ::SetWindowLongPtr(m_hNotifyWnd, GWL_USERDATA, + (LONG) this); #endif - ::SetWindowLong(m_hNotifyWnd, GWL_USERDATA, - (LONG) this); wxAMVERIFY( m_pME->SetNotifyWindow((LONG_PTR)m_hNotifyWnd, WM_GRAPHNOTIFY, 0) ); @@ -2141,7 +2143,11 @@ LRESULT CALLBACK wxMCIMediaBackend::NotifyWndProc(HWND hWnd, UINT nMsg, LPARAM lParam) { wxMCIMediaBackend* backend = (wxMCIMediaBackend*) +#ifdef _WIN32 ::GetWindowLong(hWnd, GWL_USERDATA); +#else + ::GetWindowLongPtr(hWnd, GWLP_USERDATA); +#endif wxASSERT(backend); return backend->OnNotifyWndProc(hWnd, nMsg, wParam, lParam); diff --git a/src/msw/timer.cpp b/src/msw/timer.cpp index 127f497d8e..9a2b997200 100644 --- a/src/msw/timer.cpp +++ b/src/msw/timer.cpp @@ -61,7 +61,7 @@ static wxTimerMap& TimerMap() // ---------------------------------------------------------------------------- // timer callback used for all timers -void WINAPI wxTimerProc(HWND hwnd, UINT msg, UINT idTimer, DWORD dwTime); +void WINAPI wxTimerProc(HWND hwnd, UINT msg, UINT_PTR idTimer, DWORD dwTime); // ---------------------------------------------------------------------------- // macros @@ -155,7 +155,7 @@ void wxProcessTimer(wxTimer& timer) void WINAPI wxTimerProc(HWND WXUNUSED(hwnd), UINT WXUNUSED(msg), - UINT idTimer, + UINT_PTR idTimer, DWORD WXUNUSED(dwTime)) { wxTimerMap::iterator node = TimerMap().find((unsigned long)idTimer); diff --git a/src/msw/utils.cpp b/src/msw/utils.cpp index 365d178840..d8cedf876e 100644 --- a/src/msw/utils.cpp +++ b/src/msw/utils.cpp @@ -1045,9 +1045,9 @@ wxMemorySize wxGetFreeMemory() { #if defined(__WIN64__) MEMORYSTATUSEX memStatex; - statex.dwLength = sizeof (statex); - ::GlobalMemoryStatusEx (&statex); - return (wxMemorySize)memStatus.ullAvailPhys; + memStatex.dwLength = sizeof (memStatex); + ::GlobalMemoryStatusEx (&memStatex); + return (wxMemorySize)memStatex.ullAvailPhys; #else /* if defined(__WIN32__) */ MEMORYSTATUS memStatus; memStatus.dwLength = sizeof(MEMORYSTATUS);