[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38111] trunk/blender/source: Fix #27863: converting curve spline type from python crashes.
Brecht Van Lommel
brechtvanlommel at pandora.be
Tue Jul 5 10:57:11 CEST 2011
Revision: 38111
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38111
Author: blendix
Date: 2011-07-05 08:57:11 +0000 (Tue, 05 Jul 2011)
Log Message:
-----------
Fix #27863: converting curve spline type from python crashes.
Modified Paths:
--------------
trunk/blender/source/blender/editors/curve/editcurve.c
trunk/blender/source/blender/editors/include/ED_curve.h
trunk/blender/source/blender/makesrna/intern/rna_curve.c
trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c
Modified: trunk/blender/source/blender/editors/curve/editcurve.c
===================================================================
--- trunk/blender/source/blender/editors/curve/editcurve.c 2011-07-05 08:28:54 UTC (rev 38110)
+++ trunk/blender/source/blender/editors/curve/editcurve.c 2011-07-05 08:57:11 UTC (rev 38111)
@@ -3535,6 +3535,11 @@
return 0;
}
+void ED_nurb_set_spline_type(Nurb *nu, int type)
+{
+ convertspline(type, nu);
+}
+
static int set_spline_type_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
Modified: trunk/blender/source/blender/editors/include/ED_curve.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_curve.h 2011-07-05 08:28:54 UTC (rev 38110)
+++ trunk/blender/source/blender/editors/include/ED_curve.h 2011-07-05 08:57:11 UTC (rev 38111)
@@ -71,6 +71,7 @@
struct Nurb *add_nurbs_primitive(struct bContext *C, float mat[4][4], int type, int newob);
int isNurbsel (struct Nurb *nu);
+void ED_nurb_set_spline_type(struct Nurb *nu, int type);
int join_curve_exec (struct bContext *C, struct wmOperator *op);
Modified: trunk/blender/source/blender/makesrna/intern/rna_curve.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_curve.c 2011-07-05 08:28:54 UTC (rev 38110)
+++ trunk/blender/source/blender/makesrna/intern/rna_curve.c 2011-07-05 08:57:11 UTC (rev 38111)
@@ -281,8 +281,7 @@
static void rna_Nurb_type_set(PointerRNA *ptr, int value)
{
Nurb *nu= (Nurb*)ptr->data;
- nu->type = value;
- // XXX - TODO change datatypes
+ ED_nurb_set_spline_type(nu, value);
}
static void rna_BPoint_array_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
@@ -1448,7 +1447,6 @@
RNA_def_property_ui_text(prop, "Radius Interpolation", "The type of radius interpolation for Bezier curves");
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
- // XXX - switching type probably needs comprehensive recalc of data like in 2.4x
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, curve_type_items);
RNA_def_property_enum_funcs(prop, NULL, "rna_Nurb_type_set", NULL);
Modified: trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c
===================================================================
--- trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c 2011-07-05 08:28:54 UTC (rev 38110)
+++ trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c 2011-07-05 08:57:11 UTC (rev 38111)
@@ -68,6 +68,7 @@
struct ModifierData;
struct MultiresModifierData;
struct NodeBlurData;
+struct Nurb;
struct Object;
struct PBVHNode;
struct Render;
@@ -292,7 +293,8 @@
void ED_space_image_size(struct SpaceImage *sima, int *width, int *height){}
struct ListBase *ED_curve_editnurbs(struct Curve *cu){return NULL;}
-void free_curve_editNurb (struct Curve *cu){};
+void free_curve_editNurb (struct Curve *cu){}
+void ED_nurb_set_spline_type(struct Nurb *nu, int type){}
void EM_selectmode_set(struct EditMesh *em){}
int EM_texFaceCheck(struct EditMesh *em){return 0;}
More information about the Bf-blender-cvs
mailing list