QWaylandShellIntegration: pin vtable to a single TU

Fixes -Wweak-vtables, at least on the base class; the implementation
is a template, so can't be fixed.

Pick-to: 6.9
Change-Id: Ic697614995042e3e0cf130bbaf1bc21a891b497b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This commit is contained in:
Marc Mutz 2025-01-05 12:05:38 +01:00
parent 9bb48c315c
commit 8fb0ceeb95
2 changed files with 4 additions and 1 deletions

View File

@ -8,6 +8,9 @@ QT_BEGIN_NAMESPACE
namespace QtWaylandClient { namespace QtWaylandClient {
QWaylandShellIntegration::~QWaylandShellIntegration()
= default; // MUST stay empty until Qt 7 (was inline in Qt < 6.9)
wl_surface *QWaylandShellIntegration::wlSurfaceForWindow(QWaylandWindow *window) wl_surface *QWaylandShellIntegration::wlSurfaceForWindow(QWaylandWindow *window)
{ {
return window->wlSurface(); return window->wlSurface();

View File

@ -40,7 +40,7 @@ class Q_WAYLANDCLIENT_EXPORT QWaylandShellIntegration
{ {
public: public:
QWaylandShellIntegration() {} QWaylandShellIntegration() {}
virtual ~QWaylandShellIntegration() {} virtual ~QWaylandShellIntegration();
virtual bool initialize(QWaylandDisplay *display) = 0; virtual bool initialize(QWaylandDisplay *display) = 0;
virtual QWaylandShellSurface *createShellSurface(QWaylandWindow *window) = 0; virtual QWaylandShellSurface *createShellSurface(QWaylandWindow *window) = 0;