diff options
author | Ton Roosendaal <ton@blender.org> | 2011-01-31 20:28:03 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2011-01-31 20:28:03 +0300 |
commit | 55865239a236e5567b78bf95001b0de3ab049717 (patch) | |
tree | d7dfdcecf9d1a198364c5b02b836415f25d07a44 /source/blender/editors/screen/screen_edit.c | |
parent | 31b78fd72e44de59b193295467b9b73673daccde (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.c | 7 |
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 |