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
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2008-12-04 12:37:42 +0300
committerTon Roosendaal <ton@blender.org>2008-12-04 12:37:42 +0300
commit2e517db96a0b7a4b516ab09ae3c0bc27ad24bd3a (patch)
tree45e8c48a22bb7cd1daab223863f6c9d0b4cb49b7 /source/blender/windowmanager
parentcb92e781f435ef9c8498aea918a21cc819d0abd8 (diff)
Small fix for repeat-last-operator:
- Context in WM wasn't set for regions yet, done now. So repeat works on per-region ops too. - Debug print was printing the wrong repeated op. (repeat-op could show menu naming the op to repeat)
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 201a7452bbc..ac153b76c7e 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -505,6 +505,18 @@ static ScrArea *area_event_inside(bContext *C, wmEvent *event)
return NULL;
}
+static ARegion *region_event_inside(bContext *C, wmEvent *event)
+{
+ ARegion *ar;
+
+ if(C->screen && C->area)
+ for(ar= C->area->regionbase.first; ar; ar= ar->next)
+ if(BLI_in_rcti(&ar->winrct, event->x, event->y))
+ return ar;
+ return NULL;
+}
+
+
/* called in main loop */
/* goes over entire hierarchy: events -> window -> screen -> area -> region */
void wm_event_do_handlers(bContext *C)
@@ -523,6 +535,7 @@ void wm_event_do_handlers(bContext *C)
C->window= win;
C->screen= win->screen;
C->area= area_event_inside(C, event);
+ C->region= region_event_inside(C, event);
/* MVC demands to not draw in event handlers... for now we leave it */
wm_window_make_drawable(C, win);