diff --git a/0084-Fix-crash-because-of-NULL-screen-in-QXcbWindow.patch b/0084-Fix-crash-because-of-NULL-screen-in-QXcbWindow.patch new file mode 100644 index 0000000..06ce865 --- /dev/null +++ b/0084-Fix-crash-because-of-NULL-screen-in-QXcbWindow.patch @@ -0,0 +1,44 @@ +From eaa3a9d0108cdf692f1686cafefb7b834f0e5af6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?B=C5=82a=C5=BCej=20Szczygie=C5=82?= +Date: Fri, 1 Jan 2016 20:02:42 +0100 +Subject: [PATCH 84/87] Fix crash because of NULL screen in QXcbWindow + +Change-Id: If7bbe3ad1656dadcb098bcd3ece2e7b064eeb44d +Task-number: QTBUG-50081 +Reviewed-by: Shawn Rutledge +--- + src/gui/kernel/qwindow.cpp | 14 ++++++-------- + 1 file changed, 6 insertions(+), 8 deletions(-) + +diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp +index e728d32..83e8777 100644 +--- a/src/gui/kernel/qwindow.cpp ++++ b/src/gui/kernel/qwindow.cpp +@@ -609,18 +609,16 @@ void QWindow::setParent(QWindow *parent) + } + + QObject::setParent(parent); +- if (parent) ++ ++ QPlatformWindow *parentPlatformWindow = parent ? parent->d_func()->platformWindow : Q_NULLPTR; ++ ++ if (parentPlatformWindow) + d->disconnectFromScreen(); + else + d->connectToScreen(newScreen); + +- if (d->platformWindow) { +- if (parent && parent->d_func()->platformWindow) { +- d->platformWindow->setParent(parent->d_func()->platformWindow); +- } else { +- d->platformWindow->setParent(0); +- } +- } ++ if (d->platformWindow) ++ d->platformWindow->setParent(parentPlatformWindow); + + d->parentWindow = parent; + +-- +2.5.0 + diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index cd891c7..a274d10 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -91,6 +91,7 @@ Patch50: qt5-poll.patch Patch51: qtbase-opensource-src-5.5-disconnect_displays.patch # Followup https://codereview.qt-project.org/#/c/138201/ adapted for 5.5 Patch52: https://smani.fedorapeople.org/138201.patch +Patch53: 0084-Fix-crash-because-of-NULL-screen-in-QXcbWindow.patch ## upstream patches # workaround https://bugreports.qt-project.org/browse/QTBUG-43057 @@ -369,6 +370,7 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags #patch50 -p1 -b .poll %patch51 -p1 -b .disconnect_displays %patch52 -p1 -b .138201 +%patch53 -p1 -b .0084 %if 0%{?rhel} == 6 %patch100 -p1 -b .QTBUG-43057 @@ -937,6 +939,9 @@ fi %changelog +* Tue Jan 05 2016 Rex Dieter 5.5.1-10 +- Crash in QXcbWindow::setParent() due to NULL xcbScreen (QTBUG-50081, #1291003) + * Tue Jan 05 2016 Jan Grulich - 5.5.1-10 - QLineEdit - fix visibility handling of side widgets