Hello community, here is the log from the commit of package libqt4 for openSUSE:Factory checked in at 2013-09-14 19:09:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libqt4 (Old) and /work/SRC/openSUSE:Factory/.libqt4.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt4" Changes: -------- --- /work/SRC/openSUSE:Factory/libqt4/libqt4-devel-doc.changes 2013-09-02 15:00:14.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libqt4.new/libqt4-devel-doc.changes 2013-09-14 19:09:55.000000000 +0200 @@ -1,0 +2,8 @@ +Fri Sep 13 08:52:05 UTC 2013 - [email protected] + +- Added patch from upstream for resolving bnc#835384, QTBUG#32908 + 0006-Revert-QTBUG-15319-fix-shortcuts-with-secondary-Xkb-layout.patch +- Revert upstream commit that breaks akonadi PostgreSQL backend (QTBUG#30076): + 0007-postgresql-driver-escape-backslashes-only-when-serve.patch + +------------------------------------------------------------------- libqt4-sql-plugins.changes: same change libqt4.changes: same change New: ---- 0006-Revert-QTBUG-15319-fix-shortcuts-with-secondary-Xkb-layout.patch 0007-postgresql-driver-escape-backslashes-only-when-serve.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libqt4-devel-doc.spec ++++++ --- /var/tmp/diff_new_pack.UgHpoq/_old 2013-09-14 19:09:59.000000000 +0200 +++ /var/tmp/diff_new_pack.UgHpoq/_new 2013-09-14 19:09:59.000000000 +0200 @@ -111,6 +111,10 @@ Patch157: 0004-Remove-QDBusPendingCallPrivate-autoDelete-logic.patch # PATCH-FIX-UPSTREAM 0005-Change-QDBusPendingCallPrivate-to-full-reference-cou.patch (QTBUG#27809) Patch158: 0005-Change-QDBusPendingCallPrivate-to-full-reference-cou.patch +# PATCH-FIX-UPSTREAM 0006-Revert-QTBUG-15319-fix-shortcuts-with-secondary-Xkb-layout.patch (QTBUG#32908) +Patch159: 0006-Revert-QTBUG-15319-fix-shortcuts-with-secondary-Xkb-layout.patch +# PATCH-UNFIX-UPSTREAM 0007-postgresql-driver-escape-backslashes-only-when-serve.patch (QTBUG#30076) +Patch160: 0007-postgresql-driver-escape-backslashes-only-when-serve.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %define common_options --opensource -fast -no-separate-debug-info -shared -xkb -openssl-linked -xrender -xcursor -dbus-linked -xfixes -xrandr -xinerama -sm -no-nas-sound -no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis -system-zlib -prefix /usr -L %{_libdir} -libdir %{_libdir} -docdir %_docdir/%{base_name} -examplesdir %{_libdir}/qt4/examples -demosdir %{_libdir}/qt4/demos -plugindir %plugindir -translationdir %{_datadir}/qt4/translations -iconv -sysconfdir /etc/settings -datadir %{_datadir}/qt4/ -no-pch -reduce-relocations -exceptions -system-libtiff -glib -optimized-qmake -no-webkit -no-xmlpatterns -system-sqlite -qt3support -no-sql-mysql -importdir %plugindir/imports -xsync -xinput -gtkstyle %define check_config \ @@ -192,6 +196,8 @@ %patch156 -p1 %patch157 -p1 %patch158 -p1 +%patch159 -p1 +%patch160 -Rp1 # ### 47 rediff #%patch121 -p1 # be sure not to use them libqt4-sql-plugins.spec: same change libqt4.spec: same change ++++++ 0006-Revert-QTBUG-15319-fix-shortcuts-with-secondary-Xkb-layout.patch ++++++ >From 0c03af0d4d928bdbb32b09eedb1dba3ce59e5278 Mon Sep 17 00:00:00 2001 From: Gatis Paeglis <[email protected]> Date: Sat, 31 Aug 2013 21:22:47 +0200 Subject: [PATCH 1/1] Revert "QTBUG-15319: fix shortcuts with secondary Xkb layout." The change which attempted to fix QTBUG-15319 broke keyboard shortcuts for non latin keyboard layouts. This patch reverts QTBUG-15319 (f45cdeda8) since it caused a regression. Task-number: QTBUG-32908 Change-Id: I47d7984fa7986d5218d1f3ff1fc36d2ec67c9ba7 Reviewed-by: David Faure <[email protected]> --- src/gui/kernel/qkeymapper_x11.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/gui/kernel/qkeymapper_x11.cpp b/src/gui/kernel/qkeymapper_x11.cpp index 005ff3f..7daa41d 100644 --- a/src/gui/kernel/qkeymapper_x11.cpp +++ b/src/gui/kernel/qkeymapper_x11.cpp @@ -282,12 +282,9 @@ QList<int> QKeyMapperPrivate::possibleKeysXKB(QKeyEvent *event) // first, translate key only using lock modifiers (there are no Qt equivalents for these, so we must // always use them when determining the baseKeySym) - // Note: the Xkb group to be used for the conversion keycode->keysym has to be given to - // XkbLookupKeySym(). This information is contained in the bits 8 to 15 of xmodifiers. - // See https://bugreports.qt-project.org/browse/QTBUG-15319 . KeySym baseKeySym; uint consumedModifiers; - if (!XkbLookupKeySym(X11->display, xkeycode, (xmodifiers & (0xff00 | LockMask | qt_num_lock_mask)), + if (!XkbLookupKeySym(X11->display, xkeycode, (xmodifiers & (LockMask | qt_num_lock_mask)), &consumedModifiers, &baseKeySym)) return QList<int>(); -- 1.8.4 ++++++ 0007-postgresql-driver-escape-backslashes-only-when-serve.patch ++++++ >From 8053ae4030b4342f73a08b9870ccd19189ae401d Mon Sep 17 00:00:00 2001 From: Mark Brand <[email protected]> Date: Thu, 7 Mar 2013 11:52:52 +0100 Subject: [PATCH 1/1] postgresql driver: escape backslashes only when server requires it Task-number: QTBUG-30076 Change-Id: I408cda941884f01484d0edfa82c91fc19cb8718c Reviewed-by: Israel Lins Albuquerque <[email protected]> Reviewed-by: Sergey Blagodarin Reviewed-by: Andy Shaw <[email protected]> Reviewed-by: Andras Mantia <[email protected]> (cherry picked from qtbase/e3c5351d06ce8a12f035cd0627356bc64d8c334a) Reviewed-by: Mark Brand <[email protected]> --- src/sql/drivers/psql/qsql_psql.cpp | 38 +++++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/src/sql/drivers/psql/qsql_psql.cpp b/src/sql/drivers/psql/qsql_psql.cpp index 51ddce0..c2a127c 100644 --- a/src/sql/drivers/psql/qsql_psql.cpp +++ b/src/sql/drivers/psql/qsql_psql.cpp @@ -120,7 +120,16 @@ inline void qPQfreemem(void *buffer) class QPSQLDriverPrivate { public: - QPSQLDriverPrivate(QPSQLDriver *qq) : q(qq), connection(0), isUtf8(false), pro(QPSQLDriver::Version6), sn(0), pendingNotifyCheck(false) {} + QPSQLDriverPrivate(QPSQLDriver *qq) + : q(qq), + connection(0), + isUtf8(false), + pro(QPSQLDriver::Version6), + sn(0), + pendingNotifyCheck(false), + hasBackslashEscape(false) + { } + QPSQLDriver *q; PGconn *connection; bool isUtf8; @@ -128,6 +137,7 @@ public: QSocketNotifier *sn; QStringList seid; mutable bool pendingNotifyCheck; + bool hasBackslashEscape; void appendTables(QStringList &tl, QSqlQuery &t, QChar type); PGresult * exec(const char * stmt) const; @@ -135,6 +145,7 @@ public: QPSQLDriver::Protocol getPSQLVersion(); bool setEncodingUtf8(); void setDatestyle(); + void detectBackslashEscape(); }; void QPSQLDriverPrivate::appendTables(QStringList &tl, QSqlQuery &t, QChar type) @@ -636,6 +647,23 @@ void QPSQLDriverPrivate::setDatestyle() PQclear(result); } +void QPSQLDriverPrivate::detectBackslashEscape() +{ + // standard_conforming_strings option introduced in 8.2 + // http://www.postgresql.org/docs/8.2/static/runtime-config-compatible.html + if (pro < QPSQLDriver::Version82) { + hasBackslashEscape = true; + } else { + hasBackslashEscape = false; + PGresult* result = exec(QLatin1String("SELECT '\\\\' x")); + int status = PQresultStatus(result); + if (status == PGRES_COMMAND_OK || status == PGRES_TUPLES_OK) + if (QString::fromLatin1(PQgetvalue(result, 0, 0)) == QLatin1String("\\")) + hasBackslashEscape = true; + PQclear(result); + } +} + static QPSQLDriver::Protocol qMakePSQLVersion(int vMaj, int vMin) { switch (vMaj) { @@ -742,6 +770,7 @@ QPSQLDriver::QPSQLDriver(PGconn *conn, QObject *parent) d->connection = conn; if (conn) { d->pro = d->getPSQLVersion(); + d->detectBackslashEscape(); setOpen(true); setOpenError(false); } @@ -842,6 +871,7 @@ bool QPSQLDriver::open(const QString & db, } d->pro = d->getPSQLVersion(); + d->detectBackslashEscape(); d->isUtf8 = d->setEncodingUtf8(); d->setDatestyle(); @@ -1228,12 +1258,10 @@ QString QPSQLDriver::formatValue(const QSqlField &field, bool trimStrings) const } break; case QVariant::String: - { - // Escape '\' characters r = QSqlDriver::formatValue(field, trimStrings); - r.replace(QLatin1String("\\"), QLatin1String("\\\\")); + if (d->hasBackslashEscape) + r.replace(QLatin1String("\\"), QLatin1String("\\\\")); break; - } case QVariant::Bool: if (field.value().toBool()) r = QLatin1String("TRUE"); -- 1.8.4 -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
