[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24345] trunk/blender/source/blender: python console autocomplete would crash ( missing NULL check for pose channels)
Campbell Barton
ideasman42 at gmail.com
Thu Nov 5 11:50:59 CET 2009
Revision: 24345
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24345
Author: campbellbarton
Date: 2009-11-05 11:50:58 +0100 (Thu, 05 Nov 2009)
Log Message:
-----------
python console autocomplete would crash (missing NULL check for pose channels)
add rna functions id.animation_data_create() and id.animation_data_clear() - works for all ID types that support animdata.
Modified Paths:
--------------
trunk/blender/source/blender/editors/screen/screen_context.c
trunk/blender/source/blender/makesrna/intern/rna_ID.c
Modified: trunk/blender/source/blender/editors/screen/screen_context.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_context.c 2009-11-05 10:09:45 UTC (rev 24344)
+++ trunk/blender/source/blender/editors/screen/screen_context.c 2009-11-05 10:50:58 UTC (rev 24345)
@@ -196,7 +196,7 @@
bArmature *arm= (obact) ? obact->data : NULL;
bPoseChannel *pchan;
- if (obact && arm) {
+ if (obact && obact->pose && arm) {
for (pchan= obact->pose->chanbase.first; pchan; pchan= pchan->next) {
/* ensure that PoseChannel is on visible layer and is not hidden in PoseMode */
if ((pchan->bone) && (arm->layer & pchan->bone->layer) && !(pchan->bone->flag & BONE_HIDDEN_P)) {
@@ -211,7 +211,7 @@
bArmature *arm= (obact) ? obact->data : NULL;
bPoseChannel *pchan;
- if (obact && arm) {
+ if (obact && obact->pose && arm) {
for (pchan= obact->pose->chanbase.first; pchan; pchan= pchan->next) {
/* ensure that PoseChannel is on visible layer and is not hidden in PoseMode */
if ((pchan->bone) && (arm->layer & pchan->bone->layer) && !(pchan->bone->flag & BONE_HIDDEN_P)) {
Modified: trunk/blender/source/blender/makesrna/intern/rna_ID.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_ID.c 2009-11-05 10:09:45 UTC (rev 24344)
+++ trunk/blender/source/blender/makesrna/intern/rna_ID.c 2009-11-05 10:50:58 UTC (rev 24345)
@@ -69,6 +69,7 @@
#include "BKE_idprop.h"
#include "BKE_library.h"
+#include "BKE_animsys.h"
/* name functions that ignore the first two ID characters */
void rna_ID_name_get(PointerRNA *ptr, char *value)
@@ -326,6 +327,15 @@
RNA_def_function_ui_description(func, "Create a copy of this datablock (not supported for all datablocks).");
parm= RNA_def_pointer(func, "id", "ID", "", "New copy of the ID.");
RNA_def_function_return(func, parm);
+
+ func= RNA_def_function(srna, "animation_data_create", "BKE_id_add_animdata");
+ RNA_def_function_ui_description(func, "Create animation data to this ID, note that not all ID types support this.");
+ parm= RNA_def_pointer(func, "anim_data", "AnimData", "", "New animation data or NULL.");
+ RNA_def_function_return(func, parm);
+
+ func= RNA_def_function(srna, "animation_data_clear", "BKE_free_animdata");
+ RNA_def_function_ui_description(func, "Clear animation on this this ID.");
+
}
static void rna_def_library(BlenderRNA *brna)
More information about the Bf-blender-cvs
mailing list