diff --git a/lib/irrlicht/source/Irrlicht/CIrrDeviceWayland.cpp b/lib/irrlicht/source/Irrlicht/CIrrDeviceWayland.cpp index 842512e59..6529a9cc3 100644 --- a/lib/irrlicht/source/Irrlicht/CIrrDeviceWayland.cpp +++ b/lib/irrlicht/source/Irrlicht/CIrrDeviceWayland.cpp @@ -127,6 +127,22 @@ public: { CIrrDeviceWayland* device = static_cast(data); + if (!device->m_decoration && !device->CreationParams.Fullscreen && + state == WL_POINTER_BUTTON_STATE_PRESSED && + device->m_xkb_alt_pressed) + { + if (device->m_xdg_toplevel) + { + xdg_toplevel_move(device->m_xdg_toplevel, device->m_seat, serial); + } + else if (device->m_shell_surface) + { + wl_shell_surface_move(device->m_shell_surface, device->m_seat, serial); + } + + return; + } + SEvent irrevent; irrevent.EventType = irr::EET_MOUSE_INPUT_EVENT; irrevent.MouseInput.X = device->getCursorControl()->getPosition().X;