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]

Reply via email to