From e4cebf9fe5d073a1a622aa5af95fb5a3bc82098e Mon Sep 17 00:00:00 2001 From: David Redondo Date: Tue, 11 Apr 2023 14:27:27 +0200 Subject: Destroy frame queue before display wl_event_queue_destroy accesses the display. Found by running a test under valgrind. Change-Id: Ic89cbd3b6e98b4fc9561b0e63b5fab4886a1ec50 Reviewed-by: David Edmundson (cherry picked from commit a76bf824fcd1cc3789f0d3454a0423c0241d9718) Reviewed-by: Qt Cherry-pick Bot --- src/client/qwaylanddisplay.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp index bb88a688..07e89891 100644 --- a/src/client/qwaylanddisplay.cpp +++ b/src/client/qwaylanddisplay.cpp @@ -371,11 +371,12 @@ QWaylandDisplay::~QWaylandDisplay(void) #if QT_CONFIG(cursor) mCursorThemes.clear(); #endif - if (mDisplay) - wl_display_disconnect(mDisplay); if (m_frameEventQueue) wl_event_queue_destroy(m_frameEventQueue); + + if (mDisplay) + wl_display_disconnect(mDisplay); } // Steps which is called just after constructor. This separates registry_global() out of the constructor -- cgit v1.2.1