Collection IO: Enable file exporters to be specified on Collections #116646

Merged
Jesse Yurkovich merged 56 commits from deadpin/blender:collection-io into main 2024-04-08 22:10:52 +02:00
8 changed files with 25 additions and 82 deletions
Showing only changes of commit 71d1bb88d5 - Show all commits

View File

@ -1097,21 +1097,17 @@ void UI_but_execute(const bContext *C, ARegion *region, uiBut *but)
* returns false if undo needs to be disabled. */
static bool ui_but_is_rna_undo(const uiBut *but)
{
if (but->rnapoin.owner_id) {
/* avoid undo push for buttons who's ID are screen or wm level
* we could disable undo for buttons with no ID too but may have
* unforeseen consequences, so best check for ID's we _know_ are not
* handled by undo - campbell */
ID *id = but->rnapoin.owner_id;
if (ID_CHECK_UNDO(id) == false) {
return false;
}
if (but->rnaprop == nullptr) {
return true;
}
if (but->rnapoin.type && !RNA_struct_undo_check(but->rnapoin.type)) {
/* No owner or type known. Assume we do not undo push as it may for be a property from
* the preferences stored outside datablocks. */
if (but->rnapoin.owner_id == nullptr || but->rnapoin.type == nullptr) {
return false;
}
return true;
return ID_CHECK_UNDO(but->rnapoin.owner_id) && RNA_struct_undo_check(but->rnapoin.type);
}
/* assigns automatic keybindings to menu items for fast access

View File

@ -3541,10 +3541,12 @@ static void colorband_tools_dofunc(bContext *C, void *coba_v, int event)
ED_region_tag_redraw(CTX_wm_region(C));
}
static uiBlock *colorband_tools_func(bContext *C, ARegion *region, void *coba_v)
static uiBlock *colorband_tools_func(bContext *C, ARegion *region, void *arg_cb)
{
RNAUpdateCb *cb = (RNAUpdateCb *)arg_cb;
const uiStyle *style = UI_style_get_dpi();
ColorBand *coba = static_cast<ColorBand *>(coba_v);
PointerRNA coba_ptr = RNA_property_pointer_get(&cb->ptr, cb->prop);
ColorBand *coba = static_cast<ColorBand *>(coba_ptr.data);
short yco = 0;
const short menuwidth = 10 * UI_UNIT_X;
@ -3562,7 +3564,6 @@ static uiBlock *colorband_tools_func(bContext *C, ARegion *region, void *coba_v)
style);
UI_block_layout_set_current(block, layout);
{
PointerRNA coba_ptr = RNA_pointer_create(nullptr, &RNA_ColorRamp, coba);
uiLayoutSetContextPointer(layout, "color_ramp", &coba_ptr);
}
@ -3739,9 +3740,10 @@ static void colorband_buttons_layout(uiLayout *layout,
TIP_("Delete the active position"));
UI_but_funcN_set(bt, colorband_del_cb, MEM_dupallocN(cb), coba);
RNAUpdateCb *tools_cb = static_cast<RNAUpdateCb *>(MEM_dupallocN(cb));
bt = uiDefIconBlockBut(block,
colorband_tools_func,
coba,
tools_cb,
0,
ICON_DOWNARROW_HLT,
xs + 4.0f * unit,
@ -3749,7 +3751,7 @@ static void colorband_buttons_layout(uiLayout *layout,
2.0f * unit,
UI_UNIT_Y,
TIP_("Tools"));
UI_but_funcN_set(bt, rna_update_cb, MEM_dupallocN(cb), coba);
UI_but_funcN_set(bt, rna_update_cb, tools_cb, coba);
UI_block_align_end(block);
UI_block_emboss_set(block, UI_EMBOSS);

View File

@ -5979,7 +5979,6 @@ static void rna_def_image_format_stereo3d_format(BlenderRNA *brna)
srna = RNA_def_struct(brna, "Stereo3dFormat", nullptr);
RNA_def_struct_sdna(srna, "Stereo3dFormat");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Stereo Output", "Settings for stereo output");
prop = RNA_def_property(srna, "display_mode", PROP_ENUM, PROP_NONE);

View File

@ -864,7 +864,7 @@ static bool rna_MovieSequence_reload_if_needed(ID *scene_id, Sequence *seq, Main
return can_produce_frames;
}
static PointerRNA rna_MovieSequence_metadata_get(Sequence *seq)
static PointerRNA rna_MovieSequence_metadata_get(ID *scene_id, Sequence *seq)
{
if (seq == nullptr || seq->anims.first == nullptr) {
return PointerRNA_NULL;
@ -880,7 +880,7 @@ static PointerRNA rna_MovieSequence_metadata_get(Sequence *seq)
return PointerRNA_NULL;
}
PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_IDPropertyWrapPtr, metadata);
PointerRNA ptr = RNA_pointer_create(scene_id, &RNA_IDPropertyWrapPtr, metadata);
return ptr;
}
@ -2970,6 +2970,7 @@ static void rna_def_movie(BlenderRNA *brna)
/* metadata */
func = RNA_def_function(srna, "metadata", "rna_MovieSequence_metadata_get");
RNA_def_function_flag(func, FUNC_USE_SELF_ID);
RNA_def_function_ui_description(func, "Retrieve metadata of the movie file");
/* return type */
parm = RNA_def_pointer(

View File

@ -1313,7 +1313,6 @@ static void rna_def_userdef_theme_ui_font_style(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeFontStyle", nullptr);
RNA_def_struct_sdna(srna, "uiFontStyle");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Font Style", "Theme settings for Font");
prop = RNA_def_property(srna, "points", PROP_FLOAT, PROP_UNSIGNED);
@ -1369,7 +1368,6 @@ static void rna_def_userdef_theme_ui_style(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeStyle", nullptr);
RNA_def_struct_sdna(srna, "uiStyle");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Style", "Theme settings for style sets");
prop = RNA_def_property(srna, "panel_title", PROP_POINTER, PROP_NONE);
@ -1401,7 +1399,6 @@ static void rna_def_userdef_theme_ui_wcol(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeWidgetColors", nullptr);
RNA_def_struct_sdna(srna, "uiWidgetColors");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Widget Color Set", "Theme settings for widget color sets");
prop = RNA_def_property(srna, "outline", PROP_FLOAT, PROP_COLOR_GAMMA);
@ -1463,7 +1460,6 @@ static void rna_def_userdef_theme_ui_wcol_state(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeWidgetStateColors", nullptr);
RNA_def_struct_sdna(srna, "uiWidgetStateColors");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(
srna, "Theme Widget State Color", "Theme settings for widget state colors");
@ -1529,7 +1525,6 @@ static void rna_def_userdef_theme_ui_panel(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemePanelColors", nullptr);
RNA_def_struct_sdna(srna, "uiPanelColors");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Panel Color", "Theme settings for panel colors");
prop = RNA_def_property(srna, "header", PROP_FLOAT, PROP_COLOR_GAMMA);
@ -1572,7 +1567,6 @@ static void rna_def_userdef_theme_ui_gradient(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeGradientColors", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(
srna, "Theme Background Color", "Theme settings for background colors and gradient");
@ -1607,7 +1601,6 @@ static void rna_def_userdef_theme_ui(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeUserInterface", nullptr);
RNA_def_struct_sdna(srna, "ThemeUI");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(
srna, "Theme User Interface", "Theme settings for user interface elements");
@ -2097,7 +2090,6 @@ static void rna_def_userdef_theme_asset_shelf(BlenderRNA *brna)
PropertyRNA *prop;
srna = RNA_def_struct(brna, "ThemeAssetShelf", nullptr);
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Asset Shelf Color", "Theme settings for asset shelves");
prop = RNA_def_property(srna, "header_back", PROP_FLOAT, PROP_COLOR_GAMMA);
@ -2422,7 +2414,6 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeView3D", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme 3D Viewport", "Theme settings for the 3D viewport");
rna_def_userdef_theme_spaces_gradient(srna);
@ -2652,7 +2643,6 @@ static void rna_def_userdef_theme_space_graph(BlenderRNA *brna)
/* space_graph */
srna = RNA_def_struct(brna, "ThemeGraphEditor", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Graph Editor", "Theme settings for the graph editor");
rna_def_userdef_theme_spaces_main(srna);
@ -2739,7 +2729,6 @@ static void rna_def_userdef_theme_space_file(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeFileBrowser", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme File Browser", "Theme settings for the File Browser");
rna_def_userdef_theme_spaces_main(srna);
@ -2765,7 +2754,6 @@ static void rna_def_userdef_theme_space_outliner(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeOutliner", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Outliner", "Theme settings for the Outliner");
rna_def_userdef_theme_spaces_main(srna);
@ -2814,7 +2802,6 @@ static void rna_def_userdef_theme_space_userpref(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemePreferences", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Preferences", "Theme settings for the Blender Preferences");
rna_def_userdef_theme_spaces_main(srna);
@ -2829,7 +2816,6 @@ static void rna_def_userdef_theme_space_console(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeConsole", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Console", "Theme settings for the Console");
rna_def_userdef_theme_spaces_main(srna);
@ -2880,7 +2866,6 @@ static void rna_def_userdef_theme_space_info(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeInfo", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Info", "Theme settings for Info");
rna_def_userdef_theme_spaces_main(srna);
@ -2965,7 +2950,6 @@ static void rna_def_userdef_theme_space_text(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeTextEditor", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Text Editor", "Theme settings for the Text Editor");
rna_def_userdef_theme_spaces_main(srna);
@ -3061,7 +3045,6 @@ static void rna_def_userdef_theme_space_node(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeNodeEditor", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Node Editor", "Theme settings for the Node Editor");
rna_def_userdef_theme_spaces_main(srna);
@ -3265,7 +3248,6 @@ static void rna_def_userdef_theme_space_buts(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeProperties", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Properties", "Theme settings for the Properties");
prop = RNA_def_property(srna, "match", PROP_FLOAT, PROP_COLOR_GAMMA);
@ -3291,7 +3273,6 @@ static void rna_def_userdef_theme_space_image(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeImageEditor", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Image Editor", "Theme settings for the Image Editor");
rna_def_userdef_theme_spaces_main(srna);
@ -3404,7 +3385,6 @@ static void rna_def_userdef_theme_space_seq(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeSequenceEditor", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Sequence Editor", "Theme settings for the Sequence Editor");
rna_def_userdef_theme_spaces_main(srna);
@ -3611,7 +3591,6 @@ static void rna_def_userdef_theme_space_action(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeDopeSheet", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Dope Sheet", "Theme settings for the Dope Sheet");
rna_def_userdef_theme_spaces_main(srna);
@ -3821,7 +3800,6 @@ static void rna_def_userdef_theme_space_nla(BlenderRNA *brna)
/* space_nla */
srna = RNA_def_struct(brna, "ThemeNLAEditor", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Nonlinear Animation", "Theme settings for the NLA Editor");
rna_def_userdef_theme_spaces_main(srna);
@ -3983,7 +3961,6 @@ static void rna_def_userdef_theme_colorset(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeBoneColorSet", nullptr);
RNA_def_struct_sdna(srna, "ThemeWireColor");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Bone Color Set", "Theme settings for bone color sets");
prop = RNA_def_property(srna, "normal", PROP_FLOAT, PROP_COLOR_GAMMA);
@ -4020,7 +3997,6 @@ static void rna_def_userdef_theme_collection_color(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeCollectionColor", nullptr);
RNA_def_struct_sdna(srna, "ThemeCollectionColor");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Collection Color", "Theme settings for collection colors");
prop = RNA_def_property(srna, "color", PROP_FLOAT, PROP_COLOR_GAMMA);
@ -4037,7 +4013,6 @@ static void rna_def_userdef_theme_strip_color(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeStripColor", nullptr);
RNA_def_struct_sdna(srna, "ThemeStripColor");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Strip Color", "Theme settings for strip colors");
prop = RNA_def_property(srna, "color", PROP_FLOAT, PROP_COLOR_GAMMA);
@ -4056,7 +4031,6 @@ static void rna_def_userdef_theme_space_clip(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeClipEditor", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Clip Editor", "Theme settings for the Movie Clip Editor");
rna_def_userdef_theme_spaces_main(srna);
@ -4181,7 +4155,6 @@ static void rna_def_userdef_theme_space_topbar(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeTopBar", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Top Bar", "Theme settings for the Top Bar");
rna_def_userdef_theme_spaces_main(srna);
@ -4195,7 +4168,6 @@ static void rna_def_userdef_theme_space_statusbar(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeStatusBar", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Status Bar", "Theme settings for the Status Bar");
rna_def_userdef_theme_spaces_main(srna);
@ -4210,7 +4182,6 @@ static void rna_def_userdef_theme_space_spreadsheet(BlenderRNA *brna)
srna = RNA_def_struct(brna, "ThemeSpreadsheet", nullptr);
RNA_def_struct_sdna(srna, "ThemeSpace");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme Spreadsheet", "Theme settings for the Spreadsheet");
prop = RNA_def_property(srna, "row_alternate", PROP_FLOAT, PROP_COLOR_GAMMA);
@ -4254,7 +4225,6 @@ static void rna_def_userdef_themes(BlenderRNA *brna)
srna = RNA_def_struct(brna, "Theme", nullptr);
RNA_def_struct_sdna(srna, "bTheme");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Theme", "User interface styling and color settings");
prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
@ -4411,7 +4381,6 @@ static void rna_def_userdef_addon(BlenderRNA *brna)
srna = RNA_def_struct(brna, "Addon", nullptr);
RNA_def_struct_sdna(srna, "bAddon");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Add-on", "Python add-ons to be loaded automatically");
prop = RNA_def_property(srna, "module", PROP_STRING, PROP_NONE);
@ -4480,7 +4449,6 @@ static void rna_def_userdef_studiolight(BlenderRNA *brna)
RNA_define_verify_sdna(false);
srna = RNA_def_struct(brna, "StudioLight", nullptr);
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Studio Light", "Studio light");
prop = RNA_def_property(srna, "index", PROP_INT, PROP_NONE);
@ -4556,7 +4524,6 @@ static void rna_def_userdef_pathcompare(BlenderRNA *brna)
srna = RNA_def_struct(brna, "PathCompare", nullptr);
RNA_def_struct_sdna(srna, "bPathCompare");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Path Compare", "Match paths against this value");
prop = RNA_def_property(srna, "path", PROP_STRING, PROP_DIRPATH);
@ -4640,7 +4607,6 @@ static void rna_def_userdef_solidlight(BlenderRNA *brna)
srna = RNA_def_struct(brna, "UserSolidLight", nullptr);
RNA_def_struct_sdna(srna, "SolidLight");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(
srna, "Solid Light", "Light used for Studio lighting in solid shading mode");
@ -4686,7 +4652,6 @@ static void rna_def_userdef_walk_navigation(BlenderRNA *brna)
srna = RNA_def_struct(brna, "WalkNavigation", nullptr);
RNA_def_struct_sdna(srna, "WalkNavigation");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Walk Navigation", "Walk navigation settings");
prop = RNA_def_property(srna, "mouse_speed", PROP_FLOAT, PROP_NONE);
@ -4851,7 +4816,6 @@ static void rna_def_userdef_view(BlenderRNA *brna)
srna = RNA_def_struct(brna, "PreferencesView", nullptr);
RNA_def_struct_sdna(srna, "UserDef");
RNA_def_struct_nested(brna, srna, "Preferences");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "View & Controls", "Preferences related to viewing data");
/* View. */
@ -5341,7 +5305,6 @@ static void rna_def_userdef_edit(BlenderRNA *brna)
srna = RNA_def_struct(brna, "PreferencesEdit", nullptr);
RNA_def_struct_sdna(srna, "UserDef");
RNA_def_struct_nested(brna, srna, "Preferences");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Edit Methods", "Settings for interacting with Blender data");
/* Edit Methods */
@ -5845,7 +5808,6 @@ static void rna_def_userdef_system(BlenderRNA *brna)
srna = RNA_def_struct(brna, "PreferencesSystem", nullptr);
RNA_def_struct_sdna(srna, "UserDef");
RNA_def_struct_nested(brna, srna, "Preferences");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "System & OpenGL", "Graphics driver and operating system settings");
/* UI settings. */
@ -6212,7 +6174,6 @@ static void rna_def_userdef_input(BlenderRNA *brna)
srna = RNA_def_struct(brna, "PreferencesInput", nullptr);
RNA_def_struct_sdna(srna, "UserDef");
RNA_def_struct_nested(brna, srna, "Preferences");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Input", "Settings for input devices");
prop = RNA_def_property(srna, "view_zoom_method", PROP_ENUM, PROP_NONE);
@ -6518,7 +6479,6 @@ static void rna_def_userdef_keymap(BlenderRNA *brna)
StructRNA *srna = RNA_def_struct(brna, "PreferencesKeymap", nullptr);
RNA_def_struct_sdna(srna, "UserDef");
RNA_def_struct_nested(brna, srna, "Preferences");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Keymap", "Shortcut setup for keyboards and other input devices");
prop = RNA_def_property(srna, "show_ui_keyconfig", PROP_BOOLEAN, PROP_NONE);
@ -6538,7 +6498,6 @@ static void rna_def_userdef_filepaths_asset_library(BlenderRNA *brna)
srna = RNA_def_struct(brna, "UserAssetLibrary", nullptr);
RNA_def_struct_sdna(srna, "bUserAssetLibrary");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(
srna, "Asset Library", "Settings to define a reusable library for Asset Browsers to use");
@ -6595,7 +6554,6 @@ static void rna_def_userdef_filepaths_extension_repo(BlenderRNA *brna)
srna = RNA_def_struct(brna, "UserExtensionRepo", nullptr);
RNA_def_struct_sdna(srna, "bUserExtensionRepo");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(
srna, "Extension Repository", "Settings to define an extension repository");
@ -6647,7 +6605,6 @@ static void rna_def_userdef_script_directory(BlenderRNA *brna)
{
StructRNA *srna = RNA_def_struct(brna, "ScriptDirectory", nullptr);
RNA_def_struct_sdna(srna, "bUserScriptDirectory");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Python Scripts Directory", "");
PropertyRNA *prop;
@ -6691,7 +6648,6 @@ static void rna_def_userdef_script_directory_collection(BlenderRNA *brna, Proper
RNA_def_property_srna(cprop, "ScriptDirectoryCollection");
srna = RNA_def_struct(brna, "ScriptDirectoryCollection", nullptr);
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Python Scripts Directories", "");
func = RNA_def_function(srna, "new", "rna_userdef_script_directory_new");
@ -6717,7 +6673,6 @@ static void rna_def_userdef_asset_library_collection(BlenderRNA *brna, PropertyR
RNA_def_property_srna(cprop, "AssetLibraryCollection");
srna = RNA_def_struct(brna, "AssetLibraryCollection", nullptr);
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "User Asset Libraries", "Collection of user asset libraries");
func = RNA_def_function(srna, "new", "rna_userdef_asset_library_new");
@ -6745,7 +6700,6 @@ static void rna_def_userdef_extension_repos_collection(BlenderRNA *brna, Propert
RNA_def_property_srna(cprop, "UserExtensionRepoCollection");
srna = RNA_def_struct(brna, "UserExtensionRepoCollection", nullptr);
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(
srna, "User Extension Repositories", "Collection of user extension repositories");
@ -6798,7 +6752,6 @@ static void rna_def_userdef_filepaths(BlenderRNA *brna)
srna = RNA_def_struct(brna, "PreferencesFilePaths", nullptr);
RNA_def_struct_sdna(srna, "UserDef");
RNA_def_struct_nested(brna, srna, "Preferences");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "File Paths", "Default paths for external files");
prop = RNA_def_property(srna, "show_hidden_files_datablocks", PROP_BOOLEAN, PROP_NONE);
@ -7010,7 +6963,6 @@ static void rna_def_userdef_apps(BlenderRNA *brna)
srna = RNA_def_struct(brna, "PreferencesApps", nullptr);
RNA_def_struct_sdna(srna, "UserDef");
RNA_def_struct_nested(brna, srna, "Preferences");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Apps", "Preferences that work only for apps");
prop = RNA_def_property(srna, "show_corner_split", PROP_BOOLEAN, PROP_NONE);
@ -7039,7 +6991,6 @@ static void rna_def_userdef_experimental(BlenderRNA *brna)
srna = RNA_def_struct(brna, "PreferencesExperimental", nullptr);
RNA_def_struct_sdna(srna, "UserDef_Experimental");
RNA_def_struct_nested(brna, srna, "Preferences");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Experimental", "Experimental features");
prop = RNA_def_property(srna, "use_undo_legacy", PROP_BOOLEAN, PROP_NONE);
@ -7171,7 +7122,6 @@ static void rna_def_userdef_addon_collection(BlenderRNA *brna, PropertyRNA *cpro
RNA_def_property_srna(cprop, "Addons");
srna = RNA_def_struct(brna, "Addons", nullptr);
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "User Add-ons", "Collection of add-ons");
func = RNA_def_function(srna, "new", "rna_userdef_addon_new");
@ -7197,7 +7147,6 @@ static void rna_def_userdef_autoexec_path_collection(BlenderRNA *brna, PropertyR
RNA_def_property_srna(cprop, "PathCompareCollection");
srna = RNA_def_struct(brna, "PathCompareCollection", nullptr);
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Paths Compare", "Collection of paths");
func = RNA_def_function(srna, "new", "rna_userdef_pathcompare_new");
@ -7228,7 +7177,6 @@ void RNA_def_userdef(BlenderRNA *brna)
srna = RNA_def_struct(brna, "Preferences", nullptr);
RNA_def_struct_sdna(srna, "UserDef");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Preferences", "Global preferences");
prop = RNA_def_property(srna, "active_section", PROP_ENUM, PROP_NONE);

View File

@ -565,14 +565,16 @@ const EnumPropertyItem rna_enum_wm_report_items[] = {
static wmOperator *rna_OperatorProperties_find_operator(PointerRNA *ptr)
{
if (ptr->owner_id == nullptr || GS(ptr->owner_id->name) != ID_WM) {
return nullptr;
}
wmWindowManager *wm = (wmWindowManager *)ptr->owner_id;
if (wm) {
IDProperty *properties = (IDProperty *)ptr->data;
for (wmOperator *op = static_cast<wmOperator *>(wm->operators.last); op; op = op->prev) {
if (op->properties == properties) {
return op;
}
IDProperty *properties = (IDProperty *)ptr->data;
for (wmOperator *op = static_cast<wmOperator *>(wm->operators.last); op; op = op->prev) {
if (op->properties == properties) {
return op;
}
}
@ -2041,7 +2043,6 @@ static void rna_def_operator(BlenderRNA *brna)
RNA_def_struct_idprops_func(srna, "rna_OperatorProperties_idprops");
RNA_def_struct_property_tags(srna, rna_enum_operator_property_tag_items);
RNA_def_struct_flag(srna, STRUCT_NO_DATABLOCK_IDPROPERTIES | STRUCT_NO_CONTEXT_WITHOUT_OWNER_ID);
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
}
static void rna_def_macro_operator(BlenderRNA *brna)
@ -2378,7 +2379,6 @@ static void rna_def_window_stereo3d(BlenderRNA *brna)
srna = RNA_def_struct(brna, "Stereo3dDisplay", nullptr);
RNA_def_struct_sdna(srna, "Stereo3dFormat");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Stereo 3D Display", "Settings for stereo 3D display");
prop = RNA_def_property(srna, "display_mode", PROP_ENUM, PROP_NONE);

View File

@ -212,7 +212,6 @@ static void rna_def_workspace_owner(BlenderRNA *brna)
srna = RNA_def_struct(brna, "wmOwnerID", nullptr);
RNA_def_struct_sdna(srna, "wmOwnerID");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Work Space UI Tag", "");
prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
@ -262,7 +261,6 @@ static void rna_def_workspace_tool(BlenderRNA *brna)
srna = RNA_def_struct(brna, "WorkSpaceTool", nullptr);
RNA_def_struct_sdna(srna, "bToolRef");
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Work Space Tool", "");
prop = RNA_def_property(srna, "idname", PROP_STRING, PROP_NONE);

View File

@ -2088,7 +2088,6 @@ static void rna_def_xr_session_state(BlenderRNA *brna)
PropertyRNA *parm, *prop;
srna = RNA_def_struct(brna, "XrSessionState", nullptr);
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Session State", "Runtime state information about the VR session");
func = RNA_def_function(srna, "is_running", "rna_XrSessionState_is_running");