[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57091] trunk/blender/intern/ghost/intern/ GHOST_SystemWin32.cpp: Fix for r35524.

Alexander Kuznetsov kuzsasha at gmail.com
Tue May 28 20:36:47 CEST 2013


Revision: 57091
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57091
Author:   alexk
Date:     2013-05-28 18:36:47 +0000 (Tue, 28 May 2013)
Log Message:
-----------
Fix for r35524. Thanks Jeffrey Hoover for reporting.

WM_SIZE is dispatched before full init.

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35524

Modified Paths:
--------------
    trunk/blender/intern/ghost/intern/GHOST_SystemWin32.cpp

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemWin32.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemWin32.cpp	2013-05-28 18:10:59 UTC (rev 57090)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemWin32.cpp	2013-05-28 18:36:47 UTC (rev 57091)
@@ -1162,9 +1162,16 @@
 					 * 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 @@
 					 * 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




More information about the Bf-blender-cvs mailing list