Revision: 43614
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43614
Author:   campbellbarton
Date:     2012-01-22 19:52:41 +0000 (Sun, 22 Jan 2012)
Log Message:
-----------
minor edit for operator error macro so it can return different values.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_layout.c

Modified: trunk/blender/source/blender/editors/interface/interface_layout.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_layout.c   
2012-01-22 18:59:06 UTC (rev 43613)
+++ trunk/blender/source/blender/editors/interface/interface_layout.c   
2012-01-22 19:52:41 UTC (rev 43614)
@@ -66,6 +66,14 @@
 #define EM_SEPR_X              6
 #define EM_SEPR_Y              6
 
+#define UI_OPERATOR_ERROR_RET(_ot, _opname, return_statement)                 \
+       if (ot == NULL) {                                                       
  \
+               ui_item_disabled(layout, _opname);                              
      \
+               RNA_warning("'%s' unknown operator", _opname);                  
      \
+               return_statement;                                               
      \
+       } (void)0                                                               
  \
+
+
 /* uiLayoutRoot */
 
 typedef struct uiLayoutRoot {
@@ -690,14 +698,9 @@
 {
        wmOperatorType *ot = WM_operatortype_find(opname, 0); /* print error 
next */
 
-       if(ot) {
-               return uiItemFullO_ptr(layout, ot, name, icon, properties, 
context, flag);
-       }
-       else {
-               ui_item_disabled(layout, opname);
-               RNA_warning("unknown operator '%s'", opname);
-               return PointerRNA_NULL;
-       }
+       UI_OPERATOR_ERROR_RET(ot, opname, return PointerRNA_NULL);
+
+       return uiItemFullO_ptr(layout, ot, name, icon, properties, context, 
flag);
 }
 
 static const char *ui_menu_enumpropname(uiLayout *layout, PointerRNA *ptr, 
PropertyRNA *prop, int retval)
@@ -842,13 +845,6 @@
        uiItemsFullEnumO(layout, opname, propname, NULL, 
layout->root->opcontext, 0);
 }
 
-#define UI_OPERATOR_ERROR_RET(_ot, _opname)                                   \
-       if (ot == NULL) {                                                       
  \
-               ui_item_disabled(layout, _opname);                              
      \
-               RNA_warning("'%s' unknown operator", _opname);                  
      \
-               return;                                                         
      \
-       } (void)0
-
 /* for use in cases where we have */
 void uiItemEnumO_value(uiLayout *layout, const char *name, int icon, const 
char *opname, const char *propname, int value)
 {
@@ -856,7 +852,7 @@
        PointerRNA ptr;
        PropertyRNA *prop;
 
-       UI_OPERATOR_ERROR_RET(ot, opname);
+       UI_OPERATOR_ERROR_RET(ot, opname, return);
 
        WM_operator_properties_create_ptr(&ptr, ot);
 
@@ -887,7 +883,7 @@
        EnumPropertyItem *item;
        int value, free;
 
-       UI_OPERATOR_ERROR_RET(ot, opname);
+       UI_OPERATOR_ERROR_RET(ot, opname, return);
 
        WM_operator_properties_create_ptr(&ptr, ot);
        
@@ -925,7 +921,7 @@
        wmOperatorType *ot = WM_operatortype_find(opname, 0); /* print error 
next */
        PointerRNA ptr;
 
-       UI_OPERATOR_ERROR_RET(ot, opname);
+       UI_OPERATOR_ERROR_RET(ot, opname, return);
 
        WM_operator_properties_create_ptr(&ptr, ot);
        RNA_boolean_set(&ptr, propname, value);
@@ -938,7 +934,7 @@
        wmOperatorType *ot = WM_operatortype_find(opname, 0); /* print error 
next */
        PointerRNA ptr;
 
-       UI_OPERATOR_ERROR_RET(ot, opname);
+       UI_OPERATOR_ERROR_RET(ot, opname, return);
 
        WM_operator_properties_create_ptr(&ptr, ot);
        RNA_int_set(&ptr, propname, value);
@@ -951,7 +947,7 @@
        wmOperatorType *ot = WM_operatortype_find(opname, 0); /* print error 
next */
        PointerRNA ptr;
 
-       UI_OPERATOR_ERROR_RET(ot, opname);
+       UI_OPERATOR_ERROR_RET(ot, opname, return);
 
        WM_operator_properties_create_ptr(&ptr, ot);
        RNA_float_set(&ptr, propname, value);
@@ -964,7 +960,7 @@
        wmOperatorType *ot = WM_operatortype_find(opname, 0); /* print error 
next */
        PointerRNA ptr;
 
-       UI_OPERATOR_ERROR_RET(ot, opname);
+       UI_OPERATOR_ERROR_RET(ot, opname, return);
 
        WM_operator_properties_create_ptr(&ptr, ot);
        RNA_string_set(&ptr, propname, value);
@@ -1608,7 +1604,7 @@
        wmOperatorType *ot = WM_operatortype_find(opname, 0); /* print error 
next */
        MenuItemLevel *lvl;
 
-       UI_OPERATOR_ERROR_RET(ot, opname);
+       UI_OPERATOR_ERROR_RET(ot, opname, return);
 
        if(!ot->srna) {
                ui_item_disabled(layout, opname);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to