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.
This commit is contained in:
@@ -1967,7 +1967,7 @@ static int flyEnd(bContext *C, FlyInfo *fly)
|
||||
|
||||
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 @@ static int fly_modal(bContext *C, wmOperator *op, wmEvent *event)
|
||||
|
||||
flyEvent(fly, event);
|
||||
|
||||
if(event->type==TIMER)
|
||||
if(event->type==TIMER && event->customdata == fly->timer)
|
||||
flyApply(fly);
|
||||
|
||||
if(fly->redraw) {;
|
||||
|
||||
@@ -1265,12 +1265,12 @@ void wm_event_do_handlers(bContext *C)
|
||||
|
||||
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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user