[Bf-blender-cvs] [e69f70e11f0] master: Revert "Fix T67577: Add-on unregister can't access preferences on factory reset"

Campbell Barton noreply at git.blender.org
Tue Jun 2 17:05:42 CEST 2020


Commit: e69f70e11f00b7dbb511cc9a1ea15c57c9ad668d
Author: Campbell Barton
Date:   Wed Jun 3 00:54:00 2020 +1000
Branches: master
https://developer.blender.org/rBe69f70e11f00b7dbb511cc9a1ea15c57c9ad668d

Revert "Fix T67577: Add-on unregister can't access preferences on factory reset"

This reverts commit f18ed7ad890ee5c89fc6e6a22e76c732fb5fc1bc.

Better leave the fix for 2.9 series.

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

M	source/blender/windowmanager/intern/wm_files.c
M	source/blender/windowmanager/wm_files.h

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

diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index 1220c75f641..cc81e4f2715 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -516,13 +516,9 @@ static void wm_file_read_post(bContext *C,
           BPY_execute_string(
               C, (const char *[]){"bl_app_template_utils", NULL}, "bl_app_template_utils.reset()");
         }
-      }
-
-      if (use_userdef) {
         /* sync addons, these may have changed from the defaults */
         BPY_execute_string(C, (const char *[]){"addon_utils", NULL}, "addon_utils.reset_all()");
       }
-
       if (use_data) {
         BPY_python_reset(C);
       }
@@ -771,9 +767,9 @@ const char *WM_init_state_app_template_get(void)
 void wm_homefile_read(bContext *C,
                       ReportList *reports,
                       bool use_factory_settings,
-                      const bool use_empty_data,
-                      const bool use_data,
-                      const bool use_userdef,
+                      bool use_empty_data,
+                      bool use_data,
+                      bool use_userdef,
                       const char *filepath_startup_override,
                       const char *app_template_override,
                       bool *r_is_factory_startup)
@@ -813,20 +809,6 @@ void wm_homefile_read(bContext *C,
     SET_FLAG_FROM_TEST(G.f, (U.flag & USER_SCRIPT_AUTOEXEC_DISABLE) == 0, G_FLAG_SCRIPT_AUTOEXEC);
   }
 
-  if (use_userdef) {
-#ifdef WITH_PYTHON
-    /* This only runs once Blender has already started. */
-    if (CTX_py_init_get(C)) {
-      /* This is restored by 'wm_file_read_post', disable before loading any preferences
-       * so an add-on can read their own preferences when un-registering, see T67577.
-       *
-       * Note that this would fit into a matching 'wm_file_read_pre' function,
-       * but this gets complicated by blend files not always loading, call inline instead. */
-      BPY_execute_string(C, (const char *[]){"addon_utils", NULL}, "addon_utils.disable_all()");
-    }
-#endif /* WITH_PYTHON */
-  }
-
   if (use_data) {
     BKE_callback_exec_null(CTX_data_main(C), BKE_CB_EVT_LOAD_PRE);
     BLI_timer_on_file_load();
diff --git a/source/blender/windowmanager/wm_files.h b/source/blender/windowmanager/wm_files.h
index a37eb6e777b..e081742b904 100644
--- a/source/blender/windowmanager/wm_files.h
+++ b/source/blender/windowmanager/wm_files.h
@@ -33,9 +33,9 @@ void wm_history_file_read(void);
 void wm_homefile_read(struct bContext *C,
                       struct ReportList *reports,
                       bool use_factory_settings,
-                      const bool use_empty_data,
-                      const bool use_data,
-                      const bool use_userdef,
+                      bool use_empty_data,
+                      bool use_data,
+                      bool use_userdef,
                       const char *filepath_startup_override,
                       const char *app_template_override,
                       bool *r_is_factory_startup);



More information about the Bf-blender-cvs mailing list