Crash in QXcbWindow::setParent() due to NULL xcbScreen (QTBUG-50081, #1291003)
This commit is contained in:
parent
1c75053c8f
commit
9f91c6fd2e
44
0084-Fix-crash-because-of-NULL-screen-in-QXcbWindow.patch
Normal file
44
0084-Fix-crash-because-of-NULL-screen-in-QXcbWindow.patch
Normal file
@ -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?= <spaz16@wp.pl>
|
||||||
|
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 <shawn.rutledge@theqtcompany.com>
|
||||||
|
---
|
||||||
|
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
|
||||||
|
|
@ -91,6 +91,7 @@ Patch50: qt5-poll.patch
|
|||||||
Patch51: qtbase-opensource-src-5.5-disconnect_displays.patch
|
Patch51: qtbase-opensource-src-5.5-disconnect_displays.patch
|
||||||
# Followup https://codereview.qt-project.org/#/c/138201/ adapted for 5.5
|
# Followup https://codereview.qt-project.org/#/c/138201/ adapted for 5.5
|
||||||
Patch52: https://smani.fedorapeople.org/138201.patch
|
Patch52: https://smani.fedorapeople.org/138201.patch
|
||||||
|
Patch53: 0084-Fix-crash-because-of-NULL-screen-in-QXcbWindow.patch
|
||||||
|
|
||||||
## upstream patches
|
## upstream patches
|
||||||
# workaround https://bugreports.qt-project.org/browse/QTBUG-43057
|
# 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
|
#patch50 -p1 -b .poll
|
||||||
%patch51 -p1 -b .disconnect_displays
|
%patch51 -p1 -b .disconnect_displays
|
||||||
%patch52 -p1 -b .138201
|
%patch52 -p1 -b .138201
|
||||||
|
%patch53 -p1 -b .0084
|
||||||
|
|
||||||
%if 0%{?rhel} == 6
|
%if 0%{?rhel} == 6
|
||||||
%patch100 -p1 -b .QTBUG-43057
|
%patch100 -p1 -b .QTBUG-43057
|
||||||
@ -937,6 +939,9 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jan 05 2016 Rex Dieter <rdieter@fedoraproject.org> 5.5.1-10
|
||||||
|
- Crash in QXcbWindow::setParent() due to NULL xcbScreen (QTBUG-50081, #1291003)
|
||||||
|
|
||||||
* Tue Jan 05 2016 Jan Grulich <jgrulich@redhat.com> - 5.5.1-10
|
* Tue Jan 05 2016 Jan Grulich <jgrulich@redhat.com> - 5.5.1-10
|
||||||
- QLineEdit - fix visibility handling of side widgets
|
- QLineEdit - fix visibility handling of side widgets
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user