[Bf-blender-cvs] [6b9825e6f79] master: Fix T103463: Repeat last crashes in node editor

Hans Goudey noreply at git.blender.org
Mon Dec 26 16:49:30 CET 2022


Commit: 6b9825e6f792018049b38d17e9f1123ef814d87f
Author: Hans Goudey
Date:   Mon Dec 26 10:17:51 2022 -0500
Branches: master
https://developer.blender.org/rB6b9825e6f792018049b38d17e9f1123ef814d87f

Fix T103463: Repeat last crashes in node editor

ae886596a0f1a220372 tried to retrieve keymap data from a null pointer.

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

M	source/blender/editors/transform/transform.c

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

diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index cdbd85e85a1..ff93bcaf8ca 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -1871,25 +1871,26 @@ bool initTransform(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve
         }
       }
     }
-  }
-  if (t->data_type == &TransConvertType_Node) {
-    /* Set the initial auto-attach flag based on whether the chosen keymap key is pressed at the
-     * start of the operator. */
-    t->modifiers |= MOD_NODE_ATTACH;
-    LISTBASE_FOREACH (const wmKeyMapItem *, kmi, &t->keymap->items) {
-      if (kmi->flag & KMI_INACTIVE) {
-        continue;
-      }
+    if (t->data_type == &TransConvertType_Node) {
+      /* Set the initial auto-attach flag based on whether the chosen keymap key is pressed at the
+       * start of the operator. */
+      t->modifiers |= MOD_NODE_ATTACH;
+      LISTBASE_FOREACH (const wmKeyMapItem *, kmi, &t->keymap->items) {
+        if (kmi->flag & KMI_INACTIVE) {
+          continue;
+        }
 
-      if (kmi->propvalue == TFM_MODAL_NODE_ATTACH_OFF && kmi->val == KM_PRESS) {
-        if ((ELEM(kmi->type, EVT_LEFTCTRLKEY, EVT_RIGHTCTRLKEY) && (event->modifier & KM_CTRL)) ||
-            (ELEM(kmi->type, EVT_LEFTSHIFTKEY, EVT_RIGHTSHIFTKEY) &&
-             (event->modifier & KM_SHIFT)) ||
-            (ELEM(kmi->type, EVT_LEFTALTKEY, EVT_RIGHTALTKEY) && (event->modifier & KM_ALT)) ||
-            ((kmi->type == EVT_OSKEY) && (event->modifier & KM_OSKEY))) {
-          t->modifiers &= ~MOD_NODE_ATTACH;
+        if (kmi->propvalue == TFM_MODAL_NODE_ATTACH_OFF && kmi->val == KM_PRESS) {
+          if ((ELEM(kmi->type, EVT_LEFTCTRLKEY, EVT_RIGHTCTRLKEY) &&
+               (event->modifier & KM_CTRL)) ||
+              (ELEM(kmi->type, EVT_LEFTSHIFTKEY, EVT_RIGHTSHIFTKEY) &&
+               (event->modifier & KM_SHIFT)) ||
+              (ELEM(kmi->type, EVT_LEFTALTKEY, EVT_RIGHTALTKEY) && (event->modifier & KM_ALT)) ||
+              ((kmi->type == EVT_OSKEY) && (event->modifier & KM_OSKEY))) {
+            t->modifiers &= ~MOD_NODE_ATTACH;
+          }
+          break;
         }
-        break;
       }
     }
   }



More information about the Bf-blender-cvs mailing list