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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2008-12-18 22:41:36 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2008-12-18 22:41:36 +0300
commit93cc4629e35e85a05c556cabd5b4d2af6a6cf072 (patch)
tree093e7e1274dbd94590f8548426def75bd7909135 /source/blender/editors/screen
parentaf746acaad8fcfb289e6e56e9199c5b492429934 (diff)
2.5: fix for crashes due to access to free'd memory in joining areas,
ripping areas and duplicating windows.
Diffstat (limited to 'source/blender/editors/screen')
-rw-r--r--source/blender/editors/screen/screen_ops.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index 4514d54e317..2342d5c2e8b 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -264,7 +264,7 @@ static int screen_area_rip_op(bContext *C, wmOperator *op)
/* allocs new screen and adds to newly created window, using window size */
newsc= screen_add(newwin, sc->id.name+2);
- win->screen= newsc;
+ newwin->screen= newsc;
/* copy area to new screen */
area_copy_data((ScrArea *)newsc->areabase.first, sa, 0);
@@ -767,6 +767,7 @@ static int area_split_cancel(bContext *C, wmOperator *op)
if (screen_area_join(C, CTX_wm_screen(C), sd->sarea, sd->narea)) {
if (CTX_wm_area(C) == sd->narea) {
CTX_wm_area_set(C, NULL);
+ CTX_wm_region_set(C, NULL);
}
sd->narea = NULL;
}
@@ -1018,6 +1019,7 @@ static int area_join_apply(bContext *C, wmOperator *op)
}
if (CTX_wm_area(C) == jd->sa2) {
CTX_wm_area_set(C, NULL);
+ CTX_wm_region_set(C, NULL);
}
return 1;