[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24947] trunk/blender/source/blender: Fix for bug #20039: panning and rotating view makes animation playback slow.

Brecht Van Lommel brecht at blender.org
Fri Nov 27 13:43:48 CET 2009


Revision: 24947
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24947
Author:   blendix
Date:     2009-11-27 13:43:48 +0100 (Fri, 27 Nov 2009)

Log Message:
-----------
Fix for bug #20039: panning and rotating view makes animation playback slow.
Recent click event changes moved variable up one level too far.

Also fixes use of timer event for fly operator, it should always check for
which timer it is, not really related to this bug.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/view3d_view.c
    trunk/blender/source/blender/windowmanager/intern/wm_event_system.c

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_view.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_view.c	2009-11-27 12:42:42 UTC (rev 24946)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_view.c	2009-11-27 12:43:48 UTC (rev 24947)
@@ -1967,7 +1967,7 @@
 
 void flyEvent(FlyInfo *fly, wmEvent *event)
 {
-	if (event->type == TIMER) {
+	if (event->type == TIMER && event->customdata == fly->timer) {
 		fly->redraw = 1;
 	}
 	else if (event->type == MOUSEMOVE) {
@@ -2426,7 +2426,7 @@
 
 	flyEvent(fly, event);
 
-	if(event->type==TIMER)
+	if(event->type==TIMER && event->customdata == fly->timer)
 		flyApply(fly);
 
 	if(fly->redraw) {;

Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2009-11-27 12:42:42 UTC (rev 24946)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2009-11-27 12:43:48 UTC (rev 24947)
@@ -1265,12 +1265,12 @@
 
 	for(win= CTX_wm_manager(C)->windows.first; win; win= win->next) {
 		wmEvent *event;
-		int action = WM_HANDLER_CONTINUE;
 		
 		if( win->screen==NULL )
 			wm_event_free_all(win);
 		
 		while( (event= win->queue.first) ) {
+			int action = WM_HANDLER_CONTINUE;
 
 			CTX_wm_window_set(C, win);
 			





More information about the Bf-blender-cvs mailing list