[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28261] trunk/blender/source/blender: possible fix for [#22057] Autoname L/R in bones names center bones as .R

Campbell Barton ideasman42 at gmail.com
Sun Apr 18 16:47:45 CEST 2010


Revision: 28261
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28261
Author:   campbellbarton
Date:     2010-04-18 16:47:45 +0200 (Sun, 18 Apr 2010)

Log Message:
-----------
possible fix for [#22057] Autoname L/R in bones names center bones as .R
Bone would get a '.' added even when there was no extension.
(center limit would still be useful)

- name flipping function used sizeof() incorrectly.
- ED_lorem should be extern.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_armature.h
    trunk/blender/source/blender/blenkernel/intern/armature.c
    trunk/blender/source/blender/blenkernel/intern/deform.c
    trunk/blender/source/blender/editors/armature/editarmature.c
    trunk/blender/source/blender/editors/armature/poseobject.c
    trunk/blender/source/blender/editors/curve/curve_intern.h
    trunk/blender/source/blender/python/intern/bpy.c

Modified: trunk/blender/source/blender/blenkernel/BKE_armature.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_armature.h	2010-04-18 14:09:46 UTC (rev 28260)
+++ trunk/blender/source/blender/blenkernel/BKE_armature.h	2010-04-18 14:47:45 UTC (rev 28261)
@@ -81,7 +81,7 @@
 struct bArmature *copy_armature(struct bArmature *arm);
 
 void bone_flip_name (char *name, int strip_number);
-void bone_autoside_name (char *name, int strip_number, short axis, float head, float tail);
+int bone_autoside_name (char *name, int strip_number, short axis, float head, float tail);
 
 struct Bone *get_named_bone (struct bArmature *arm, const char *name);
 

Modified: trunk/blender/source/blender/blenkernel/intern/armature.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/armature.c	2010-04-18 14:09:46 UTC (rev 28260)
+++ trunk/blender/source/blender/blenkernel/intern/armature.c	2010-04-18 14:47:45 UTC (rev 28261)
@@ -361,7 +361,7 @@
  *	axis: the axis to name on
  *	head/tail: the head/tail co-ordinate of the bone on the specified axis
  */
-void bone_autoside_name (char *name, int strip_number, short axis, float head, float tail)
+int bone_autoside_name (char *name, int strip_number, short axis, float head, float tail)
 {
 	unsigned int len;
 	char	basename[32]={""};
@@ -462,9 +462,15 @@
 		if ((32 - len) < strlen(extension) + 1) { /* add 1 for the '.' */
 			strncpy(name, basename, len-strlen(extension));
 		}
+		
+		sprintf(name, "%s.%s", basename, extension);
+		
+		return 1;
 	}
 
-	sprintf(name, "%s.%s", basename, extension);
+	else {
+		return 0;
+	}
 }
 
 /* ************* B-Bone support ******************* */

Modified: trunk/blender/source/blender/blenkernel/intern/deform.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/deform.c	2010-04-18 14:09:46 UTC (rev 28260)
+++ trunk/blender/source/blender/blenkernel/intern/deform.c	2010-04-18 14:47:45 UTC (rev 28261)
@@ -364,10 +364,10 @@
 void flip_side_name (char *name, const char *from_name, int strip_number)
 {
 	int     len;
-	char    prefix[sizeof((bDeformGroup *)NULL)->name]={""};   /* The part before the facing */
-	char    suffix[sizeof((bDeformGroup *)NULL)->name]={""};   /* The part after the facing */
-	char    replace[sizeof((bDeformGroup *)NULL)->name]={""};  /* The replacement string */
-	char    number[sizeof((bDeformGroup *)NULL)->name]={""};   /* The number extension string */
+	char    prefix[sizeof(((bDeformGroup *)NULL)->name)]= {""};   /* The part before the facing */
+	char    suffix[sizeof(((bDeformGroup *)NULL)->name)]= {""};   /* The part after the facing */
+	char    replace[sizeof(((bDeformGroup *)NULL)->name)]=  {""};  /* The replacement string */
+	char    number[sizeof(((bDeformGroup *)NULL)->name)]=  {""};   /* The number extension string */
 	char    *index=NULL;
 
 	len= strlen(from_name);

Modified: trunk/blender/source/blender/editors/armature/editarmature.c
===================================================================
--- trunk/blender/source/blender/editors/armature/editarmature.c	2010-04-18 14:09:46 UTC (rev 28260)
+++ trunk/blender/source/blender/editors/armature/editarmature.c	2010-04-18 14:47:45 UTC (rev 28261)
@@ -5601,8 +5601,8 @@
 	CTX_DATA_BEGIN(C, EditBone *, ebone, selected_editable_bones)
 	{
 		BLI_strncpy(newname, ebone->name, sizeof(newname));
-		bone_autoside_name(newname, 1, axis, ebone->head[axis], ebone->tail[axis]);
-		ED_armature_bone_rename(arm, ebone->name, newname);
+		if(bone_autoside_name(newname, 1, axis, ebone->head[axis], ebone->tail[axis]))
+			ED_armature_bone_rename(arm, ebone->name, newname);
 	}
 	CTX_DATA_END;
 	

Modified: trunk/blender/source/blender/editors/armature/poseobject.c
===================================================================
--- trunk/blender/source/blender/editors/armature/poseobject.c	2010-04-18 14:09:46 UTC (rev 28260)
+++ trunk/blender/source/blender/editors/armature/poseobject.c	2010-04-18 14:47:45 UTC (rev 28261)
@@ -1410,8 +1410,8 @@
 	CTX_DATA_BEGIN(C, bPoseChannel*, pchan, selected_pose_bones)
 	{
 		BLI_strncpy(newname, pchan->name, sizeof(newname));
-		bone_autoside_name(newname, 1, axis, pchan->bone->head[axis], pchan->bone->tail[axis]);
-		ED_armature_bone_rename(arm, pchan->name, newname);
+		if(bone_autoside_name(newname, 1, axis, pchan->bone->head[axis], pchan->bone->tail[axis]))
+			ED_armature_bone_rename(arm, pchan->name, newname);
 	}
 	CTX_DATA_END;
 	

Modified: trunk/blender/source/blender/editors/curve/curve_intern.h
===================================================================
--- trunk/blender/source/blender/editors/curve/curve_intern.h	2010-04-18 14:09:46 UTC (rev 28260)
+++ trunk/blender/source/blender/editors/curve/curve_intern.h	2010-04-18 14:47:45 UTC (rev 28261)
@@ -33,7 +33,7 @@
 struct wmOperatorType;
 
 /* lorem.c */
-char *ED_lorem;
+extern char *ED_lorem;
 
 /* editfont.c */
 enum { DEL_ALL, DEL_NEXT_CHAR, DEL_PREV_CHAR, DEL_SELECTION, DEL_NEXT_SEL, DEL_PREV_SEL };

Modified: trunk/blender/source/blender/python/intern/bpy.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy.c	2010-04-18 14:09:46 UTC (rev 28260)
+++ trunk/blender/source/blender/python/intern/bpy.c	2010-04-18 14:47:45 UTC (rev 28261)
@@ -96,12 +96,15 @@
 	/* Needs to be first since this dir is needed for future modules */
 	char *modpath= BLI_gethome_folder("scripts/modules", BLI_GETHOME_ALL);
 	if(modpath) {
+		// printf("bpy: found module path '%s'.\n", modpath);
 		PyObject *sys_path= PySys_GetObject("path"); /* borrow */
 		PyObject *py_modpath= PyUnicode_FromString(modpath);
 		PyList_Insert(sys_path, 0, py_modpath); /* add first */
 		Py_DECREF(py_modpath);
 	}
-	
+	else {
+		printf("bpy: couldnt find 'scripts/modules', blender probably wont start.\n");
+	}
 	/* stand alone utility modules not related to blender directly */
 	Geometry_Init();
 	Mathutils_Init();





More information about the Bf-blender-cvs mailing list