forked from pool/libqt5-qtbase
Accepting request 288115 from KDE:Qt5
Update to 5.4.1 OBS-URL: https://build.opensuse.org/request/show/288115 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtbase?expand=0&rev=38
This commit is contained in:
parent
7169baff88
commit
48a849b9f3
37
Call-ofono-nm-Registered-delayed-in-constructor-othe.patch
Normal file
37
Call-ofono-nm-Registered-delayed-in-constructor-othe.patch
Normal file
@ -0,0 +1,37 @@
|
||||
From 8d6341a721d07e3cc30032bcc89f7e25cb00b9eb Mon Sep 17 00:00:00 2001
|
||||
From: Albert Astals Cid <aacid@kde.org>
|
||||
Date: Mon, 16 Feb 2015 22:53:02 +0100
|
||||
Subject: [PATCH] Call [ofono|nm]Registered delayed in constructor otherwise
|
||||
signals will be lost
|
||||
|
||||
If we call them just in the constructor all the signals they sent
|
||||
out can't be connected and will be lost, particularly this means
|
||||
the QNetworkConfigurationManager doesn't see my ethernet connection
|
||||
and thus thinks i'm not online
|
||||
|
||||
Change-Id: I1480f76338d6ae4fbed676f9fa40ada18ea431ad
|
||||
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
||||
---
|
||||
src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
|
||||
index f52b9d4..0378ac7 100644
|
||||
--- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
|
||||
+++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
|
||||
@@ -80,10 +80,10 @@ QNetworkManagerEngine::QNetworkManagerEngine(QObject *parent)
|
||||
this, SLOT(ofonoUnRegistered(QString)));
|
||||
|
||||
if (QDBusConnection::systemBus().interface()->isServiceRegistered("org.ofono"))
|
||||
- ofonoRegistered();
|
||||
+ QMetaObject::invokeMethod(this, "ofonoRegistered", Qt::QueuedConnection);
|
||||
|
||||
if (QDBusConnection::systemBus().interface()->isServiceRegistered(NM_DBUS_SERVICE))
|
||||
- nmRegistered();
|
||||
+ QMetaObject::invokeMethod(this, "nmRegistered", Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
QNetworkManagerEngine::~QNetworkManagerEngine()
|
||||
--
|
||||
2.1.4
|
||||
|
@ -1,30 +0,0 @@
|
||||
From: Thiago Macieira <thiago.macieira@intel.com>
|
||||
Date: Sat, 29 Nov 2014 00:06:18 +0000
|
||||
Subject: Configure: Fix detection of GCC 5
|
||||
X-Git-Url: http://quickgit.kde.org/?p=qt%2Fqtbase.git&a=commitdiff&h=9fb4c2c412621b63c06dbbd899f44041b2e126c2
|
||||
---
|
||||
Configure: Fix detection of GCC 5
|
||||
|
||||
$ gcc-5 -dumpversion
|
||||
5
|
||||
|
||||
No dots.
|
||||
|
||||
Change-Id: I5dd547f257718c981e7be64fca3eec980136ba3e
|
||||
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
|
||||
---
|
||||
|
||||
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6031,6 +6031,10 @@
|
||||
QT_GCC_MINOR_VERSION=`echo $COMPILER_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\).*,\2,'`
|
||||
QT_GCC_PATCH_VERSION=0
|
||||
;;
|
||||
+ *)
|
||||
+ QT_GCC_MAJOR_VERSION=$COMPILER_VERSION
|
||||
+ QT_GCC_MINOR_VERSION=0
|
||||
+ QT_GCC_PATCH_VERSION=0
|
||||
esac
|
||||
|
||||
;;
|
@ -1,85 +0,0 @@
|
||||
From: Paul Olav Tvete <paul.tvete@theqtcompany.com>
|
||||
Date: Wed, 07 Jan 2015 14:19:07 +0000
|
||||
Subject: Fix physical DPI and size for rotated screens on X11
|
||||
X-Git-Url: http://quickgit.kde.org/?p=qt%2Fqtbase.git&a=commitdiff&h=e6699afbee77b853773579d29d78a1ade2a4ab2c
|
||||
---
|
||||
Fix physical DPI and size for rotated screens on X11
|
||||
|
||||
Rotated screens would use the unrotated physical geometry, causing the
|
||||
calculated physical DPI to be completely wrong.
|
||||
|
||||
In RandR, the output does not rotate, so the physical size is always for the
|
||||
unrotated display. The transformation is done on the crtc.
|
||||
http://www.x.org/releases/X11R7.6/doc/randrproto/randrproto.txt
|
||||
|
||||
Task-number: QTBUG-43688
|
||||
Change-Id: Ifde192fcc99a37d0bfd6d57b4cdeac124a054ca3
|
||||
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
|
||||
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
||||
Reviewed-by: Uli Schlachter <psychon@znc.in>
|
||||
---
|
||||
|
||||
|
||||
--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
@@ -53,7 +53,7 @@
|
||||
, m_screen(scr)
|
||||
, m_crtc(output ? output->crtc : 0)
|
||||
, m_outputName(outputName)
|
||||
- , m_sizeMillimeters(output ? QSize(output->mm_width, output->mm_height) : QSize())
|
||||
+ , m_outputSizeMillimeters(output ? QSize(output->mm_width, output->mm_height) : QSize())
|
||||
, m_virtualSize(scr->width_in_pixels, scr->height_in_pixels)
|
||||
, m_virtualSizeMillimeters(scr->width_in_millimeters, scr->height_in_millimeters)
|
||||
, m_orientation(Qt::PrimaryOrientation)
|
||||
@@ -71,6 +71,7 @@
|
||||
|
||||
updateGeometry(output ? output->timestamp : 0);
|
||||
updateRefreshRate();
|
||||
+
|
||||
const int dpr = int(devicePixelRatio());
|
||||
// On VNC, it can be that physical size is unknown while
|
||||
// virtual size is known (probably back-calculated from DPI and resolution)
|
||||
@@ -93,6 +94,7 @@
|
||||
qDebug(" virtual height.: %lf", m_virtualSizeMillimeters.height());
|
||||
qDebug(" virtual geom...: %d x %d", m_virtualSize.width(), m_virtualSize.height());
|
||||
qDebug(" avail virt geom: %d x %d +%d +%d", m_availableGeometry.width(), m_availableGeometry.height(), m_availableGeometry.x(), m_availableGeometry.y());
|
||||
+ qDebug(" orientation....: %d", m_orientation);
|
||||
qDebug(" pixel ratio....: %d", m_devicePixelRatio);
|
||||
qDebug(" depth..........: %d", screen()->root_depth);
|
||||
qDebug(" white pixel....: %x", screen()->white_pixel);
|
||||
@@ -413,6 +415,24 @@
|
||||
if (crtc) {
|
||||
xGeometry = QRect(crtc->x, crtc->y, crtc->width, crtc->height);
|
||||
xAvailableGeometry = xGeometry;
|
||||
+ switch (crtc->rotation) {
|
||||
+ case XCB_RANDR_ROTATION_ROTATE_0: // xrandr --rotate normal
|
||||
+ m_orientation = Qt::LandscapeOrientation;
|
||||
+ m_sizeMillimeters = m_outputSizeMillimeters;
|
||||
+ break;
|
||||
+ case XCB_RANDR_ROTATION_ROTATE_90: // xrandr --rotate left
|
||||
+ m_orientation = Qt::PortraitOrientation;
|
||||
+ m_sizeMillimeters = m_outputSizeMillimeters.transposed();
|
||||
+ break;
|
||||
+ case XCB_RANDR_ROTATION_ROTATE_180: // xrandr --rotate inverted
|
||||
+ m_orientation = Qt::InvertedLandscapeOrientation;
|
||||
+ m_sizeMillimeters = m_outputSizeMillimeters;
|
||||
+ break;
|
||||
+ case XCB_RANDR_ROTATION_ROTATE_270: // xrandr --rotate right
|
||||
+ m_orientation = Qt::InvertedPortraitOrientation;
|
||||
+ m_sizeMillimeters = m_outputSizeMillimeters.transposed();
|
||||
+ break;
|
||||
+ }
|
||||
free(crtc);
|
||||
}
|
||||
}
|
||||
|
||||
--- a/src/plugins/platforms/xcb/qxcbscreen.h
|
||||
+++ b/src/plugins/platforms/xcb/qxcbscreen.h
|
||||
@@ -111,6 +111,7 @@
|
||||
xcb_screen_t *m_screen;
|
||||
xcb_randr_crtc_t m_crtc;
|
||||
QString m_outputName;
|
||||
+ QSizeF m_outputSizeMillimeters;
|
||||
QSizeF m_sizeMillimeters;
|
||||
QRect m_geometry;
|
||||
QRect m_availableGeometry;
|
@ -1,28 +0,0 @@
|
||||
From: Aleix Pol <aleixpol@kde.org>
|
||||
Date: Mon, 22 Dec 2014 15:34:54 +0000
|
||||
Subject: Fix typo in Qt5CoreMacros.cmake
|
||||
X-Git-Url: http://quickgit.kde.org/?p=qt%2Fqtbase.git&a=commitdiff&h=c63bb90ac7224927b56197d80252c79d01ff3b6f
|
||||
---
|
||||
Fix typo in Qt5CoreMacros.cmake
|
||||
|
||||
According to the documentation, the argument is called COPYONLY instead
|
||||
of COPY_ONLY.
|
||||
Fixes warning and ensures it works properly.
|
||||
|
||||
Change-Id: I643f5ea808aaaf94c3ee666ec39485e84ed38df1
|
||||
Reviewed-by: Vishesh Handa <vhanda@kde.org>
|
||||
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
||||
---
|
||||
|
||||
|
||||
--- a/src/corelib/Qt5CoreMacros.cmake
|
||||
+++ b/src/corelib/Qt5CoreMacros.cmake
|
||||
@@ -221,7 +221,7 @@
|
||||
# let's make a configured file and add it as a dependency so cmake is run
|
||||
# again when dependencies need to be recomputed.
|
||||
qt5_make_output_file("${infile}" "" "qrc.depends" out_depends)
|
||||
- configure_file("${infile}" "${out_depends}" COPY_ONLY)
|
||||
+ configure_file("${infile}" "${out_depends}" COPYONLY)
|
||||
else()
|
||||
# The .qrc file does not exist (yet). Let's add a dependency and hope
|
||||
# that it will be generated later
|
@ -1,37 +0,0 @@
|
||||
From: Gatis Paeglis <gatis.paeglis@theqtcompany.com>
|
||||
Date: Wed, 07 Jan 2015 13:50:41 +0000
|
||||
Subject: Fix use-after-free bug
|
||||
X-Git-Url: http://quickgit.kde.org/?p=qt%2Fqtbase.git&a=commitdiff&h=d40b66a8ef98777c69ac293dac9a332f88832c23
|
||||
---
|
||||
Fix use-after-free bug
|
||||
|
||||
xcb_image_destroy() calls free on m_xcb_image
|
||||
and then few lines down we access member of
|
||||
m_xcb_image. Swap order of these two actions.
|
||||
|
||||
Change-Id: I01fb43a066459cce462df6af22161c35cef524eb
|
||||
Task-number: QTBUG-43623
|
||||
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
||||
---
|
||||
|
||||
|
||||
--- a/src/plugins/platforms/xcb/qxcbbackingstore.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbbackingstore.cpp
|
||||
@@ -145,8 +145,6 @@
|
||||
if (segmentSize && m_shm_info.shmaddr)
|
||||
Q_XCB_CALL(xcb_shm_detach(xcb_connection(), m_shm_info.shmseg));
|
||||
|
||||
- xcb_image_destroy(m_xcb_image);
|
||||
-
|
||||
if (segmentSize) {
|
||||
if (m_shm_info.shmaddr) {
|
||||
shmdt(m_shm_info.shmaddr);
|
||||
@@ -155,6 +153,8 @@
|
||||
free(m_xcb_image->data);
|
||||
}
|
||||
}
|
||||
+
|
||||
+ xcb_image_destroy(m_xcb_image);
|
||||
|
||||
if (m_gc)
|
||||
Q_XCB_CALL(xcb_free_gc(xcb_connection(), m_gc));
|
@ -1,32 +0,0 @@
|
||||
From: Martin Gräßlin <mgraesslin@kde.org>
|
||||
Date: Wed, 10 Dec 2014 06:27:23 +0000
|
||||
Subject: Handle SelectionClientClose in QXcbClipboard
|
||||
X-Git-Url: http://quickgit.kde.org/?p=qt%2Fqtbase.git&a=commitdiff&h=6a7ee92b3958e3a3ebc16be15f8bd34217ec7bd2
|
||||
---
|
||||
Handle SelectionClientClose in QXcbClipboard
|
||||
|
||||
QXcbClipboard listens for subtype SelectionClientClose of Xfixes
|
||||
SelectionNotify event, but doesn't handle it. When the client holding
|
||||
the clipboard selection closes the Clipboard becomes empty and thus the
|
||||
change should be emitted.
|
||||
|
||||
This fixes downstream KDE Bug #329174.
|
||||
|
||||
Change-Id: I19fb8cfd7bd3b249c0bc6ca2a724a9aeeb05ac7e
|
||||
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
|
||||
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
|
||||
---
|
||||
|
||||
|
||||
--- a/src/plugins/platforms/xcb/qxcbclipboard.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbclipboard.cpp
|
||||
@@ -742,7 +742,8 @@
|
||||
m_xClipboard[mode]->reset();
|
||||
}
|
||||
emitChanged(mode);
|
||||
- }
|
||||
+ } else if (event->subtype == XCB_XFIXES_SELECTION_EVENT_SELECTION_CLIENT_CLOSE)
|
||||
+ emitChanged(mode);
|
||||
}
|
||||
|
||||
|
36
Handle-SelectionWindowDestroy-in-QXcbClipboard.patch
Normal file
36
Handle-SelectionWindowDestroy-in-QXcbClipboard.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From a95b2e88603ecd18d54c384869ff1281e569f556 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= <mgraesslin@kde.org>
|
||||
Date: Fri, 6 Feb 2015 07:34:43 +0100
|
||||
Subject: [PATCH] Handle SelectionWindowDestroy in QXcbClipboard
|
||||
|
||||
This change is related to 6a7ee92b3958e3a3ebc16be15f8bd34217ec7bd2
|
||||
which added handling for SelectionClientClose. Further testing showed
|
||||
that with e.g. Qt 4 applications the SelectionClientClose is not
|
||||
emitted, but the selection window seems to be destroyed before the
|
||||
client is destroyed.
|
||||
|
||||
Fur a destroyed selection window the same applies: the clipboard
|
||||
content is no longer valid and we should emit the changed signal.
|
||||
|
||||
Change-Id: Id3778a28b9f5601bf2c6e0106981316e0efa6e7c
|
||||
---
|
||||
src/plugins/platforms/xcb/qxcbclipboard.cpp | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbclipboard.cpp b/src/plugins/platforms/xcb/qxcbclipboard.cpp
|
||||
index f56a29d..4b6caa9 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbclipboard.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbclipboard.cpp
|
||||
@@ -742,7 +742,8 @@ void QXcbClipboard::handleXFixesSelectionRequest(xcb_xfixes_selection_notify_eve
|
||||
m_xClipboard[mode]->reset();
|
||||
}
|
||||
emitChanged(mode);
|
||||
- } else if (event->subtype == XCB_XFIXES_SELECTION_EVENT_SELECTION_CLIENT_CLOSE)
|
||||
+ } else if (event->subtype == XCB_XFIXES_SELECTION_EVENT_SELECTION_CLIENT_CLOSE ||
|
||||
+ event->subtype == XCB_XFIXES_SELECTION_EVENT_SELECTION_WINDOW_DESTROY)
|
||||
emitChanged(mode);
|
||||
}
|
||||
|
||||
--
|
||||
2.1.4
|
||||
|
@ -1,47 +0,0 @@
|
||||
From: Paul Olav Tvete <paul.tvete@theqtcompany.com>
|
||||
Date: Thu, 08 Jan 2015 12:55:32 +0000
|
||||
Subject: Multi-screen DPI support for X11
|
||||
X-Git-Url: http://quickgit.kde.org/?p=qt%2Fqtbase.git&a=commitdiff&h=3f0b8a9f198cd1e0e8ae9150561f93fb1b931b7e
|
||||
---
|
||||
Multi-screen DPI support for X11
|
||||
|
||||
Calculate the logical DPI independently per screen, but
|
||||
only when auto dpr is enabled.
|
||||
|
||||
Using a constant DPI value for all screens, based on the combined
|
||||
geometry is arguably incorrect, but changing this now will
|
||||
cause pixel-size fonts to behave visibly different from point-size
|
||||
fonts when moving the window to a different screen.
|
||||
|
||||
However, with QT_DEVICE_PIXEL_RATIO=auto, the pixel size fonts are
|
||||
already changing when the devicePixelRatio changes. Without this change,
|
||||
the point-size fonts will *not* adapt, which is a clear bug.
|
||||
|
||||
Task-number: QTBUG-43713
|
||||
Change-Id: I3e71618f9d55b7828ccd70b69a7b7ce656c69d65
|
||||
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
|
||||
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
|
||||
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
||||
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
||||
---
|
||||
|
||||
|
||||
--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
@@ -317,8 +317,14 @@
|
||||
if (m_forcedDpi > 0)
|
||||
return QDpi(m_forcedDpi/dpr, m_forcedDpi/dpr);
|
||||
|
||||
- return QDpi(Q_MM_PER_INCH * m_virtualSize.width() / m_virtualSizeMillimeters.width() / dpr,
|
||||
- Q_MM_PER_INCH * m_virtualSize.height() / m_virtualSizeMillimeters.height() / dpr);
|
||||
+ static const bool auto_dpr = qgetenv("QT_DEVICE_PIXEL_RATIO").toLower() == "auto";
|
||||
+ if (auto_dpr) {
|
||||
+ return QDpi(Q_MM_PER_INCH * m_geometry.width() / m_sizeMillimeters.width(),
|
||||
+ Q_MM_PER_INCH * m_geometry.height() / m_sizeMillimeters.height());
|
||||
+ } else {
|
||||
+ return QDpi(Q_MM_PER_INCH * m_virtualSize.width() / m_virtualSizeMillimeters.width() / dpr,
|
||||
+ Q_MM_PER_INCH * m_virtualSize.height() / m_virtualSizeMillimeters.height() / dpr);
|
||||
+ }
|
||||
}
|
||||
|
||||
|
@ -1,38 +0,0 @@
|
||||
From: Allan Sandfeld Jensen <allan.jensen@digia.com>
|
||||
Date: Tue, 11 Nov 2014 12:48:27 +0000
|
||||
Subject: Do not apply subpixel gamma-correction on XCB
|
||||
X-Git-Url: http://quickgit.kde.org/?p=qt%2Fqtbase.git&a=commitdiff&h=501c510cc3cb6215aed27af7599395480a049667
|
||||
---
|
||||
Do not apply subpixel gamma-correction on XCB
|
||||
|
||||
To match rendering of subpixel antialiased text in Qt 4.8 and other
|
||||
toolkits on X11, we should not apply gamma-correction. This also
|
||||
makes the rendering of subpixel antialiased text closer to normal
|
||||
antialiased text.
|
||||
|
||||
Task-number: QTBUG-41590
|
||||
Change-Id: I45ad3448334951353657b878d002eea429858f2d
|
||||
Reviewed-by: Samuel Rødal <srodal@gmail.com>
|
||||
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
|
||||
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
|
||||
---
|
||||
|
||||
|
||||
--- a/src/plugins/platforms/xcb/qxcbintegration.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbintegration.cpp
|
||||
@@ -427,12 +427,14 @@
|
||||
case QPlatformIntegration::StartDragTime:
|
||||
case QPlatformIntegration::KeyboardAutoRepeatRate:
|
||||
case QPlatformIntegration::PasswordMaskDelay:
|
||||
- case QPlatformIntegration::FontSmoothingGamma:
|
||||
case QPlatformIntegration::StartDragVelocity:
|
||||
case QPlatformIntegration::UseRtlExtensions:
|
||||
case QPlatformIntegration::PasswordMaskCharacter:
|
||||
// TODO using various xcb, gnome or KDE settings
|
||||
break; // Not implemented, use defaults
|
||||
+ case QPlatformIntegration::FontSmoothingGamma:
|
||||
+ // Match Qt 4.8 text rendering, and rendering of other X11 toolkits.
|
||||
+ return qreal(1.0);
|
||||
case QPlatformIntegration::StartDragDistance: {
|
||||
// The default (in QPlatformTheme::defaultThemeHint) is 10 pixels, but
|
||||
// on a high-resolution screen it makes sense to increase it.
|
@ -1,127 +0,0 @@
|
||||
From: Paul Olav Tvete <paul.tvete@theqtcompany.com>
|
||||
Date: Wed, 07 Jan 2015 14:44:12 +0000
|
||||
Subject: X11 devicePixelRatio screen mapping fix
|
||||
X-Git-Url: http://quickgit.kde.org/?p=qt%2Fqtbase.git&a=commitdiff&h=075ae987c48ce732e6a22c1eba71023fa0ea1775
|
||||
---
|
||||
X11 devicePixelRatio screen mapping fix
|
||||
|
||||
Fix screen detection and window geometry when screens have
|
||||
different displayPixelRatios.
|
||||
|
||||
We must use the native coordinate system to figure out which
|
||||
screen a window belongs to. Also, when a window moves to a
|
||||
screen with a different devicePixelRatio, we must recalculate
|
||||
the Qt geometry.
|
||||
|
||||
Task-number: QTBUG-43713
|
||||
Change-Id: I93063e37354ff88f3c8a13320b76dfb272e43a9c
|
||||
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
|
||||
---
|
||||
|
||||
|
||||
--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
@@ -77,8 +77,10 @@
|
||||
// virtual size is known (probably back-calculated from DPI and resolution)
|
||||
if (m_sizeMillimeters.isEmpty())
|
||||
m_sizeMillimeters = m_virtualSizeMillimeters;
|
||||
- if (m_geometry.isEmpty())
|
||||
+ if (m_geometry.isEmpty()) {
|
||||
m_geometry = QRect(QPoint(), m_virtualSize/dpr);
|
||||
+ m_nativeGeometry = QRect(QPoint(), m_virtualSize);
|
||||
+ }
|
||||
if (m_availableGeometry.isEmpty())
|
||||
m_availableGeometry = m_geometry;
|
||||
|
||||
@@ -461,6 +463,7 @@
|
||||
m_devicePixelRatio = qRound(dpi/96);
|
||||
const int dpr = int(devicePixelRatio()); // we may override m_devicePixelRatio
|
||||
m_geometry = QRect(xGeometry.topLeft()/dpr, xGeometry.size()/dpr);
|
||||
+ m_nativeGeometry = QRect(xGeometry.topLeft(), xGeometry.size());
|
||||
m_availableGeometry = QRect(xAvailableGeometry.topLeft()/dpr, xAvailableGeometry.size()/dpr);
|
||||
|
||||
QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry);
|
||||
|
||||
--- a/src/plugins/platforms/xcb/qxcbscreen.h
|
||||
+++ b/src/plugins/platforms/xcb/qxcbscreen.h
|
||||
@@ -62,6 +62,7 @@
|
||||
QWindow *topLevelAt(const QPoint &point) const;
|
||||
|
||||
QRect geometry() const { return m_geometry; }
|
||||
+ QRect nativeGeometry() const { return m_nativeGeometry; }
|
||||
QRect availableGeometry() const {return m_availableGeometry;}
|
||||
int depth() const { return m_screen->root_depth; }
|
||||
QImage::Format format() const;
|
||||
@@ -114,6 +115,7 @@
|
||||
QSizeF m_outputSizeMillimeters;
|
||||
QSizeF m_sizeMillimeters;
|
||||
QRect m_geometry;
|
||||
+ QRect m_nativeGeometry;
|
||||
QRect m_availableGeometry;
|
||||
QSize m_virtualSize;
|
||||
QSizeF m_virtualSizeMillimeters;
|
||||
|
||||
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
|
||||
@@ -1831,6 +1831,23 @@
|
||||
}
|
||||
}
|
||||
|
||||
+// Temporary workaround for bug in QPlatformScreen::screenForNativeGeometry
|
||||
+// we need the native geometries to detect our screen, but that's not
|
||||
+// available in cross-platform code. Will be fixed properly when highDPI
|
||||
+// support is refactored to expose the native coordinate system.
|
||||
+
|
||||
+QPlatformScreen *QXcbWindow::screenForNativeGeometry(const QRect &newGeometry) const
|
||||
+{
|
||||
+ QXcbScreen *currentScreen = static_cast<QXcbScreen*>(screen());
|
||||
+ if (!parent() && !currentScreen->nativeGeometry().intersects(newGeometry)) {
|
||||
+ Q_FOREACH (QPlatformScreen* screen, currentScreen->virtualSiblings()) {
|
||||
+ if (static_cast<QXcbScreen*>(screen)->nativeGeometry().intersects(newGeometry))
|
||||
+ return screen;
|
||||
+ }
|
||||
+ }
|
||||
+ return currentScreen;
|
||||
+}
|
||||
+
|
||||
void QXcbWindow::handleConfigureNotifyEvent(const xcb_configure_notify_event_t *event)
|
||||
{
|
||||
bool fromSendEvent = (event->response_type & 0x80);
|
||||
@@ -1847,15 +1864,23 @@
|
||||
}
|
||||
}
|
||||
|
||||
- QRect rect = mapFromNative(QRect(pos, QSize(event->width, event->height)), int(devicePixelRatio()));
|
||||
+ const int dpr = devicePixelRatio();
|
||||
+ const QRect nativeRect = QRect(pos, QSize(event->width, event->height));
|
||||
+ const QRect rect = mapFromNative(nativeRect, dpr);
|
||||
|
||||
QPlatformWindow::setGeometry(rect);
|
||||
QWindowSystemInterface::handleGeometryChange(window(), rect);
|
||||
|
||||
- QPlatformScreen *newScreen = screenForGeometry(rect);
|
||||
+ QPlatformScreen *newScreen = screenForNativeGeometry(nativeRect);
|
||||
if (newScreen != m_screen) {
|
||||
m_screen = static_cast<QXcbScreen*>(newScreen);
|
||||
QWindowSystemInterface::handleWindowScreenChanged(window(), newScreen->screen());
|
||||
+ int newDpr = devicePixelRatio();
|
||||
+ if (newDpr != dpr) {
|
||||
+ QRect newRect = mapFromNative(nativeRect, newDpr);
|
||||
+ QPlatformWindow::setGeometry(newRect);
|
||||
+ QWindowSystemInterface::handleGeometryChange(window(), newRect);
|
||||
+ }
|
||||
}
|
||||
|
||||
m_configureNotifyPending = false;
|
||||
|
||||
--- a/src/plugins/platforms/xcb/qxcbwindow.h
|
||||
+++ b/src/plugins/platforms/xcb/qxcbwindow.h
|
||||
@@ -154,6 +154,8 @@
|
||||
|
||||
qreal devicePixelRatio() const;
|
||||
|
||||
+ QPlatformScreen *screenForNativeGeometry(const QRect &newGeometry) const;
|
||||
+
|
||||
public Q_SLOTS:
|
||||
void updateSyncRequestCounter();
|
||||
|
@ -0,0 +1,40 @@
|
||||
From: Richard J. Moore <rich@kde.org>
|
||||
Date: Sat, 21 Feb 2015 17:43:21 +0000
|
||||
Subject: Fix a division by zero when processing malformed BMP files.
|
||||
---
|
||||
Fix a division by zero when processing malformed BMP files.
|
||||
|
||||
This fixes a division by 0 when processing a maliciously crafted BMP
|
||||
file. No impact beyond DoS.
|
||||
|
||||
Task-number: QTBUG-44547
|
||||
Change-Id: Ifcded2c0aa712e90d23e6b3969af0ec3add53973
|
||||
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
||||
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
|
||||
---
|
||||
|
||||
|
||||
--- a/src/gui/image/qbmphandler.cpp
|
||||
+++ b/src/gui/image/qbmphandler.cpp
|
||||
@@ -314,12 +314,20 @@
|
||||
}
|
||||
} else if (comp == BMP_BITFIELDS && (nbits == 16 || nbits == 32)) {
|
||||
red_shift = calc_shift(red_mask);
|
||||
+ if (((red_mask >> red_shift) + 1) == 0)
|
||||
+ return false;
|
||||
red_scale = 256 / ((red_mask >> red_shift) + 1);
|
||||
green_shift = calc_shift(green_mask);
|
||||
+ if (((green_mask >> green_shift) + 1) == 0)
|
||||
+ return false;
|
||||
green_scale = 256 / ((green_mask >> green_shift) + 1);
|
||||
blue_shift = calc_shift(blue_mask);
|
||||
+ if (((blue_mask >> blue_shift) + 1) == 0)
|
||||
+ return false;
|
||||
blue_scale = 256 / ((blue_mask >> blue_shift) + 1);
|
||||
alpha_shift = calc_shift(alpha_mask);
|
||||
+ if (((alpha_mask >> alpha_shift) + 1) == 0)
|
||||
+ return false;
|
||||
alpha_scale = 256 / ((alpha_mask >> alpha_shift) + 1);
|
||||
} else if (comp == BMP_RGB && (nbits == 24 || nbits == 32)) {
|
||||
blue_mask = 0x000000ff;
|
||||
|
@ -1,124 +0,0 @@
|
||||
From: Gatis Paeglis <gatis.paeglis@theqtcompany.com>
|
||||
Date: Wed, 07 Jan 2015 12:51:38 +0000
|
||||
Subject: Fix drag and drop regression
|
||||
X-Git-Url: http://quickgit.kde.org/?p=qt%2Fqtbase.git&a=commitdiff&h=3c21c4581dbd957d9f660dd52d0298ecef1001cb
|
||||
---
|
||||
Fix drag and drop regression
|
||||
|
||||
Fix regression introduced by e4becdc3d310a0dd1a6d34d0796a52b21dedeb2d
|
||||
|
||||
Add QPlatformDrag::ownsDragObject() function, QDragManager can use the
|
||||
return value of this function to decide if it should take care of deleting
|
||||
QDrag object or platform plugin will take care of deleting QDrag.
|
||||
|
||||
XCB platform plugins uses async dnd data delivery mechanism. It allows
|
||||
user to drop something and then continue working with the assurance that
|
||||
the target will get the data regardless of how slow the network connections
|
||||
are, which means that a source window should preserve QDrag data until
|
||||
dnd has finished.
|
||||
|
||||
Change-Id: I1fbad7380cddec98b756698993dd397409833150
|
||||
Task-number: QTBUG-43436
|
||||
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
|
||||
---
|
||||
|
||||
|
||||
--- a/src/gui/kernel/qdnd.cpp
|
||||
+++ b/src/gui/kernel/qdnd.cpp
|
||||
@@ -134,7 +134,8 @@
|
||||
QGuiApplicationPrivate::instance()->notifyDragStarted(o);
|
||||
const Qt::DropAction result = m_platformDrag->drag(m_object);
|
||||
m_object = 0;
|
||||
- o->deleteLater();
|
||||
+ if (!m_platformDrag->ownsDragObject())
|
||||
+ o->deleteLater();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
--- a/src/gui/kernel/qplatformdrag.cpp
|
||||
+++ b/src/gui/kernel/qplatformdrag.cpp
|
||||
@@ -241,6 +241,18 @@
|
||||
return *qt_drag_default_pixmap();
|
||||
}
|
||||
|
||||
+/*!
|
||||
+ \since 5.4
|
||||
+ \brief Returns bool indicating whether QPlatformDrag takes ownership
|
||||
+ and therefore responsibility of deleting the QDrag object passed in
|
||||
+ from QPlatformDrag::drag. This can be useful on platforms where QDrag
|
||||
+ object has to be kept around.
|
||||
+ */
|
||||
+bool QPlatformDrag::ownsDragObject() const
|
||||
+{
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
#endif // QT_NO_DRAGANDDROP
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
--- a/src/gui/kernel/qplatformdrag.h
|
||||
+++ b/src/gui/kernel/qplatformdrag.h
|
||||
@@ -98,6 +98,8 @@
|
||||
|
||||
static QPixmap defaultPixmap();
|
||||
|
||||
+ virtual bool ownsDragObject() const;
|
||||
+
|
||||
private:
|
||||
QPlatformDragPrivate *d_ptr;
|
||||
|
||||
|
||||
--- a/src/plugins/platforms/xcb/qxcbdrag.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbdrag.cpp
|
||||
@@ -999,6 +999,8 @@
|
||||
if (at != -1) {
|
||||
|
||||
Transaction t = transactions.takeAt(at);
|
||||
+ if (t.drag)
|
||||
+ t.drag->deleteLater();
|
||||
// QDragManager *manager = QDragManager::self();
|
||||
|
||||
// Window target = current_target;
|
||||
@@ -1186,6 +1188,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
+bool QXcbDrag::ownsDragObject() const
|
||||
+{
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
QXcbDropData::QXcbDropData(QXcbDrag *d)
|
||||
: QXcbMime(),
|
||||
drag(d)
|
||||
|
||||
--- a/src/plugins/platforms/xcb/qxcbdrag.h
|
||||
+++ b/src/plugins/platforms/xcb/qxcbdrag.h
|
||||
@@ -70,12 +70,11 @@
|
||||
|
||||
virtual QMimeData *platformDropData();
|
||||
|
||||
-
|
||||
- void startDrag();
|
||||
- void cancel();
|
||||
- void move(const QMouseEvent *me);
|
||||
- void drop(const QMouseEvent *me);
|
||||
- void endDrag();
|
||||
+ void startDrag() Q_DECL_OVERRIDE;
|
||||
+ void cancel() Q_DECL_OVERRIDE;
|
||||
+ void move(const QMouseEvent *me) Q_DECL_OVERRIDE;
|
||||
+ void drop(const QMouseEvent *me) Q_DECL_OVERRIDE;
|
||||
+ void endDrag() Q_DECL_OVERRIDE;
|
||||
|
||||
void handleEnter(QWindow *window, const xcb_client_message_event_t *event);
|
||||
void handlePosition(QWindow *w, const xcb_client_message_event_t *event);
|
||||
@@ -87,6 +86,7 @@
|
||||
void handleFinished(const xcb_client_message_event_t *event);
|
||||
|
||||
bool dndEnable(QXcbWindow *win, bool on);
|
||||
+ bool ownsDragObject() const Q_DECL_OVERRIDE;
|
||||
|
||||
void updatePixmap();
|
||||
xcb_timestamp_t targetTime() { return target_time; }
|
@ -1,2 +1,3 @@
|
||||
addFilter("files-duplicated-waste .*")
|
||||
addFilter("files-duplicate .*")
|
||||
addFilter("files-duplicate .*")
|
||||
addFilter("shlib-fixed-dependency .*")
|
@ -1,3 +1,113 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 27 17:19:10 UTC 2015 - hrvoje.senjan@gmail.com
|
||||
|
||||
- Added fix-a-division-by-zero-when-processing-malformed-BMP-files.patch,
|
||||
CVE-2015-0295
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 24 16:10:10 UTC 2015 - hrvoje.senjan@gmail.com
|
||||
|
||||
- Update to 5.4.1:
|
||||
* Important Behavior Changes:
|
||||
* Restored binary compatibility with Qt 5.3.2 on Windows when
|
||||
using MSVC 2012 or MSVC 2013. This means that Qt 5.4.1 is no
|
||||
longer binary compatible with Qt 5.4.0 when using either of
|
||||
those compilers.
|
||||
* [QTBUG-42594] OS X binary package: fixed incorrect linking
|
||||
to libraries in /opt/local/lib
|
||||
* Library:
|
||||
* QtCore:
|
||||
* [QTBUG-43893] Fixed memory leak in qSetMessagePattern
|
||||
* [QTBUG-43513] QXmlStreamReader: Correctly parse XML
|
||||
containing NUL bytes in the input stream
|
||||
* [QTBUG-43352] QTemporaryDirectory: Properly clean up in
|
||||
case of a failure
|
||||
* [QTBUG-43827] Fixed regression in QSortFilterProxyModel
|
||||
which crashed when sorting a tree model
|
||||
* QtGui:
|
||||
* [QTBUG-44273] Fixed misplacement of outlined text with
|
||||
native text rendering
|
||||
* [QTBUG-44147] Fixed VNC not working on some VNC servers
|
||||
* [QTBUG-43850] Fixed crash with multi-threaded font usage
|
||||
* [QTBUG-43850] Made the old harfbuzz fallback available
|
||||
at runtime
|
||||
* Improvements to the experimental high-dpi support
|
||||
* [QTBUG-43318] Better resolving of GLES3 functions to
|
||||
avoid issues when deploying on systems with GLES 2.0 only
|
||||
* QtWidgets:
|
||||
* [QTBUG-43830] Fixed crash in stylesheets when
|
||||
styling QProgressBar
|
||||
* [QTBUG-43663] QColorDialog: Don't lose focus while
|
||||
color picking
|
||||
* QtNetwork:
|
||||
* [QTBUG-43793] Fixed disconnections of QSSLSocket after
|
||||
starting encryption
|
||||
* QtSql:
|
||||
* [QTBUG-36211] qpsql: Added timezone support for
|
||||
datetime fields.
|
||||
* qodbc: Fixed converted string values on Microsoft SQL
|
||||
Server 2012
|
||||
* [QTBUG-43874] QSqlQuery: Fixed failure of multiple
|
||||
execBatch() calls after a single prepare() call
|
||||
* QtPrintSupport:
|
||||
* [QTBUG-43124] Fixed QPrinter::{width,height} return values
|
||||
* Platform Specific Changes:
|
||||
* Linux/XCB:
|
||||
* [QTBUG-43436] Fixed regression when drag and drop to
|
||||
other applications
|
||||
* [QTBUG-43809] Turned off font hinting when doing
|
||||
high DPI scaling
|
||||
* [QTBUG-43743] Fixed constantly resizing bigger window when
|
||||
devicePixelRatio is greater than 1
|
||||
* [QTBUG-43713] Fixed problems with multiple screens with
|
||||
different device pixel ratios regarding window mapping
|
||||
and font sizes.
|
||||
* [QTBUG-43688] Fixed physical DPI and size for
|
||||
rotated screens on X11
|
||||
* [QTBUG-43049] Fixed grabKeyboard and grabMouse
|
||||
* [QTBUG-36862] Now sends a leave event to the other window
|
||||
when a popup shows which grabs the input
|
||||
* [QTBUG-41590] Turned off subpixel gamma-correction on XCB
|
||||
* Added support for SelectionClientClose in QXcbClipboard
|
||||
* Fixed -nograb and -dograb arguments
|
||||
* [QTBUG-43623] Fixed use after free
|
||||
* [QTBUG-43436] Fixed regression in DnD. Make sure to preserve
|
||||
the QDrag until all data has been received.
|
||||
* Tools:
|
||||
* configure & build system:
|
||||
* configure will now reject invalid -no-feature-* options.
|
||||
* pkg-config assisted libudev detection was fixed.
|
||||
* [QTBUG-43302][Android] The Android style is included
|
||||
when cross-building on Windows as well.
|
||||
* [QTBUG-43205][Unix] Fixed build D-Bus headers cannot be found.
|
||||
* qmake:
|
||||
* [QTBUG-39690][Windows] Fixed file separators in 'make clean'.
|
||||
* [QTBUG-40264][Unix] Fixed 'make distclean' for a dynamic
|
||||
library target.
|
||||
* [QTBUG-42678] 'make distclean' now removes .qmake.{stash|super}.
|
||||
* [QTBUG-43026][VS2010+] Fixed compilation of .rc files.
|
||||
* [QTBUG-43457][MSVC] Fixed QMAKE_TARGET.arch for
|
||||
amd64_x86 x-build.
|
||||
* INCLUDEPATH+=. is now unnecessary with all generators.
|
||||
* For more details please see:
|
||||
http://blog.qt.io/blog/2015/02/24/qt-5-4-1-released/
|
||||
- Drop merged or obsolete patches:
|
||||
qmake-add-usr-include.diff, QTBUG41590.patch,
|
||||
Handle-SelectionClientClose-in-QXcbClipboard.patch,
|
||||
qimage_conversions.cpp-Fix-build-on-big-endian-syste.patch,
|
||||
Fix-use-after-free-bug.patch, fix-drag-and-drop-regression.patch,
|
||||
Fix-detection-of-GCC5.patch, Fix-typo-in-Qt5CoreMacroscmake.patch,
|
||||
Fix-physical-DPI-and-size-for-rotated-screens-on-X11.patch,
|
||||
X11-devicePixelRatio-screen-mapping-fix.patch,
|
||||
Multi-screen-DPI-support-for-X11.patch and
|
||||
xcb-Dont-return-0-from-QXcbKeyboard-possibleKeys.patch
|
||||
- Added Handle-SelectionWindowDestroy-in-QXcbClipboard.patch and
|
||||
Call-ofono-nm-Registered-delayed-in-constructor-othe.patch from
|
||||
upstrean
|
||||
- Make sure each lib requires equal version of other qtbase libs
|
||||
it needs (added filtering for shlib-fixed-dependency to rpmlintrc
|
||||
accordingly)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 18 01:41:07 UTC 2015 - hrvoje.senjan@gmail.com
|
||||
|
||||
|
@ -26,15 +26,15 @@
|
||||
%endif
|
||||
|
||||
Name: libqt5-qtbase
|
||||
Version: 5.4.0
|
||||
Version: 5.4.1
|
||||
Release: 0
|
||||
Summary: C++ Program Library, Core Components
|
||||
License: GPL-3.0 or SUSE-LGPL-2.1-with-digia-exception-1.1
|
||||
Group: System/Libraries
|
||||
Url: http://qt.digia.com
|
||||
%define base_name libqt5
|
||||
%define real_version 5.4.0
|
||||
%define so_version 5.4.0
|
||||
%define real_version 5.4.1
|
||||
%define so_version 5.4.1
|
||||
%define tar_version qtbase-opensource-src-%{real_version}
|
||||
Source: %{tar_version}.tar.xz
|
||||
# to get mtime of file:
|
||||
@ -45,8 +45,6 @@ Source99: libqt5-qtbase-rpmlintrc
|
||||
# patches 0-1000 are openSUSE and/or non-upstream(able) patches #
|
||||
# PATCH-FIX-UPSTREAM libqt5-libtool-nodate.diff -- for ommiting date/time on build
|
||||
Patch0: libqt5-libtool-nodate.diff
|
||||
# PATCH-FIX-UPSTREAM qmake-add-usr-include.diff -- explicitly include /usr/include path
|
||||
Patch1: qmake-add-usr-include.diff
|
||||
# PATCH-FIX-UPSTREAM use-freetype-default.patch -- allow using lcd-default filter regardless of how freetype2 library has been built (w/ & w/o subpixel)
|
||||
Patch2: use-freetype-default.patch
|
||||
# PATCH-FIX-SUSE libqt5-Fix-Gujarati-font.patch bnc#878292 fix broken Gujarati font rendering
|
||||
@ -55,40 +53,24 @@ Patch3: libqt5-Fix-Gujarati-font.patch
|
||||
Patch4: protect-geometry-QTBUG-40584.patch
|
||||
# Patch-FIX-SUSE libqt5-do-not-use-shm-if-display-name-doesnt-look-local.patch -- bnc#888858
|
||||
Patch5: libqt5-do-not-use-shm-if-display-name-doesnt-look-local.patch
|
||||
# PATCH-FIX-OPENSUSE QTBUG41590.patch -- https://bugreports.qt-project.org/browse/QTBUG-40971 https://bugreports.qt-project.org/browse/QTBUG-41590
|
||||
Patch6: QTBUG41590.patch
|
||||
# PATCH-FIX-OPENSUSE make-qdbusxml2cpp-output-reproducible.patch -- https://codereview.qt-project.org/#/c/105210/1
|
||||
Patch7: make-qdbusxml2cpp-output-reproducible.patch
|
||||
# patches 1000-2000 and above from upstream 5.3 branch #
|
||||
# patches 2000-3000 and above from upstream 5.4 branch #
|
||||
# PATCH-FIX-UPSTREAM Handle-SelectionClientClose-in-QXcbClipboard.patch -- kde#329174
|
||||
Patch2000: Handle-SelectionClientClose-in-QXcbClipboard.patch
|
||||
# PATCH-FIX-UPSTREAM qimage_conversions.cpp: Fix build on big endian systems
|
||||
Patch2001: qimage_conversions.cpp-Fix-build-on-big-endian-syste.patch
|
||||
# PATCH-FIX-UPSTREAM Fix-use-after-free-bug.patch
|
||||
Patch2002: Fix-use-after-free-bug.patch
|
||||
# PATCH-FIX-UPSTREAM fix-drag-and-drop-regression.patch
|
||||
Patch2003: fix-drag-and-drop-regression.patch
|
||||
# PATCH-FIX-UPSTREAM Fix-detection-of-GCC5.patch
|
||||
Patch2004: Fix-detection-of-GCC5.patch
|
||||
# PATCH-FIX-UPSTREAM Fix-typo-in-Qt5CoreMacroscmake.patch
|
||||
Patch2005: Fix-typo-in-Qt5CoreMacroscmake.patch
|
||||
# PATCH-FIX-UPSTREAM Fix-physical-DPI-and-size-for-rotated-screens-on-X11.patch
|
||||
Patch2006: Fix-physical-DPI-and-size-for-rotated-screens-on-X11.patch
|
||||
# PATCH-FIX-UPSTREAM X11-devicePixelRatio-screen-mapping-fix.patch
|
||||
Patch2007: X11-devicePixelRatio-screen-mapping-fix.patch
|
||||
# PATCH-FIX-UPSTREAM Multi-screen-DPI-support-for-X11.patch
|
||||
Patch2008: Multi-screen-DPI-support-for-X11.patch
|
||||
# PATCH-FIX-UPSTREAM xcb-Dont-return-0-from-QXcbKeyboard-possibleKeys.patch
|
||||
Patch2009: xcb-Dont-return-0-from-QXcbKeyboard-possibleKeys.patch
|
||||
# PATCH-FIX-UPSTREAM QSystemTrayIcon-handle-submenus-correctly.patch
|
||||
Patch2010: QSystemTrayIcon-handle-submenus-correctly.patch
|
||||
Patch2000: QSystemTrayIcon-handle-submenus-correctly.patch
|
||||
# PATCH-FIX-UPSTREAM Fix-Meta-shortcuts-on-XCB.patch
|
||||
Patch2011: Fix-Meta-shortcuts-on-XCB.patch
|
||||
Patch2001: Fix-Meta-shortcuts-on-XCB.patch
|
||||
# PATCH-FIX-UPSTREAM Update-mouse-buttons-from-MotionNotify-events.patch
|
||||
Patch2012: Update-mouse-buttons-from-MotionNotify-events.patch
|
||||
Patch2002: Update-mouse-buttons-from-MotionNotify-events.patch
|
||||
# PATCH-FIX-UPSTREAM Make-sure-theres-a-scene-before-using-it.patch
|
||||
Patch2013: Make-sure-theres-a-scene-before-using-it.patch
|
||||
Patch2003: Make-sure-theres-a-scene-before-using-it.patch
|
||||
# PATCH-FIX-UPSTREAM Handle-SelectionWindowDestroy-in-QXcbClipboard.patch
|
||||
Patch2004: Handle-SelectionWindowDestroy-in-QXcbClipboard.patch
|
||||
# PATCH-FIX-UPSTREAM Call-ofono-nm-Registered-delayed-in-constructor-othe.patch
|
||||
Patch2005: Call-ofono-nm-Registered-delayed-in-constructor-othe.patch
|
||||
# PATCH-FIX-UPSTREAM fix-a-division-by-zero-when-processing-malformed-BMP-files.patch
|
||||
Patch2006: fix-a-division-by-zero-when-processing-malformed-BMP-files.patch
|
||||
BuildRequires: alsa-devel
|
||||
BuildRequires: cups-devel
|
||||
BuildRequires: gcc-c++
|
||||
@ -168,12 +150,10 @@ handling.
|
||||
%prep
|
||||
%setup -q -n qtbase-opensource-src-%{real_version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p0
|
||||
%patch2000 -p1
|
||||
%patch2001 -p1
|
||||
@ -182,13 +162,6 @@ handling.
|
||||
%patch2004 -p1
|
||||
%patch2005 -p1
|
||||
%patch2006 -p1
|
||||
%patch2007 -p1
|
||||
%patch2008 -p1
|
||||
%patch2009 -p1
|
||||
%patch2010 -p1
|
||||
%patch2011 -p1
|
||||
%patch2012 -p1
|
||||
%patch2013 -p1
|
||||
|
||||
# be sure not to use them
|
||||
rm -r src/3rdparty/{libjpeg,freetype,libpng,zlib}
|
||||
@ -259,6 +232,7 @@ Qt 5 Core Library - Non-ABI stable development files.
|
||||
%package -n libQt5Concurrent5
|
||||
Summary: Qt 5 Concurrent Library
|
||||
Group: Development/Libraries/X11
|
||||
Requires: libQt5Core5 = %{version}
|
||||
|
||||
%description -n libQt5Concurrent5
|
||||
The Qt 5 Concurrent library.
|
||||
@ -275,6 +249,7 @@ The Qt 5 Concurrent library - development files.
|
||||
%package -n libQt5DBus5
|
||||
Summary: Qt 5 DBus Library
|
||||
Group: Development/Libraries/X11
|
||||
Requires: libQt5Core5 = %{version}
|
||||
|
||||
%description -n libQt5DBus5
|
||||
The Qt 5 DBus library.
|
||||
@ -302,6 +277,8 @@ Qt 5 DBus Library - Non-ABI stable development files.
|
||||
%package -n libQt5Network5
|
||||
Summary: Qt 5 Network Library
|
||||
Group: Development/Libraries/X11
|
||||
Requires: libQt5Core5 = %{version}
|
||||
Requires: libQt5DBus5 = %{version}
|
||||
|
||||
%description -n libQt5Network5
|
||||
The Qt 5 Network library.
|
||||
@ -328,6 +305,7 @@ Qt 5 Network Library - Non-ABI stable development files.
|
||||
%package -n libQt5OpenGL5
|
||||
Summary: Qt 5 OpenGL Library
|
||||
Group: Development/Libraries/X11
|
||||
Requires: libQt5Widgets5 = %{version}
|
||||
|
||||
%description -n libQt5OpenGL5
|
||||
The Qt 5 OpenGL library.
|
||||
@ -364,6 +342,7 @@ Qt 5 OpenGL Library - Non-ABI stable development files.
|
||||
%package -n libQt5PrintSupport5
|
||||
Summary: Qt 5 Print Support Library
|
||||
Group: Development/Libraries/X11
|
||||
Requires: libQt5Widgets5 = %{version}
|
||||
|
||||
%description -n libQt5PrintSupport5
|
||||
The Qt 5 Print Support library.
|
||||
@ -394,6 +373,7 @@ Qt 5 Print Support Library - Non-ABI stable development files.
|
||||
%package -n libQt5Xml5
|
||||
Summary: Qt 5 Xml Library
|
||||
Group: Development/Libraries/X11
|
||||
Requires: libQt5Core5 = %{version}
|
||||
|
||||
%description -n libQt5Xml5
|
||||
The Qt 5 Xml library.
|
||||
@ -410,6 +390,7 @@ The Qt 5 Xml library - development files.
|
||||
%package -n libQt5Test5
|
||||
Summary: Qt 5 Test Library
|
||||
Group: Development/Libraries/X11
|
||||
Requires: libQt5Core5 = %{version}
|
||||
|
||||
%description -n libQt5Test5
|
||||
The Qt 5 library for testing.
|
||||
@ -436,6 +417,7 @@ Qt 5 Test Library - Non-ABI stable development files.
|
||||
%package -n libQt5Widgets5
|
||||
Summary: Qt 5 Widgets Library
|
||||
Group: Development/Libraries/X11
|
||||
Requires: libQt5Gui5 = %{version}
|
||||
|
||||
%description -n libQt5Widgets5
|
||||
The Qt 5 library to display widgets.
|
||||
@ -511,6 +493,8 @@ A plugin to support MySQL server in Qt applications.
|
||||
Summary: Qt 5 GUI related libraries
|
||||
Group: Development/Libraries/C and C++
|
||||
Recommends: libqt5-qtimageformats = %{version}
|
||||
Requires: libQt5Core5 = %{version}
|
||||
Requires: libQt5DBus5 = %{version}
|
||||
|
||||
%description -n libQt5Gui5
|
||||
Qt 5 libraries which are depending on X11.
|
||||
@ -519,6 +503,7 @@ Qt 5 libraries which are depending on X11.
|
||||
Summary: Qt 5 gtk2 plugin
|
||||
Group: Development/Libraries/C and C++
|
||||
Supplements: packageand(libQt5Gui5:libgtk-2_0-0)
|
||||
Requires: libQt5Gui5 = %{version}
|
||||
|
||||
%description platformtheme-gtk2
|
||||
Qt 5 plugin for better integration with gtk2-based desktop enviroments.
|
||||
@ -556,6 +541,7 @@ Summary: Qt 5 SQL related libraries
|
||||
Group: Development/Libraries/C and C++
|
||||
Recommends: libqt5_sql_backend = %{version}
|
||||
Suggests: libqt5-sql-sqlite
|
||||
Requires: libQt5Core5 = %{version}
|
||||
|
||||
%description -n libQt5Sql5
|
||||
Qt 5 libraries which are used for connection with an SQL server. You
|
||||
|
@ -1,37 +0,0 @@
|
||||
From 404f4281fda764cafdaa5635db995dabc4f1de8c Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Shachnev <mitya57@gmail.com>
|
||||
Date: Tue, 9 Dec 2014 09:27:53 +0300
|
||||
Subject: [PATCH] qimage_conversions.cpp: Fix build on big endian systems
|
||||
|
||||
Change-Id: I8149eb2deaa101daf85a957ff48c3a7140c43bbc
|
||||
Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com>
|
||||
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
||||
---
|
||||
src/gui/image/qimage_conversions.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/gui/image/qimage_conversions.cpp b/src/gui/image/qimage_conversions.cpp
|
||||
index 17563b1..858a0d9 100644
|
||||
--- a/src/gui/image/qimage_conversions.cpp
|
||||
+++ b/src/gui/image/qimage_conversions.cpp
|
||||
@@ -2252,7 +2252,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
|
||||
convert_ARGB_to_ARGB_PM,
|
||||
#else
|
||||
0,
|
||||
- 0
|
||||
+ 0,
|
||||
#endif
|
||||
0, 0, 0, 0
|
||||
}, // Format_RGBA8888
|
||||
@@ -2281,7 +2281,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
|
||||
#else
|
||||
0,
|
||||
0,
|
||||
- 0
|
||||
+ 0,
|
||||
#endif
|
||||
0, 0, 0, 0
|
||||
}, // Format_RGBA8888_Premultiplied
|
||||
--
|
||||
2.2.0
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
|
||||
index e4d33e2..920ebe9 100644
|
||||
--- a/qmake/generators/unix/unixmake2.cpp
|
||||
+++ b/qmake/generators/unix/unixmake2.cpp
|
||||
@@ -128,7 +128,7 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
|
||||
<< varGlue("DEFINES","-D"," -D","") << endl;
|
||||
t << "CFLAGS = " << var("QMAKE_CFLAGS") << " $(DEFINES)\n";
|
||||
t << "CXXFLAGS = " << var("QMAKE_CXXFLAGS") << " $(DEFINES)\n";
|
||||
- t << "INCPATH = -I" << specdir();
|
||||
+ t << "INCPATH = -I/usr/include -I" << specdir();
|
||||
if(!project->isActiveConfig("no_include_pwd")) {
|
||||
QString pwd = escapeFilePath(fileFixify(qmake_getpwd()));
|
||||
if(pwd.isEmpty())
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:daea240ba5e77bc2d78ec21a2cb664eed83b3d4ad409b6277a6f7d4c0c8e91d1
|
||||
size 46109688
|
3
qtbase-opensource-src-5.4.1.tar.xz
Normal file
3
qtbase-opensource-src-5.4.1.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8574a593830959c0f7e5430fe77a43832ea7f5299e14a397a74576b3df7fb1b7
|
||||
size 46132220
|
@ -1,29 +0,0 @@
|
||||
From: Alexander Volkov <a.volkov@rusbitech.ru>
|
||||
Date: Fri, 12 Dec 2014 11:37:36 +0000
|
||||
Subject: xcb: Don't return 0 from QXcbKeyboard::possibleKeys
|
||||
X-Git-Url: http://quickgit.kde.org/?p=qt%2Fqtbase.git&a=commitdiff&h=8a075c405709eab9c08ed4230d795ca45eabd5a7
|
||||
---
|
||||
xcb: Don't return 0 from QXcbKeyboard::possibleKeys
|
||||
|
||||
It's possible to get 0 for baseQtKey in case Caps Lock is used as
|
||||
a layout switcher. So don't include this value in the result.
|
||||
Similar fix was in commit d904533acba1267431ca2c5f0d3e85cc59a20a26.
|
||||
|
||||
Task-number: QTCREATORBUG-9589
|
||||
Change-Id: I46fc91f9faf6fd0699f062a72fd2ca3187232f5a
|
||||
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
|
||||
---
|
||||
|
||||
|
||||
--- a/src/plugins/platforms/xcb/qxcbkeyboard.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbkeyboard.cpp
|
||||
@@ -957,7 +957,8 @@
|
||||
|
||||
QList<int> result;
|
||||
int baseQtKey = keysymToQtKey(sym, modifiers, lookupString(kb_state, keycode));
|
||||
- result += (baseQtKey + modifiers); // The base key is _always_ valid, of course
|
||||
+ if (baseQtKey)
|
||||
+ result += (baseQtKey + modifiers);
|
||||
|
||||
xkb_mod_index_t shiftMod = xkb_keymap_mod_get_index(xkb_keymap, "Shift");
|
||||
xkb_mod_index_t altMod = xkb_keymap_mod_get_index(xkb_keymap, "Alt");
|
Loading…
Reference in New Issue
Block a user