Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2008-12-14 22:04:20 +0300
committerTon Roosendaal <ton@blender.org>2008-12-14 22:04:20 +0300
commitb1e07d13ec7aa04cae31495343fcadc70e9a2be3 (patch)
tree9582b373f48cd54e9b8872e491279b3ec092430f /source
parent5858ce449544052f4208e63275ec6acb25557dd2 (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.c4
-rw-r--r--source/blender/editors/screen/screen_ops.c1
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c8
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);
}