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:
Diffstat (limited to 'source/blender/editors/screen/screen_edit.c')
-rw-r--r--source/blender/editors/screen/screen_edit.c10
1 files changed, 10 insertions, 0 deletions
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;
}