diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2012-03-01 13:19:24 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-02 14:45:23 +0100 |
commit | 62a654cc902197cc99326879076ba53b6509dc67 (patch) | |
tree | 232a0e0fdebf2b5c956f80e432e8870c4d545fdc /src/plugins/platforms/xcb | |
parent | 53229ec8f79c4895e0476d1f3fb950f0427ba427 (diff) |
Fix QApplication autotest crash when running on multiple screens
Screens need to be destroyed in reverse order to ensure the primary
screen stays valid when other screens are destroyed.
Task-number: QTBUG-24300
Change-Id: I9d9d710aa67ec045baa8bf292833ffe7d9eea935
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Diffstat (limited to 'src/plugins/platforms/xcb')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbconnection.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp index 04c43eb97f..9a68d85a63 100644 --- a/src/plugins/platforms/xcb/qxcbconnection.cpp +++ b/src/plugins/platforms/xcb/qxcbconnection.cpp @@ -191,7 +191,9 @@ QXcbConnection::~QXcbConnection() { delete m_clipboard; - qDeleteAll(m_screens); + // Delete screens in reverse order to avoid crash in case of multiple screens + while (!m_screens.isEmpty()) + delete m_screens.takeLast(); #ifdef XCB_USE_XINPUT2_MAEMO finalizeXInput2(); |