diff options
author | Ton Roosendaal <ton@blender.org> | 2008-12-14 22:04:20 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2008-12-14 22:04:20 +0300 |
commit | b1e07d13ec7aa04cae31495343fcadc70e9a2be3 (patch) | |
tree | 9582b373f48cd54e9b8872e491279b3ec092430f /source | |
parent | 5858ce449544052f4208e63275ec6acb25557dd2 (diff) |
2.5
Small fix: in the ghost part of WM event handling, a function was
setting 'active subwindow' and registering headers to be drawn active
for this or not. It should be nicely inside the handler queue, so
it doesnt get executed on modal window-handlers.
(This solves flashing area headers while dragging area edges)
Still needed to resolve how screen handling goes... via handlers
with operators? On my list to keep track of. :)
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/screen/screen_edit.c | 4 | ||||
-rw-r--r-- | source/blender/editors/screen/screen_ops.c | 1 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 8 |
3 files changed, 4 insertions, 9 deletions
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index e74e1e113fd..1c0b8932d94 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -1026,10 +1026,6 @@ void ED_screen_set_subwinactive(wmWindow *win) ScrArea *sa; int oldswin= win->screen->subwinactive; - /* XXX prevent this call for modal menus now */ - if(win->screen->regionbase.first) - return; - for(sa= win->screen->areabase.first; sa; sa= sa->next) { if(event->x > sa->totrct.xmin && event->x < sa->totrct.xmax) if(event->y > sa->totrct.ymin && event->y < sa->totrct.ymax) diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index db8ef82a5b0..cb45f1a2680 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -277,7 +277,6 @@ static int screen_cursor_test(bContext *C, wmOperator *op, wmEvent *event) } else { WM_set_cursor(C, CURSOR_X_MOVE); } - return OPERATOR_FINISHED; } else { ScrArea *sa= NULL; diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 88c29ddae29..cd66d0b479b 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -635,14 +635,16 @@ void wm_event_do_handlers(bContext *C) /* MVC demands to not draw in event handlers... for now we leave it */ wm_window_make_drawable(C, win); - + action= wm_handlers_do(C, event, &win->handlers); if(wm_event_always_pass(event) || action==WM_HANDLER_CONTINUE) { ScrArea *sa; ARegion *ar; int doit= 0; - + + ED_screen_set_subwinactive(win); /* state variables in screen */ + for(sa= win->screen->areabase.first; sa; sa= sa->next) { if(wm_event_always_pass(event) || wm_event_prev_inside_i(event, &sa->totrct)) { doit= 1; @@ -896,8 +898,6 @@ void wm_event_add_ghostevent(wmWindow *win, int type, void *customdata) event.x= evt->x= cx; event.y= evt->y= (win->sizey-1) - cy; - ED_screen_set_subwinactive(win); /* state variables in screen */ - update_tablet_data(win, &event); wm_event_add(win, &event); } |