[Windows] Fix Window create function on x64.

This issue affects only Windows 8.1/10 x64 built with VS2013 and VS2019.
The reason is a different memory addressing on these OSs in pure 64-bit mode.

This fixes #4072.

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
This commit is contained in:
Vitalii Koshura 2020-10-29 20:11:43 +01:00
parent 8f9e29bb79
commit 0e290b6372
No known key found for this signature in database
GPG Key ID: CE0DB1726070A5A3
2 changed files with 11 additions and 12 deletions

View File

@ -39,7 +39,7 @@
#endif
LRESULT APIENTRY wxTaskBarIconExWindowProc( HWND hWnd, unsigned msg, UINT wParam, LONG lParam );
LRESULT APIENTRY wxTaskBarIconExWindowProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
wxChar* wxTaskBarExWindowClass = (wxChar*) wxT("wxTaskBarExWindowClass");
wxChar* wxTaskBarExWindow = (wxChar*) wxT("wxTaskBarExWindow");
@ -307,10 +307,9 @@ bool wxTaskBarIconEx::IsBalloonsSupported()
return true;
}
long wxTaskBarIconEx::WindowProc( WXHWND hWnd, unsigned int msg, unsigned int wParam, long lParam )
LRESULT wxTaskBarIconEx::WindowProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
wxEventType eventType = 0;
long lReturnValue = 0;
if ( WM_CLOSE == msg )
{
@ -318,10 +317,10 @@ long wxTaskBarIconEx::WindowProc( WXHWND hWnd, unsigned int msg, unsigned int wP
ProcessEvent(eventClose);
if ( !eventClose.GetSkipped() ) {
lReturnValue = DefWindowProc((HWND) hWnd, msg, wParam, lParam);
} else {
lReturnValue = 0;
return DefWindowProc(hWnd, msg, wParam, lParam);
}
return 0;
}
else if ( WM_TASKBARCREATED == msg )
{
@ -398,20 +397,20 @@ long wxTaskBarIconEx::WindowProc( WXHWND hWnd, unsigned int msg, unsigned int wP
}
else
{
lReturnValue = DefWindowProc((HWND) hWnd, msg, wParam, lParam);
return DefWindowProc(hWnd, msg, wParam, lParam);
}
if (eventType)
{
wxTaskBarIconExEvent event(eventType, this);
lReturnValue = ProcessEvent(event);
return ProcessEvent(event);
}
return lReturnValue;
return 0;
}
LRESULT APIENTRY wxTaskBarIconExWindowProc( HWND hWnd, unsigned msg, UINT wParam, LONG lParam )
LRESULT APIENTRY wxTaskBarIconExWindowProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
return wxGetApp().GetTaskBarIcon()->WindowProc((WXHWND) hWnd, msg, wParam, lParam);
return wxGetApp().GetTaskBarIcon()->WindowProc(hWnd, msg, wParam, lParam);
}

View File

@ -81,7 +81,7 @@ public:
// Implementation
WXHWND CreateTaskBarWindow( wxChar* szWindowTitle );
bool IsBalloonsSupported();
long WindowProc( WXHWND hWnd, unsigned int msg, unsigned int wParam, long lParam );
LRESULT WindowProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
// Data members
protected: