Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2018-11-02 19:24:19 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-11-02 19:34:50 +0300
commitaa41c17d32b92a07c4a9478b638ee58d01eabd46 (patch)
treed2ddb56c9c021abaded594e29977852df4b528d8 /source/blender/windowmanager/intern/wm_files.c
parent26c613c0614d6849b1ad1fc483f9dd9304e3701a (diff)
UI: add option for permanently allowing execution of scripts to dialog.
Ref T57197
Diffstat (limited to 'source/blender/windowmanager/intern/wm_files.c')
-rw-r--r--source/blender/windowmanager/intern/wm_files.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index fc0500e4a56..a1a20397f99 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -2340,6 +2340,12 @@ static void wm_block_autorun_warning_allow(bContext *C, void *arg_block, void *U
UI_popup_block_close(C, win, arg_block);
+ /* Save user preferences for permanent execution. */
+ if ((U.flag & USER_SCRIPT_AUTOEXEC_DISABLE) == 0) {
+ WM_operator_name_call(C, "WM_OT_save_userpref", WM_OP_EXEC_DEFAULT, NULL);
+ }
+
+ /* Load file again with scripts enabled. */
wmOperatorType *ot = WM_operatortype_find("WM_OT_revert_mainfile", false);
WM_operator_properties_create_ptr(&props_ptr, ot);
@@ -2370,6 +2376,11 @@ static uiBlock *block_create_autorun_warning(struct bContext *C, struct ARegion
uiItemL(col, IFACE_("This may lead to unexpected behavior."), ICON_BLANK1);
uiItemS(layout);
+
+ PointerRNA userpref_ptr;
+ RNA_pointer_create(NULL, &RNA_UserPreferencesSystem, &U, &userpref_ptr);
+ uiItemR(layout, &userpref_ptr, "use_scripts_auto_execute", 0, IFACE_("Permanently allow execution of scripts"), ICON_NONE);
+
uiItemS(layout);
/* Buttons */