Fix global position for `InputEventMouse` in `viewport::push_input`
Global position doesn't get adjusted within `InputEventMouse::xformed_by()`.
This commit is contained in:
parent
8f0c20ee8d
commit
8de39911c8
|
@ -1383,6 +1383,13 @@ Ref<InputEvent> Viewport::_make_input_local(const Ref<InputEvent> &ev) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Transform2D ai = get_final_transform().affine_inverse();
|
Transform2D ai = get_final_transform().affine_inverse();
|
||||||
|
Ref<InputEventMouse> me = ev;
|
||||||
|
if (me.is_valid()) {
|
||||||
|
me = me->xformed_by(ai);
|
||||||
|
// For InputEventMouse, the global position is not adjusted by ev->xformed_by() and needs to be set separately.
|
||||||
|
me->set_global_position(me->get_position());
|
||||||
|
return me;
|
||||||
|
}
|
||||||
return ev->xformed_by(ai);
|
return ev->xformed_by(ai);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue