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:
authorTon Roosendaal <ton@blender.org>2011-01-31 20:28:03 +0300
committerTon Roosendaal <ton@blender.org>2011-01-31 20:28:03 +0300
commit55865239a236e5567b78bf95001b0de3ab049717 (patch)
treed7dfdcecf9d1a198364c5b02b836415f25d07a44 /source/blender/editors/screen/screen_edit.c
parent31b78fd72e44de59b193295467b9b73673daccde (diff)
Bugfix #25874
Area split error: if the first split position was exactly aligned with another 'edge' it merged the edges, causing the subdivision layout to go haywire. Only happens in rare occasions, good find this report :)
Diffstat (limited to 'source/blender/editors/screen/screen_edit.c')
-rw-r--r--source/blender/editors/screen/screen_edit.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index 376e70f6ea2..9a11dfaa342 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -346,7 +346,7 @@ static short testsplitpoint(ScrArea *sa, char dir, float fac)
}
}
-ScrArea *area_split(bScreen *sc, ScrArea *sa, char dir, float fac)
+ScrArea *area_split(bScreen *sc, ScrArea *sa, char dir, float fac, int merge)
{
ScrArea *newa=NULL;
ScrVert *sv1, *sv2;
@@ -400,7 +400,8 @@ ScrArea *area_split(bScreen *sc, ScrArea *sa, char dir, float fac)
}
/* remove double vertices en edges */
- removedouble_scrverts(sc);
+ if(merge)
+ removedouble_scrverts(sc);
removedouble_scredges(sc);
removenotused_scredges(sc);
@@ -1611,7 +1612,7 @@ ScrArea *ED_screen_full_toggle(bContext *C, wmWindow *win, ScrArea *sa)
oldscreen->animtimer= NULL;
/* returns the top small area */
- newa= area_split(sc, (ScrArea *)sc->areabase.first, 'h', 0.99f);
+ newa= area_split(sc, (ScrArea *)sc->areabase.first, 'h', 0.99f, 1);
ED_area_newspace(C, newa, SPACE_INFO);
/* use random area when we have no active one, e.g. when the