[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52289] trunk/blender/source/blender/ windowmanager/intern/wm_playanim.c: animation playback window now pauses properly.

Campbell Barton ideasman42 at gmail.com
Sat Nov 17 05:47:38 CET 2012


Revision: 52289
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52289
Author:   campbellbarton
Date:     2012-11-17 04:47:33 +0000 (Sat, 17 Nov 2012)
Log Message:
-----------
animation playback window now pauses properly.

Modified Paths:
--------------
    trunk/blender/source/blender/windowmanager/intern/wm_playanim.c

Modified: trunk/blender/source/blender/windowmanager/intern/wm_playanim.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_playanim.c	2012-11-17 01:15:28 UTC (rev 52288)
+++ trunk/blender/source/blender/windowmanager/intern/wm_playanim.c	2012-11-17 04:47:33 UTC (rev 52289)
@@ -433,6 +433,11 @@
 		ps->stopped = FALSE;
 	}
 
+	if (ps->wait2) {
+		pupdate_time();
+		ptottime = 0;
+	}
+
 	switch (type) {
 		case GHOST_kEventKeyDown:
 		case GHOST_kEventKeyUp:
@@ -940,6 +945,7 @@
 		if (ptottime > 0.0) ptottime = 0.0;
 
 		while (ps.picture) {
+			int hasevent;
 #ifndef USE_IMB_CACHE
 			if (ibuf != NULL && ibuf->ftype == 0) IMB_freeImBuf(ibuf);
 #endif
@@ -993,21 +999,12 @@
 			ps.next = ps.direction;
 
 
-			{
-				int hasevent = GHOST_ProcessEvents(g_WS.ghost_system, 0);
+			while ((hasevent = GHOST_ProcessEvents(g_WS.ghost_system, 0) || ps.wait2 != 0)) {
 				if (hasevent) {
 					GHOST_DispatchEvents(g_WS.ghost_system);
 				}
 			}
 
-			/* XXX25 - we should not have to do this, but it makes scrubbing functional! */
-			if (g_WS.qual & WS_QUAL_LMOUSE) {
-				ps.next = 0;
-			}
-			else {
-				ps.sstep = 0;
-			}
-
 			ps.wait2 = ps.sstep;
 
 			if (ps.wait2 == 0 && ps.stopped == 0) {




More information about the Bf-blender-cvs mailing list