Fix T103463: Repeat last crashes in node editor
ae886596a0 tried to retrieve keymap data from a null pointer.
This commit is contained in:
@@ -1871,25 +1871,26 @@ bool initTransform(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
if (t->data_type == &TransConvertType_Node) {
|
||||||
if (t->data_type == &TransConvertType_Node) {
|
/* Set the initial auto-attach flag based on whether the chosen keymap key is pressed at the
|
||||||
/* Set the initial auto-attach flag based on whether the chosen keymap key is pressed at the
|
* start of the operator. */
|
||||||
* start of the operator. */
|
t->modifiers |= MOD_NODE_ATTACH;
|
||||||
t->modifiers |= MOD_NODE_ATTACH;
|
LISTBASE_FOREACH (const wmKeyMapItem *, kmi, &t->keymap->items) {
|
||||||
LISTBASE_FOREACH (const wmKeyMapItem *, kmi, &t->keymap->items) {
|
if (kmi->flag & KMI_INACTIVE) {
|
||||||
if (kmi->flag & KMI_INACTIVE) {
|
continue;
|
||||||
continue;
|
}
|
||||||
}
|
|
||||||
|
if (kmi->propvalue == TFM_MODAL_NODE_ATTACH_OFF && kmi->val == KM_PRESS) {
|
||||||
if (kmi->propvalue == TFM_MODAL_NODE_ATTACH_OFF && kmi->val == KM_PRESS) {
|
if ((ELEM(kmi->type, EVT_LEFTCTRLKEY, EVT_RIGHTCTRLKEY) &&
|
||||||
if ((ELEM(kmi->type, EVT_LEFTCTRLKEY, EVT_RIGHTCTRLKEY) && (event->modifier & KM_CTRL)) ||
|
(event->modifier & KM_CTRL)) ||
|
||||||
(ELEM(kmi->type, EVT_LEFTSHIFTKEY, EVT_RIGHTSHIFTKEY) &&
|
(ELEM(kmi->type, EVT_LEFTSHIFTKEY, EVT_RIGHTSHIFTKEY) &&
|
||||||
(event->modifier & KM_SHIFT)) ||
|
(event->modifier & KM_SHIFT)) ||
|
||||||
(ELEM(kmi->type, EVT_LEFTALTKEY, EVT_RIGHTALTKEY) && (event->modifier & KM_ALT)) ||
|
(ELEM(kmi->type, EVT_LEFTALTKEY, EVT_RIGHTALTKEY) && (event->modifier & KM_ALT)) ||
|
||||||
((kmi->type == EVT_OSKEY) && (event->modifier & KM_OSKEY))) {
|
((kmi->type == EVT_OSKEY) && (event->modifier & KM_OSKEY))) {
|
||||||
t->modifiers &= ~MOD_NODE_ATTACH;
|
t->modifiers &= ~MOD_NODE_ATTACH;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user