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!
This commit is contained in:
parent
8f15be2fee
commit
3d6ed42c3b
Notes:
blender-bot
2023-02-14 11:03:52 +01:00
Referenced by issue #38999, Tool tabs and Old Addons living in perfect harmony
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue