[Bf-blender-cvs] [3ee74fe] master: Fix for deleting screen w/ temp screens in list
Campbell Barton
noreply at git.blender.org
Wed Aug 26 04:47:45 CEST 2015
Commit: 3ee74feb2b0f6988ed17a5583998fac768ce7021
Author: Campbell Barton
Date: Wed Aug 26 12:41:23 2015 +1000
Branches: master
https://developer.blender.org/rB3ee74feb2b0f6988ed17a5583998fac768ce7021
Fix for deleting screen w/ temp screens in list
If the next screen to use was temporary, deleting the screen would fail.
===================================================================
M source/blender/editors/screen/screen_edit.c
===================================================================
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index 430597e..90a3afc 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -1568,15 +1568,24 @@ void ED_screen_set(bContext *C, bScreen *sc)
}
}
-static int ed_screen_used(wmWindowManager *wm, bScreen *sc)
+static bool ed_screen_used(wmWindowManager *wm, bScreen *sc)
{
wmWindow *win;
- for (win = wm->windows.first; win; win = win->next)
- if (win->screen == sc)
- return 1;
-
- return 0;
+ for (win = wm->windows.first; win; win = win->next) {
+ if (win->screen == sc) {
+ return true;
+ }
+
+ if (ELEM(win->screen->state, SCREENMAXIMIZED, SCREENFULL)) {
+ ScrArea *sa = win->screen->areabase.first;
+ if (sa->full == sc) {
+ return true;
+ }
+ }
+ }
+
+ return false;
}
/* only call outside of area/region loops */
More information about the Bf-blender-cvs
mailing list