[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25082] trunk/blender: [#20213] Align to Transform Orientation crashes Blender

Martin Poirier theeth at yahoo.com
Wed Dec 2 21:00:00 CET 2009


Revision: 25082
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25082
Author:   theeth
Date:     2009-12-02 20:59:57 +0100 (Wed, 02 Dec 2009)

Log Message:
-----------
[#20213] Align to Transform Orientation crashes Blender

Align needs to be call with region context.

Also added checks to prevent this from crashing if not called properly.

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/space_view3d.py
    trunk/blender/source/blender/editors/transform/transform.c
    trunk/blender/source/blender/editors/transform/transform_generics.c

Modified: trunk/blender/release/scripts/ui/space_view3d.py
===================================================================
--- trunk/blender/release/scripts/ui/space_view3d.py	2009-12-02 19:32:21 UTC (rev 25081)
+++ trunk/blender/release/scripts/ui/space_view3d.py	2009-12-02 19:59:57 UTC (rev 25082)
@@ -139,7 +139,7 @@
         if context.edit_object and context.edit_object.type == 'ARMATURE':
             layout.operator("armature.align")
         else:
-            layout.operator_context = 'EXEC_AREA'
+            layout.operator_context = 'EXEC_REGION_WIN'
             layout.operator("tfm.transform", text="Align to Transform Orientation").mode = 'ALIGN' # XXX see alignmenu() in edit.c of b2.4x to get this working
 
         layout.separator()

Modified: trunk/blender/source/blender/editors/transform/transform.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.c	2009-12-02 19:32:21 UTC (rev 25081)
+++ trunk/blender/source/blender/editors/transform/transform.c	2009-12-02 19:59:57 UTC (rev 25082)
@@ -126,7 +126,7 @@
 
 void setTransformViewMatrices(TransInfo *t)
 {
-	if(t->spacetype==SPACE_VIEW3D && t->ar->regiontype == RGN_TYPE_WINDOW) {
+	if(t->spacetype==SPACE_VIEW3D && t->ar && t->ar->regiontype == RGN_TYPE_WINDOW) {
 		RegionView3D *rv3d = t->ar->regiondata;
 
 		copy_m4_m4(t->viewmat, rv3d->viewmat);

Modified: trunk/blender/source/blender/editors/transform/transform_generics.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_generics.c	2009-12-02 19:32:21 UTC (rev 25081)
+++ trunk/blender/source/blender/editors/transform/transform_generics.c	2009-12-02 19:59:57 UTC (rev 25082)
@@ -1357,7 +1357,7 @@
 	/* for panning from cameraview */
 	if(t->flag & T_OBJECT)
 	{
-		if(t->spacetype==SPACE_VIEW3D && t->ar->regiontype == RGN_TYPE_WINDOW)
+		if(t->spacetype==SPACE_VIEW3D && t->ar && t->ar->regiontype == RGN_TYPE_WINDOW)
 		{
 			View3D *v3d = t->view;
 			Scene *scene = t->scene;





More information about the Bf-blender-cvs mailing list