Date: Tuesday, January 20, 2015 @ 14:38:15 Author: andrea Revision: 229608
Handle SelectionClientClose in QXcbClipboard (KDEBUG#329174) Added: qt5/trunk/kdebug-329174.patch Modified: qt5/trunk/PKGBUILD ---------------------+ PKGBUILD | 50 ++++++++++++++++++++++++++++---------------------- kdebug-329174.patch | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 22 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-01-20 12:53:47 UTC (rev 229607) +++ PKGBUILD 2015-01-20 13:38:15 UTC (rev 229608) @@ -41,18 +41,20 @@ 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') + 'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qdbusviewer.desktop' + 'kdebug-329174.patch') md5sums=('21843b00ecde8956217faab391bc007b' 'b2897dd6a2967bccf8f10e397aafee55' '9638a78e502719ef8fe5f8d10d0361a9' '188da8f4c87316e730ebf1c6217bf5a0' - '322b419b16c75d4de0ee7ad0a246caa1') + '322b419b16c75d4de0ee7ad0a246caa1' + 'f69ac1589a661f232fb86ad32e293b28') prepare() { cd ${_pkgfqn} # Build qmake using Arch {C,LD}FLAGS - # This also sets default {C,XX,LD}FLAGS for projects built using qmake + # This also sets default {C,CXX,LD}FLAGS for projects built using qmake sed -i -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${CFLAGS}|" \ qtbase/mkspecs/common/gcc-base.conf sed -i -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${LDFLAGS}|" \ @@ -64,6 +66,10 @@ # in qtwebengine there are still a lot of relative calls which need a workaround mkdir "${srcdir}"/python2-path ln -s /usr/bin/python2 "${srcdir}"/python2-path/python + + # Fixed in 5.4.1 + cd qtbase + patch -p1 -i "${srcdir}"/kdebug-329174.patch } build() { @@ -139,8 +145,8 @@ install -D -m644 LGPL_EXCEPTION.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt - # Fix wrong path in prl files - find "${pkgdir}/usr/lib" -type f -name '*.prl' \ + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir + find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; # Fix wrong qmake path in pri file @@ -161,7 +167,7 @@ cd ${_pkgfqn}/qtconnectivity make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -177,7 +183,7 @@ cd ${_pkgfqn}/qtdeclarative make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -215,7 +221,7 @@ cd ${_pkgfqn}/qtenginio make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -231,7 +237,7 @@ cd ${_pkgfqn}/qtxmlpatterns make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -266,7 +272,7 @@ cd ${_pkgfqn}/qtmultimedia make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -304,7 +310,7 @@ cd ${_pkgfqn}/qtlocation make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -320,7 +326,7 @@ cd ${_pkgfqn}/qtquick1 make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -353,7 +359,7 @@ cd ${_pkgfqn}/qtscript make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -368,7 +374,7 @@ cd ${_pkgfqn}/qtsensors make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -383,7 +389,7 @@ cd ${_pkgfqn}/qtserialport make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -399,7 +405,7 @@ cd ${_pkgfqn}/qtsvg make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -440,7 +446,7 @@ install -m644 "${srcdir}"/{linguist,designer,assistant,qdbusviewer}.desktop \ "${pkgdir}/usr/share/applications/" - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -464,7 +470,7 @@ cd ${_pkgfqn}/qtwebkit make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -479,7 +485,7 @@ cd ${_pkgfqn}/qtwayland make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -494,7 +500,7 @@ cd ${_pkgfqn}/qtwebchannel make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; @@ -521,7 +527,7 @@ cd ${_pkgfqn}/qtwebsockets make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; } @@ -533,7 +539,7 @@ cd ${_pkgfqn}/qtx11extras make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; Added: kdebug-329174.patch =================================================================== --- kdebug-329174.patch (rev 0) +++ kdebug-329174.patch 2015-01-20 13:38:15 UTC (rev 229608) @@ -0,0 +1,39 @@ +From 6a7ee92b3958e3a3ebc16be15f8bd34217ec7bd2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= <mgraess...@kde.org> +Date: Wed, 10 Dec 2014 07:27:23 +0100 +Subject: [PATCH] Handle SelectionClientClose in QXcbClipboard +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +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.l...@theqtcompany.com> +Reviewed-by: Aleix Pol Gonzalez <aleix...@kde.org> +--- + src/plugins/platforms/xcb/qxcbclipboard.cpp | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/src/plugins/platforms/xcb/qxcbclipboard.cpp b/src/plugins/platforms/xcb/qxcbclipboard.cpp +index 8b3893e..f56a29d 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) ++ emitChanged(mode); + } + + +-- +1.7.1 +