Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Kuznetsov <kuzsasha@gmail.com>2013-05-28 22:36:47 +0400
committerAlexander Kuznetsov <kuzsasha@gmail.com>2013-05-28 22:36:47 +0400
commit60befcdc6297281ce226273123d3ccfc0a681aff (patch)
tree482e7c8e45a4847f098e19bba210b1194f65da2d
parent3128a47d22ea7c6f85a3a133d86bd71aa6e9509d (diff)
Fix for r35524. Thanks Jeffrey Hoover for reporting.
WM_SIZE is dispatched before full init.
-rw-r--r--intern/ghost/intern/GHOST_SystemWin32.cpp27
1 files changed, 21 insertions, 6 deletions
diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp
index 96842f0d2e9..a0ebb2c25dc 100644
--- a/intern/ghost/intern/GHOST_SystemWin32.cpp
+++ b/intern/ghost/intern/GHOST_SystemWin32.cpp
@@ -1162,9 +1162,16 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
* to perform any move or size change processing during the WM_WINDOWPOSCHANGED
* message without calling DefWindowProc.
*/
- system->pushEvent(processWindowEvent(GHOST_kEventWindowSize, window));
- system->dispatchEvents();
- eventHandled = true;
+ /* we get first WM_SIZE before we fully init. So, do not dispatch before we continiously resizng */
+ if(window->m_inLiveResize)
+ {
+ system->pushEvent(processWindowEvent(GHOST_kEventWindowSize, window));
+ system->dispatchEvents();
+ }
+ else
+ {
+ event = processWindowEvent(GHOST_kEventWindowSize, window);
+ }
break;
case WM_CAPTURECHANGED:
window->lostMouseCapture();
@@ -1180,9 +1187,17 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
* to perform any move or size change processing during the WM_WINDOWPOSCHANGED
* message without calling DefWindowProc.
*/
- system->pushEvent(processWindowEvent(GHOST_kEventWindowMove, window));
- system->dispatchEvents();
- eventHandled = true;
+ /* see WM_SIZE comment*/
+ if(window->m_inLiveResize)
+ {
+ system->pushEvent(processWindowEvent(GHOST_kEventWindowMove, window));
+ system->dispatchEvents();
+ }
+ else
+ {
+ event = processWindowEvent(GHOST_kEventWindowMove, window);
+ }
+
break;
////////////////////////////////////////////////////////////////////////
// Window events, ignored