[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35558] trunk/blender/source/blender/ editors: fix for crash with textbox add poll function, missing NULL check.

Campbell Barton ideasman42 at gmail.com
Tue Mar 15 09:38:09 CET 2011


Revision: 35558
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35558
Author:   campbellbarton
Date:     2011-03-15 08:38:08 +0000 (Tue, 15 Mar 2011)
Log Message:
-----------
fix for crash with textbox add poll function, missing NULL check.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/curve/editfont.c
    trunk/blender/source/blender/editors/include/ED_screen.h
    trunk/blender/source/blender/editors/screen/screen_ops.c

Modified: trunk/blender/source/blender/editors/curve/editfont.c
===================================================================
--- trunk/blender/source/blender/editors/curve/editfont.c	2011-03-15 08:04:11 UTC (rev 35557)
+++ trunk/blender/source/blender/editors/curve/editfont.c	2011-03-15 08:38:08 UTC (rev 35558)
@@ -1373,16 +1373,6 @@
 
 
 /*********************** textbox add operator *************************/
-static int textbox_poll(bContext *C)
-{
-	Object *ob = CTX_data_active_object(C);
-	
-	if (!ED_operator_object_active_editable(C) ) return 0;
-	if (ob->type != OB_FONT) return 0;
-	
-	return 1;
-}
-
 static int textbox_add_exec(bContext *C, wmOperator *UNUSED(op))
 {
 	Object *obedit= CTX_data_active_object(C);
@@ -1409,8 +1399,8 @@
 	
 	/* api callbacks */
 	ot->exec= textbox_add_exec;
-	ot->poll= textbox_poll;
-	
+	ot->poll= ED_operator_object_active_editable_font;
+
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 	
@@ -1452,7 +1442,7 @@
 	
 	/* api callbacks */
 	ot->exec= textbox_remove_exec;
-	ot->poll= textbox_poll;
+	ot->poll= ED_operator_object_active_editable_font;
 	
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;

Modified: trunk/blender/source/blender/editors/include/ED_screen.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_screen.h	2011-03-15 08:04:11 UTC (rev 35557)
+++ trunk/blender/source/blender/editors/include/ED_screen.h	2011-03-15 08:38:08 UTC (rev 35558)
@@ -154,6 +154,7 @@
 int		ED_operator_object_active(struct bContext *C);
 int		ED_operator_object_active_editable(struct bContext *C);
 int		ED_operator_object_active_editable_mesh(struct bContext *C);
+int		ED_operator_object_active_editable_font(struct bContext *C);
 int		ED_operator_editmesh(struct bContext *C);
 int		ED_operator_editmesh_view3d(struct bContext *C);
 int		ED_operator_editmesh_region_view3d(struct bContext *C);

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c	2011-03-15 08:04:11 UTC (rev 35557)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c	2011-03-15 08:38:08 UTC (rev 35558)
@@ -282,6 +282,12 @@
 	return ((ob != NULL) && !(ob->id.lib) && !(ob->restrictflag & OB_RESTRICT_VIEW) && ob->type == OB_MESH);
 }
 
+int ED_operator_object_active_editable_font(bContext *C)
+{
+	Object *ob = ED_object_active_context(C);
+	return ((ob != NULL) && !(ob->id.lib) && !(ob->restrictflag & OB_RESTRICT_VIEW) && ob->type == OB_FONT);
+}
+
 int ED_operator_editmesh(bContext *C)
 {
 	Object *obedit= CTX_data_edit_object(C);




More information about the Bf-blender-cvs mailing list