diff --git a/lib/irrlicht/source/Irrlicht/CIrrDeviceWayland.cpp b/lib/irrlicht/source/Irrlicht/CIrrDeviceWayland.cpp index 6ceff83f3..0c504d84f 100644 --- a/lib/irrlicht/source/Irrlicht/CIrrDeviceWayland.cpp +++ b/lib/irrlicht/source/Irrlicht/CIrrDeviceWayland.cpp @@ -537,6 +537,7 @@ public: device->m_seat = static_cast(wl_registry_bind(registry, name, &wl_seat_interface, version < 4 ? version : 4)); + wl_seat_add_listener(device->m_seat, &seat_listener, device); } else if (interface_str == "wl_shm") { @@ -547,6 +548,7 @@ public: { device->m_output = static_cast(wl_registry_bind(registry, name, &wl_output_interface, 2)); + wl_output_add_listener(device->m_output, &output_listener, device); } } @@ -700,9 +702,6 @@ CIrrDeviceWayland::CIrrDeviceWayland(const SIrrlichtCreationParameters& params) return; } - wl_seat_add_listener(m_seat, &WaylandCallbacks::seat_listener, this); - wl_output_add_listener(m_output, &WaylandCallbacks::output_listener, this); - createDriver(); if (VideoDriver)