[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27254] trunk/blender/source/blender/ editors: [#21436] Do not set BASACT to NULL when new base wasn' t created in convert_exec

Campbell Barton ideasman42 at gmail.com
Wed Mar 3 19:49:28 CET 2010


Revision: 27254
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27254
Author:   campbellbarton
Date:     2010-03-03 19:49:26 +0100 (Wed, 03 Mar 2010)

Log Message:
-----------
[#21436] Do not set BASACT to NULL when new base wasn't created in convert_exec
by Sergey Sharybin (nazgul)

(from the patch)
When new base wasn't created in convert_exec() function. BASACT will set to NULL, which is not convenient. For example,
u can't enter edit mode after converting curve to mesh. Now BASACT changes only if base for active object was changed.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/animation/anim_markers.c
    trunk/blender/source/blender/editors/object/object_add.c

Modified: trunk/blender/source/blender/editors/animation/anim_markers.c
===================================================================
--- trunk/blender/source/blender/editors/animation/anim_markers.c	2010-03-03 17:12:24 UTC (rev 27253)
+++ trunk/blender/source/blender/editors/animation/anim_markers.c	2010-03-03 18:49:26 UTC (rev 27254)
@@ -819,7 +819,7 @@
 		Scene *scene= CTX_data_scene(C);
 		Base *base;
 		TimeMarker *marker;
-		int sel;
+		int sel= 0;
 
 		if (!extend)
 			scene_deselect_all(scene);

Modified: trunk/blender/source/blender/editors/object/object_add.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_add.c	2010-03-03 17:12:24 UTC (rev 27253)
+++ trunk/blender/source/blender/editors/object/object_add.c	2010-03-03 18:49:26 UTC (rev 27254)
@@ -1348,9 +1348,6 @@
 				}
 				
 				mball_to_mesh(&ob->disp, ob1->data);
-				
-				/* So we can see the wireframe */
-				BASACT= basen; // XXX hm
 			}
 			else
 				continue;
@@ -1362,7 +1359,9 @@
 		if(basen) {
 			if(ob == obact) {
 				ED_base_object_activate(C, basen);
-				basact = basen;
+
+				/* store new active base to update BASACT */
+				basact= basen;
 			}
 
 			basen= NULL;
@@ -1382,13 +1381,14 @@
 	if(!keep_original)
 		DAG_scene_sort(scene);
 
-	/* texspace and normals */
-	if(!basen) BASACT= NULL; // XXX base;
-
 // XXX	ED_object_enter_editmode(C, 0);
 // XXX	exit_editmode(C, EM_FREEDATA|EM_WAITCURSOR); /* freedata, but no undo */
-	BASACT= basact;
 
+	if (basact) {
+		/* active base was changed */
+		BASACT= basact;
+	}
+
 	DAG_scene_sort(scene);
 	WM_event_add_notifier(C, NC_SCENE|NC_OBJECT|ND_DRAW, scene); /* is NC_SCENE needed ? */
 





More information about the Bf-blender-cvs mailing list