Commit: 3d6ed42c3bd8a36fca074457271712d56bd4c8e5
Author: Bastien Montagne
Date:   Tue Aug 26 14:43:33 2014 +0200
Branches: master
https://developer.blender.org/rB3d6ed42c3bd8a36fca074457271712d56bd4c8e5

Fix T38999: Tool tabs and Old Addons living in perfect harmony.

Just have a default 'Misc' category (harmless for panels in non-cat context).
In case we would still want a panel to show in all tabs (rather unlikely),
just explicitely give an empty string to its bl_category property.

Note I choose 'Misc' because it's much shorter than 'Uncategorized' (space
is an issue here), it's a one-liner to change it anyway if UI Mafia does not 
like it!

===================================================================

M       source/blender/makesdna/DNA_screen_types.h
M       source/blender/makesrna/intern/rna_ui.c

===================================================================

diff --git a/source/blender/makesdna/DNA_screen_types.h 
b/source/blender/makesdna/DNA_screen_types.h
index 556923c..b96349e 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -315,6 +315,9 @@ enum {
 #define PNL_DEFAULT_CLOSED             1
 #define PNL_NO_HEADER                  2
 
+/* Default panel category. */
+#define PNL_DEFAULT_CATEGORY "Misc"
+
 /* uiList layout_type */
 enum {
        UILST_LAYOUT_DEFAULT          = 0,
diff --git a/source/blender/makesrna/intern/rna_ui.c 
b/source/blender/makesrna/intern/rna_ui.c
index f14fadf..0357864 100644
--- a/source/blender/makesrna/intern/rna_ui.c
+++ b/source/blender/makesrna/intern/rna_ui.c
@@ -201,6 +201,9 @@ static StructRNA *rna_Panel_register(Main *bmain, 
ReportList *reports, void *dat
        /* We have to set default context! Else we get a void string... */
        strcpy(dummypt.translation_context, BLF_I18NCONTEXT_DEFAULT_BPYRNA);
 
+       /* We have to set default category! Else we get a void string, and 
panel goes everywhere! */
+       strcpy(dummypt.category, PNL_DEFAULT_CATEGORY);
+
        /* validate the python class */
        if (validate(&dummyptr, data, have_function) != 0)
                return NULL;
@@ -987,7 +990,7 @@ static void rna_def_panel(BlenderRNA *brna)
 
        prop = RNA_def_property(srna, "bl_category", PROP_STRING, PROP_NONE);
        RNA_def_property_string_sdna(prop, NULL, "type->category");
-       RNA_def_property_string_default(prop, BLF_I18NCONTEXT_DEFAULT_BPYRNA);
+       RNA_def_property_string_default(prop, PNL_DEFAULT_CATEGORY);
        RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL);
 
        prop = RNA_def_property(srna, "bl_space_type", PROP_ENUM, PROP_NONE);

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

Reply via email to