[Bf-blender-cvs] [fb7cc1d2757] modifier-panels-ui: Fix another crash when built without cycles

Hans Goudey noreply at git.blender.org
Fri May 22 05:15:45 CEST 2020


Commit: fb7cc1d27579eead084f6e9471c4a6f80dd43838
Author: Hans Goudey
Date:   Thu May 21 23:15:02 2020 -0400
Branches: modifier-panels-ui
https://developer.blender.org/rBfb7cc1d27579eead084f6e9471c4a6f80dd43838

Fix another crash when built without cycles

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

M	source/blender/modifiers/intern/MOD_subsurf.c

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

diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c
index 3049206d16f..9e3d13432a0 100644
--- a/source/blender/modifiers/intern/MOD_subsurf.c
+++ b/source/blender/modifiers/intern/MOD_subsurf.c
@@ -289,6 +289,7 @@ static void deformMatrices(ModifierData *md,
   }
 }
 
+#ifdef WITH_CYCLES
 static bool get_show_adaptive_options(const bContext *C, Panel *panel)
 {
   /* Don't show adaptive options if cycles isn't the active engine. */
@@ -318,6 +319,7 @@ static bool get_show_adaptive_options(const bContext *C, Panel *panel)
 
   return true;
 }
+#endif
 
 static void panel_draw(const bContext *C, Panel *panel)
 {
@@ -395,9 +397,15 @@ static void advanced_panel_draw(const bContext *C, Panel *panel)
   PointerRNA ob_ptr;
   modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
 
+  bool ob_use_adaptive_subdivision = false;
+  bool show_adaptive_options = false;
+#ifdef WITH_CYCLES
   PointerRNA ob_cycles_ptr = RNA_pointer_get(&ob_ptr, "cycles");
-  bool ob_use_adaptive_subdivision = RNA_boolean_get(&ob_cycles_ptr, "use_adaptive_subdivision");
-  bool show_adaptive_options = get_show_adaptive_options(C, panel);
+  if (!RNA_pointer_is_null(&ob_cycles_ptr)) {
+    ob_use_adaptive_subdivision = RNA_boolean_get(&ob_cycles_ptr, "use_adaptive_subdivision");
+    show_adaptive_options = get_show_adaptive_options(C, panel);
+  }
+#endif
 
   uiLayoutSetPropSep(layout, true);
 
@@ -405,8 +413,6 @@ static void advanced_panel_draw(const bContext *C, Panel *panel)
   uiItemR(layout, &ptr, "quality", 0, NULL, ICON_NONE);
   uiItemR(layout, &ptr, "uv_smooth", 0, NULL, ICON_NONE);
   uiItemR(layout, &ptr, "use_creases", 0, NULL, ICON_NONE);
-
-  modifier_panel_end(layout, &ptr);
 }
 
 static void panelRegister(ARegionType *region_type)



More information about the Bf-blender-cvs mailing list