aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2015-10-16 13:51:49 +0200
committerFlorian Bruhin <git@the-compiler.org>2015-10-16 13:51:49 +0200
commit16e06e81ebab52201dab22a3f62397009a51cf0b (patch)
tree036a318147c3c59a8de7c1a82b827be9fd9a447c
parent6a611205c6947c67c9a3dcee50b038c6a57a6261 (diff)
downloadqt-debug-pkgbuild-16e06e81ebab52201dab22a3f62397009a51cf0b.tar.gz
qt-debug-pkgbuild-16e06e81ebab52201dab22a3f62397009a51cf0b.zip
Update to Qt5 5.5-2
-rw-r--r--qt5/PKGBUILD18
-rw-r--r--qt5/ae51e360f986698eaf41fdb38f8a878a50f69be1.patch56
-rw-r--r--qt5/b0b08cc0e4e38504d6b833702f7477aee4e2a192.patch45
-rw-r--r--qt5/gcc-5.patch17
-rw-r--r--qt5/ibus-get-display-number-when-screen-number-is-omitted.patch32
5 files changed, 146 insertions, 22 deletions
diff --git a/qt5/PKGBUILD b/qt5/PKGBUILD
index 0523add..84b6a0c 100644
--- a/qt5/PKGBUILD
+++ b/qt5/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 242239 2015-07-15 02:40:52Z fyan $
+# $Id: PKGBUILD 244485 2015-08-22 06:05:11Z fyan $
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
@@ -30,9 +30,9 @@ pkgname=('qt5-3d'
'qt5-x11extras'
'qt5-xmlpatterns')
pkgver=5.5.0
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
-url='http://qt-project.org/'
+url='http://www.qt.io/developers'
license=('GPL3' 'LGPL' 'FDL' 'custom')
makedepends=('libxcb' 'xcb-proto' 'xcb-util' 'xcb-util-image' 'xcb-util-wm' 'xcb-util-keysyms'
'mesa' 'at-spi2-core' 'alsa-lib' 'gst-plugins-base-libs' 'libjpeg-turbo' 'cups'
@@ -45,13 +45,17 @@ groups=('qt' 'qt5')
_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
source=("http://download.qt-project.org/official_releases/qt/${pkgver%.*}/${pkgver}/single/${_pkgfqn}.tar.xz"
'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qdbusviewer.desktop'
- 'keypad-shortcuts.patch')
+ 'keypad-shortcuts.patch'
+ 'ae51e360f986698eaf41fdb38f8a878a50f69be1.patch'
+ 'b0b08cc0e4e38504d6b833702f7477aee4e2a192.patch')
md5sums=('65d5282f3dee0336da9ed1f77148952f'
'b2897dd6a2967bccf8f10e397aafee55'
'76e150b20178d2d43801f7367232e5f7'
'188da8f4c87316e730ebf1c6217bf5a0'
'322b419b16c75d4de0ee7ad0a246caa1'
- '665439088fc7de52a97455c5eaf87889')
+ '665439088fc7de52a97455c5eaf87889'
+ '4587b9a9438a8e86235a1c1b26dce1e8'
+ 'cea675fa4b394653e3bc9f80f9edf4b0')
prepare() {
cd ${_pkgfqn}
@@ -59,6 +63,10 @@ prepare() {
# https://bugs.archlinux.org/task/44676
(cd qtbase; patch -p1 -i "$srcdir/keypad-shortcuts.patch")
+ # https://bugs.archlinux.org/task/43986
+ (cd qtbase; patch -p1 -i "$srcdir/ae51e360f986698eaf41fdb38f8a878a50f69be1.patch"
+ patch -p1 -i "$srcdir/b0b08cc0e4e38504d6b833702f7477aee4e2a192.patch")
+
# Build qmake using Arch {C,LD}FLAGS
# This also sets default {C,CXX,LD}FLAGS for projects built using qmake
sed -i -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${CFLAGS}|" \
diff --git a/qt5/ae51e360f986698eaf41fdb38f8a878a50f69be1.patch b/qt5/ae51e360f986698eaf41fdb38f8a878a50f69be1.patch
new file mode 100644
index 0000000..38aea24
--- /dev/null
+++ b/qt5/ae51e360f986698eaf41fdb38f8a878a50f69be1.patch
@@ -0,0 +1,56 @@
+From ae51e360f986698eaf41fdb38f8a878a50f69be1 Mon Sep 17 00:00:00 2001
+From: Alexander Volkov <a.volkov@rusbitech.ru>
+Date: Fri, 19 Jun 2015 13:34:11 +0300
+Subject: [PATCH] xcb: Ignore disabling of outputs in the middle of the mode
+ switch
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+X server may send RROutputChangeNotify event with null crtc and mode,
+when it switches an output mode. Request RROutputInfo to distinguish
+this case from the case when the output is explicitly disabled.
+
+Change-Id: I4c2356ec71dbcc8013009ea8a6f46dd11f19d6bb
+Task-number: QTBUG-44158
+Task-number: QTBUG-46786
+Task-number: QTBUG-46822
+Reviewed-by: Daniel Vrátil <dvratil@redhat.com>
+Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
+Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
+---
+ src/plugins/platforms/xcb/qxcbconnection.cpp | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
+index 0867615..29e1fd1 100644
+--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
++++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
+@@ -265,11 +265,19 @@ void QXcbConnection::updateScreens(const xcb_randr_notify_event_t *event)
+ } else if (screen) {
+ // Screen has been disabled -> remove
+ if (output.crtc == XCB_NONE && output.mode == XCB_NONE) {
+- qCDebug(lcQpaScreen) << "output" << screen->name() << "has been disabled";
+- m_screens.removeOne(screen);
+- foreach (QXcbScreen *otherScreen, m_screens)
+- otherScreen->removeVirtualSibling((QPlatformScreen *) screen);
+- QXcbIntegration::instance()->destroyScreen(screen);
++ xcb_randr_get_output_info_cookie_t outputInfoCookie =
++ xcb_randr_get_output_info(xcb_connection(), output.output, output.config_timestamp);
++ QScopedPointer<xcb_randr_get_output_info_reply_t, QScopedPointerPodDeleter> outputInfo(
++ xcb_randr_get_output_info_reply(xcb_connection(), outputInfoCookie, NULL));
++ if (outputInfo->crtc == XCB_NONE) {
++ qCDebug(lcQpaScreen) << "output" << screen->name() << "has been disabled";
++ m_screens.removeOne(screen);
++ foreach (QXcbScreen *otherScreen, m_screens)
++ otherScreen->removeVirtualSibling((QPlatformScreen *) screen);
++ QXcbIntegration::instance()->destroyScreen(screen);
++ } else {
++ qCDebug(lcQpaScreen) << "output" << screen->name() << "has been temporarily disabled for the mode switch";
++ }
+ } else {
+ // Just update existing screen
+ screen->updateGeometry(output.config_timestamp);
+--
+2.3.5
+
diff --git a/qt5/b0b08cc0e4e38504d6b833702f7477aee4e2a192.patch b/qt5/b0b08cc0e4e38504d6b833702f7477aee4e2a192.patch
new file mode 100644
index 0000000..ff1395c
--- /dev/null
+++ b/qt5/b0b08cc0e4e38504d6b833702f7477aee4e2a192.patch
@@ -0,0 +1,45 @@
+From b0b08cc0e4e38504d6b833702f7477aee4e2a192 Mon Sep 17 00:00:00 2001
+From: Ralf Jung <post@ralfj.de>
+Date: Sun, 5 Jul 2015 12:15:29 +0200
+Subject: [PATCH] When a screen comes back online, the windows need to be told
+ about it
+
+On my system, this fixes the misbehavior of Qt applications when the (only) active screen is
+switched, e.g. from an external screen to the laptop.
+This behavior is caused by the screen() of widgets to be set to NULL when their screen goes away.
+When a new screen comes online, the widgets *should* be told about it, but they are not. The only
+place that "maybeSetScreen" is called is when an existing screen changes its geometry, but not
+when a screen gets enabled without its geometry being affected in any way (e.g. because it was
+just disabled via xrandr, but has been connected all along). This makes sure that "maybeSetScreen"
+is also called when a screen gets enabled.
+
+Task-number: QTBUG-47041
+Change-Id: Ic72d6beaa544bf9a4efdbea0830b1bc0d6ce5362
+Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
+Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
+---
+ src/plugins/platforms/xcb/qxcbconnection.cpp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
+index 74f48b0..0867615 100644
+--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
++++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
+@@ -252,6 +252,14 @@ void QXcbConnection::updateScreens(const xcb_randr_notify_event_t *event)
+ otherScreen->addVirtualSibling(screen);
+ m_screens << screen;
+ QXcbIntegration::instance()->screenAdded(screen, screen->isPrimary());
++
++ // Windows which had null screens have already had expose events by now.
++ // They need to be told the screen is back, it's OK to render.
++ foreach (QWindow *window, QGuiApplication::topLevelWindows()) {
++ QXcbWindow *xcbWin = static_cast<QXcbWindow*>(window->handle());
++ if (xcbWin)
++ xcbWin->maybeSetScreen(screen);
++ }
+ }
+ // else ignore disabled screens
+ } else if (screen) {
+--
+2.3.5
+
diff --git a/qt5/gcc-5.patch b/qt5/gcc-5.patch
deleted file mode 100644
index 11c4bd5..0000000
--- a/qt5/gcc-5.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up qtwebkit-opensource-src-5.4.0/Source/JavaScriptCore/runtime/JSObject.cpp.than
-qtwebkit-opensource-src-5.4.0/Source/JavaScriptCore/runtime/JSObject.cpp
---- qtwebkit-opensource-src-5.4.0/Source/JavaScriptCore/runtime/JSObject.cpp.than 2015-03-18 10:24:38.683352327
--0400
-+++ qtwebkit-opensource-src-5.4.0/Source/JavaScriptCore/runtime/JSObject.cpp 2015-03-18 10:25:21.953352327 -0400
-@@ -1909,6 +1909,10 @@ void JSObject::putByIndexBeyondVectorLen
- }
- }
-
-+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<ContiguousShape>(ExecState* exec, unsigned i, JSValue value);
-+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<DoubleShape>(ExecState* exec, unsigned i, JSValue value);
-+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<Int32Shape>(ExecState* exec, unsigned i, JSValue value);
-+
- void JSObject::putByIndexBeyondVectorLengthWithArrayStorage(ExecState* exec, unsigned i, JSValue value, bool shouldThrow, ArrayStorage* storage)
- {
- VM& vm = exec->vm();
-
diff --git a/qt5/ibus-get-display-number-when-screen-number-is-omitted.patch b/qt5/ibus-get-display-number-when-screen-number-is-omitted.patch
new file mode 100644
index 0000000..54897e0
--- /dev/null
+++ b/qt5/ibus-get-display-number-when-screen-number-is-omitted.patch
@@ -0,0 +1,32 @@
+From c72325d52575cb8a46cc8595c592c27581089dec Mon Sep 17 00:00:00 2001
+From: Takao Fujiwara <tfujiwar@redhat.com>
+Date: Tue, 24 Mar 2015 19:08:34 +0900
+Subject: [PATCH] ibus: Get display number when screen number is omitted.
+
+QIBusPlatformInputContextPrivate::createConnection() parses DISPLAY
+variable and it does not get the display number when the screen number
+is omitted. E.g. DISPLAY=":1".
+
+Change-Id: I9f81d8114d4e0f654a27ada67c5dc110eb34cd64
+Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
+---
+ .../ibus/qibusplatforminputcontext.cpp | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp
+index d00435b..673942b 100644
+--- a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp
++++ b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp
+@@ -351,6 +351,8 @@ QDBusConnection *QIBusPlatformInputContextPrivate::createConnection()
+ int pos2 = display.indexOf('.', pos);
+ if (pos2 > 0)
+ displayNumber = display.mid(pos, pos2 - pos);
++ else
++ displayNumber = display.right(pos);
+ if (debug)
+ qDebug() << "host=" << host << "displayNumber" << displayNumber;
+
+--
+1.7.1
+
+