From 705d29694fd61c47a57ccec531e73d87a2960021 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 19 Nov 2012 02:25:52 -0800 Subject: Mon Nov 19 02:22:26 PST 2012 --- ...t-crash-on-missing-invalid-DISPLAY-envvar.patch | 75 ++++++++++++++++++++++ community/ibus-qt/PKGBUILD | 23 ++++--- 2 files changed, 89 insertions(+), 9 deletions(-) create mode 100644 community/ibus-qt/0001-Do-not-crash-on-missing-invalid-DISPLAY-envvar.patch (limited to 'community/ibus-qt') diff --git a/community/ibus-qt/0001-Do-not-crash-on-missing-invalid-DISPLAY-envvar.patch b/community/ibus-qt/0001-Do-not-crash-on-missing-invalid-DISPLAY-envvar.patch new file mode 100644 index 000000000..eab3a51fe --- /dev/null +++ b/community/ibus-qt/0001-Do-not-crash-on-missing-invalid-DISPLAY-envvar.patch @@ -0,0 +1,75 @@ +From fab6dc760edc39b9b4e561cfbf21b38c4fa86234 Mon Sep 17 00:00:00 2001 +From: Peter Wu +Date: Tue, 4 Sep 2012 19:40:08 +0200 +Subject: [PATCH] Do not crash on missing/invalid DISPLAY envvar. + +- Check whether the passed DISPLAY environment variable contains ":". + +- Fallback to "-display" parameter passed to QApplication. +--- + src/CMakeLists.txt | 2 ++ + src/qibusbus.cpp | 23 ++++++++++++++++------- + 2 files changed, 18 insertions(+), 7 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 2ad5588..8866ac0 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -92,9 +92,11 @@ set_target_properties( + target_link_libraries( + ibus-qt + debug ${QT_QTCORE_LIBRARY_DEBUG} ++ debug ${QT_QTGUI_LIBRARY_DEBUG} + debug ${QT_QTDBUS_LIBRARY_DEBUG} + debug ${QT_QTXML_LIBRARY_DEBUG} + optimized ${QT_QTCORE_LIBRARY_RELEASE} ++ optimized ${QT_QTGUI_LIBRARY_RELEASE} + optimized ${QT_QTDBUS_LIBRARY_RELEASE} + optimized ${QT_QTXML_LIBRARY_RELEASE} + ${DBUS_LIBRARIES} +diff --git a/src/qibusbus.cpp b/src/qibusbus.cpp +index 6a45d65..ed8248a 100644 +--- a/src/qibusbus.cpp ++++ b/src/qibusbus.cpp +@@ -12,7 +12,8 @@ + #include "qibusbus.h" + #include "qibusibusproxy.h" + #include "qibusdbusproxy.h" +- ++#include ++#include + + namespace IBus { + /** +@@ -121,15 +122,23 @@ QString + Bus::getSocketPath (void) + { + QString display = getenv ("DISPLAY"); +- QStringList strs = display.split(":"); + QString hostname = "unix"; + QString display_number = "0"; ++ /* fallback when -display is passed to QApplication with no DISPLAY env */ ++ if (display == NULL) { ++ Display * dpy = QX11Info::display(); ++ if (dpy) ++ display = XDisplayString(dpy); ++ } ++ if (display != NULL && display.contains(':')) { ++ QStringList strs = display.split(":"); + +- if (!strs[0].isEmpty()) +- hostname = strs[0]; +- strs = strs[1].split("."); +- if (!strs[0].isEmpty()) +- display_number = strs[0]; ++ if (!strs[0].isEmpty()) ++ hostname = strs[0]; ++ strs = strs[1].split("."); ++ if (!strs[0].isEmpty()) ++ display_number = strs[0]; ++ } + + QString path = + QDir::homePath() + +-- +1.7.12 diff --git a/community/ibus-qt/PKGBUILD b/community/ibus-qt/PKGBUILD index 36013ae21..aed97d135 100644 --- a/community/ibus-qt/PKGBUILD +++ b/community/ibus-qt/PKGBUILD @@ -1,30 +1,35 @@ -# $Id: PKGBUILD 69758 2012-04-23 09:15:08Z ibiru $ -# Maintainer: Thomas Dziedzic < gostrc at gmail > +# $Id: PKGBUILD 80239 2012-11-18 10:30:25Z andrea $ +# Maintainer: Felix Yan +# Contributor: Thomas Dziedzic < gostrc at gmail > # Contributor: garion < garion @ mailoo.org > # Contributor: leemars pkgname=ibus-qt pkgver=1.3.1 -pkgrel=5 +pkgrel=6 pkgdesc='IBus qt library and IBus qt input method plugin' arch=('i686' 'x86_64') license=('LGPL') url='http://ibus.googlecode.com' -depends=('qt' 'ibus' 'icu') +depends=('qt' 'ibus' 'icu>=50') makedepends=('cmake' 'automoc4' 'doxygen') -source=("http://ibus.googlecode.com/files/${pkgname}-${pkgver}-Source.tar.gz") -md5sums=('769e8872ca8a59327b2073ce2f142589') +source=("http://ibus.googlecode.com/files/${pkgname}-${pkgver}-Source.tar.gz" + 0001-Do-not-crash-on-missing-invalid-DISPLAY-envvar.patch) build() { - cd "${srcdir}" + cd "${srcdir}/${pkgname}-${pkgver}-Source" + patch -p1 -i ../0001-Do-not-crash-on-missing-invalid-DISPLAY-envvar.patch + mkdir build cd build - cmake "../${pkgname}-${pkgver}-Source" -DCMAKE_INSTALL_PREFIX=/usr + cmake .. -DCMAKE_INSTALL_PREFIX=/usr make } package() { - cd "${srcdir}/build" + cd "${srcdir}//${pkgname}-${pkgver}-Source/build" make DESTDIR="${pkgdir}" install } +md5sums=('769e8872ca8a59327b2073ce2f142589' + 'c30f52b1a9018132e5ecd0c14616cb65') -- cgit v1.2.3-54-g00ecf