[Bf-blender-cvs] [72cfeb2c4ee] master: Fix T81674: LibOverride: 'Define Override' UI operation can crash.

Bastien Montagne noreply at git.blender.org
Tue Oct 13 20:38:14 CEST 2020


Commit: 72cfeb2c4ee38eb53b805ac775b5809b1df65660
Author: Bastien Montagne
Date:   Tue Oct 13 20:34:18 2020 +0200
Branches: master
https://developer.blender.org/rB72cfeb2c4ee38eb53b805ac775b5809b1df65660

Fix T81674: LibOverride: 'Define Override' UI operation can crash.

Case where RNA is not able to generate a proper path for a property was
not taken into account properly.

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

M	source/blender/editors/interface/interface_ops.c

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

diff --git a/source/blender/editors/interface/interface_ops.c b/source/blender/editors/interface/interface_ops.c
index c9f21c7fc2e..4cb8a47690e 100644
--- a/source/blender/editors/interface/interface_ops.c
+++ b/source/blender/editors/interface/interface_ops.c
@@ -558,6 +558,13 @@ static int override_type_set_button_exec(bContext *C, wmOperator *op)
 
   IDOverrideLibraryPropertyOperation *opop = RNA_property_override_property_operation_get(
       CTX_data_main(C), &ptr, prop, operation, index, true, NULL, &created);
+
+  if (opop == NULL) {
+    /* Sometimes e.g. RNA cannot generate a path to the given property. */
+    BKE_reportf(op->reports, RPT_WARNING, "Failed to create the override operation");
+    return OPERATOR_CANCELLED;
+  }
+
   if (!created) {
     opop->operation = operation;
   }



More information about the Bf-blender-cvs mailing list