[Bf-blender-cvs] [7ee340c] master: Fix writing freed memory, exiting full view
Campbell Barton
noreply at git.blender.org
Tue Mar 31 17:01:23 CEST 2015
Commit: 7ee340c0b43c89c157264bb723b01dff5c6005b4
Author: Campbell Barton
Date: Wed Apr 1 01:58:15 2015 +1100
Branches: master
https://developer.blender.org/rB7ee340c0b43c89c157264bb723b01dff5c6005b4
Fix writing freed memory, exiting full view
===================================================================
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 aadfa9e..e1c414b 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -1765,6 +1765,7 @@ void ED_screen_full_prevspace(bContext *C, ScrArea *sa)
if (sa->flag & AREA_FLAG_STACKED_FULLSCREEN) {
/* stacked fullscreen -> only go back to previous screen and don't toggle out of fullscreen */
ED_area_prevspace(C, sa);
+ sa->flag &= ~AREA_FLAG_TEMP_TYPE;
}
else {
ED_screen_restore_temp_type(C, sa);
@@ -1804,8 +1805,7 @@ void ED_screen_full_restore(bContext *C, ScrArea *sa)
else {
ED_screen_state_toggle(C, win, sa, state);
}
-
- sa->flag &= ~AREA_FLAG_TEMP_TYPE;
+ /* warning: 'sa' may be freed */
}
/* otherwise just tile the area again */
else {
@@ -1813,7 +1813,11 @@ void ED_screen_full_restore(bContext *C, ScrArea *sa)
}
}
-/* this function toggles: if area is maximized/full then the parent will be restored */
+/**
+ * this function toggles: if area is maximized/full then the parent will be restored
+ *
+ * \warning \a sa may be freed.
+ */
ScrArea *ED_screen_state_toggle(bContext *C, wmWindow *win, ScrArea *sa, const short state)
{
bScreen *sc, *oldscreen;
More information about the Bf-blender-cvs
mailing list