diff options
author | Florian Bruhin <git@the-compiler.org> | 2015-10-16 13:51:49 +0200 |
---|---|---|
committer | Florian Bruhin <git@the-compiler.org> | 2015-10-16 13:51:49 +0200 |
commit | 16e06e81ebab52201dab22a3f62397009a51cf0b (patch) | |
tree | 036a318147c3c59a8de7c1a82b827be9fd9a447c | |
parent | 6a611205c6947c67c9a3dcee50b038c6a57a6261 (diff) | |
download | qt-debug-pkgbuild-16e06e81ebab52201dab22a3f62397009a51cf0b.tar.gz qt-debug-pkgbuild-16e06e81ebab52201dab22a3f62397009a51cf0b.zip |
Update to Qt5 5.5-2
-rw-r--r-- | qt5/PKGBUILD | 18 | ||||
-rw-r--r-- | qt5/ae51e360f986698eaf41fdb38f8a878a50f69be1.patch | 56 | ||||
-rw-r--r-- | qt5/b0b08cc0e4e38504d6b833702f7477aee4e2a192.patch | 45 | ||||
-rw-r--r-- | qt5/gcc-5.patch | 17 | ||||
-rw-r--r-- | qt5/ibus-get-display-number-when-screen-number-is-omitted.patch | 32 |
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 + + |