diff options
Diffstat (limited to 'source/blender/editors/screen')
-rw-r--r-- | source/blender/editors/screen/area.c | 4 | ||||
-rw-r--r-- | source/blender/editors/screen/screen_edit.c | 10 | ||||
-rw-r--r-- | source/blender/editors/screen/spacetypes.c | 2 |
3 files changed, 13 insertions, 3 deletions
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index 54bfdcf4d65..c959e1da17d 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -167,7 +167,9 @@ void ED_region_do_draw(bContext *C, ARegion *ar) glColor3f(fac, fac, fac); glRecti(20, 2, 30, 12); } - region_draw_emboss(ar); + + if(C->area) + region_draw_emboss(ar); /* XXX test: add convention to end regions always in pixel space, for drawing of borders/gestures etc */ ED_region_pixelspace(C, ar); diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index d7a43680b97..e2ac4d90645 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -920,24 +920,33 @@ void ED_screens_initialize(wmWindowManager *wm) void ED_region_exit(bContext *C, ARegion *ar) { + ARegion *prevar= C->region; + + C->region= ar; WM_event_remove_handlers(C, &ar->handlers); + C->region= prevar; } void ED_area_exit(bContext *C, ScrArea *sa) { + ScrArea *prevsa= C->area; ARegion *ar; + C->area= sa; for(ar= sa->regionbase.first; ar; ar= ar->next) ED_region_exit(C, ar); WM_event_remove_handlers(C, &sa->handlers); + C->area= prevsa; } void ED_screen_exit(bContext *C, wmWindow *window, bScreen *screen) { + wmWindow *prevwin= C->window; ScrArea *sa; ARegion *ar; + C->window= window; for(ar= screen->regionbase.first; ar; ar= ar->next) ED_region_exit(C, ar); @@ -945,6 +954,7 @@ void ED_screen_exit(bContext *C, wmWindow *window, bScreen *screen) ED_area_exit(C, sa); WM_event_remove_handlers(C, &window->handlers); + C->window= prevwin; } diff --git a/source/blender/editors/screen/spacetypes.c b/source/blender/editors/screen/spacetypes.c index ec348882acb..514a459df4f 100644 --- a/source/blender/editors/screen/spacetypes.c +++ b/source/blender/editors/screen/spacetypes.c @@ -71,7 +71,6 @@ void ED_spacetypes_init(void) /* register operator types for screen and all spaces */ ED_operatortypes_screen(); - UI_operatortypes(); ui_view2d_operatortypes(); spacetypes = BKE_spacetypes_list(); @@ -89,7 +88,6 @@ void ED_spacetypes_keymap(wmWindowManager *wm) ED_keymap_screen(wm); UI_view2d_keymap(wm); - UI_keymap(wm); spacetypes = BKE_spacetypes_list(); for(type=spacetypes->first; type; type=type->next) |