[Bf-blender-cvs] [d71db08] master: Fix 39065: Leaving QuadView lost view settings

Campbell Barton noreply at git.blender.org
Tue Apr 29 19:56:29 CEST 2014


Commit: d71db08f6d31521925ae5ee5ebd5bb542d906d78
Author: Campbell Barton
Date:   Wed Apr 30 03:49:01 2014 +1000
https://developer.blender.org/rBd71db08f6d31521925ae5ee5ebd5bb542d906d78

Fix 39065: Leaving QuadView lost view settings

Now the 'User' view is used when exiting quadview.

===================================================================

M	source/blender/editors/screen/screen_ops.c

===================================================================

diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index 49a3d84..6506eb3 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -2889,6 +2889,20 @@ static int region_quadview_exec(bContext *C, wmOperator *op)
 		if (sa->spacetype == SPACE_VIEW3D) {
 			ARegion *ar_iter;
 			RegionView3D *rv3d = ar->regiondata;
+
+			/* if this is a locked view, use settings from 'User' view */
+			if (rv3d->viewlock) {
+				View3D *v3d_user;
+				ARegion *ar_user;
+
+				if (ED_view3d_context_user_region(C, &v3d_user, &ar_user)) {
+					if (ar != ar_user) {
+						SWAP(void *, ar->regiondata, ar_user->regiondata);
+						rv3d = ar->regiondata;
+					}
+				}
+			}
+
 			rv3d->viewlock_quad = RV3D_VIEWLOCK_INIT;
 			rv3d->viewlock = 0;
 			rv3d->rflag &= ~RV3D_CLIPPING;




More information about the Bf-blender-cvs mailing list