Fix T50491: Cycles UI breaks when pushing F8.
authorBastien Montagne <montagne29@wanadoo.fr>
Sun, 22 Jan 2017 11:42:14 +0000 (12:42 +0100)
committerBastien Montagne <montagne29@wanadoo.fr>
Sun, 22 Jan 2017 11:42:14 +0000 (12:42 +0100)
Cycles add-on did not actually support reloading correctly.

When you want to correctly reload sub-modules (i.e. modules of an add-on
which is a package), you need to use importlib, a mere import will do
nothing with already loaded modules (RNA classes are sort of
pre-registered when they are evaluated, through the meta-class system).

intern/cycles/blender/addon/__init__.py

index 29388317873e1e80880acb8a1d64b020e6fe9e0b..1fc3758ad4da653a4ae67b99bc532969a2b20aba 100644 (file)
@@ -28,6 +28,20 @@ bl_info = {
     "support": 'OFFICIAL',
     "category": "Render"}
 
+# Support 'reload' case.
+if "bpy" in locals():
+    import importlib
+    if "engine" in locals():
+        importlib.reload(engine)
+    if "version_update" in locals():
+        importlib.reload(version_update)
+    if "ui" in locals():
+        importlib.reload(ui)
+    if "properties" in locals():
+        importlib.reload(properties)
+    if "presets" in locals():
+        importlib.reload(presets)
+
 import bpy
 
 from . import (