]> git.pld-linux.org Git - packages/qt4.git/commitdiff
- new qt-copy patches auto/ti/qt4-4_5_1-7
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Sat, 16 May 2009 18:30:09 +0000 (18:30 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    0280-deserialization-custom-dbus-properties.diff -> 1.1
    0281-syncqt-create-phonon-global.diff -> 1.1
    qt4.spec -> 1.217

0280-deserialization-custom-dbus-properties.diff [new file with mode: 0644]
0281-syncqt-create-phonon-global.diff [new file with mode: 0644]
qt4.spec

diff --git a/0280-deserialization-custom-dbus-properties.diff b/0280-deserialization-custom-dbus-properties.diff
new file mode 100644 (file)
index 0000000..7de633d
--- /dev/null
@@ -0,0 +1,47 @@
+qt-bugs@ issue : N240326
+Qt Software task ID : 240608
+bugs.kde.org number : none
+applied: no
+author: George Goldberg <grundleborg@googlemail.com>
+
+This patch fixes deserialization of values with custom types when setting
+properties on dbus adaptors. It is needed, in particular by telepathy/Qt
+programs and libraries. The bug was reported to Nokia on 2009-01-07 along
+with the patch supplied here. The summary of the issue from the Qt
+Software task tracker follows:
+
+When calling the setter for a DBus property, if that property has a custom type
+(e.g. a struct with dbus type (uss)), QtDBus fails to demarshall the
+QDBusArgument before attempting to set the property on the adaptor. The result
+is that it attempts to call adaptor->setProperty() with a QDBusArgument of type
+"uss" instead of with the type of the custom struct.
+
+Index: src/dbus/qdbusinternalfilters.cpp
+===================================================================
+--- src/dbus/qdbusinternalfilters.cpp  (revision 960506)
++++ src/dbus/qdbusinternalfilters.cpp  (working copy)
+@@ -274,9 +274,23 @@
+             QDBusAdaptorConnector::AdaptorMap::ConstIterator it;
+             it = qLowerBound(connector->adaptors.constBegin(), connector->adaptors.constEnd(),
+                              interface_name);
+-            if (it != connector->adaptors.end() && interface_name == QLatin1String(it->interface))
++            if (it != connector->adaptors.end() && interface_name == QLatin1String(it->interface)) {
++                if (value.userType() == qMetaTypeId<QDBusArgument>()) {
++                    QDBusArgument valueArg = qvariant_cast<QDBusArgument>(value);
++                    if (valueArg.currentType() != -1) {
++                        int mid = it->adaptor->metaObject()->property(it->adaptor->metaObject()->indexOfProperty(property_name)).userType();
++                        void *null = 0;
++                        QVariant valueStore(mid, null);
++                        QDBusMetaType::demarshall(valueArg, mid, valueStore.data());
++
++                        if (it->adaptor->setProperty(property_name, valueStore))
++                            return msg.createReply();
++                    }
++                }
++
+                 if (it->adaptor->setProperty(property_name, value))
+                     return msg.createReply();
++            }
+         }
+     }
diff --git a/0281-syncqt-create-phonon-global.diff b/0281-syncqt-create-phonon-global.diff
new file mode 100644 (file)
index 0000000..427207a
--- /dev/null
@@ -0,0 +1,27 @@
+qt-bugs@ issue : none
+Qt Software task ID : none
+bugs.kde.org number : none
+applied: yes
+author: Thiago Macieira <thiago.macieira@nokia.com>
+
+Make sure syncqt creates the Phonon/Global file.
+
+The standard Phonon package has this file and it points to
+phononnamespace.h
+
+This patch is already in 4.5 branch.
+
+--- src/3rdparty/phonon/phonon/phononnamespace.h
++++ src/3rdparty/phonon/phonon/phononnamespace.h
+@@ -25,6 +25,11 @@
+ #include "phonon_export.h"
++#ifdef __QT_SYNCQT__
++// Tell syncqt to create a "Global" header here
++#pragma qt_class(Phonon::Global)
++#endif
++
+ /**
+  * Helper macro that can be used like
+  * \code
index 7c87b3be504edc291043a8d1d72ea60fcbbc018b..230a78f44970f82d2d747ab14d6af47d066c7403 100644 (file)
--- a/qt4.spec
+++ b/qt4.spec
@@ -76,7 +76,7 @@ Summary(pl.UTF-8):    Biblioteka Qt do tworzenia GUI
 Summary(pt_BR.UTF-8):  Estrutura para rodar aplicações GUI Qt
 Name:          qt4
 Version:       4.5.1
-Release:       6
+Release:       7
 License:       LGPL v2.1 or GPL v3.0
 Group:         X11/Libraries
 Source0:       http://download.qtsoftware.com/qt/source/qt-x11-opensource-src-%{version}.tar.gz
@@ -94,11 +94,13 @@ Patch104:   0216-allow-isystem-for-headers.diff
 Patch105:      0225-invalidate-tabbar-geometry-on-refresh.patch
 Patch106:      0279-svg-rendering-regression.diff
 Patch107:      0234-fix-mysql-threaded.diff
+Patch108:      0280-deserialization-custom-dbus-properties.diff
 Patch109:      0253-qmake_correct_path_separators.diff
 Patch110:      0255-qtreeview-selection-columns-hidden.diff
 Patch111:      0269-msvc-webkit-compile.diff
 Patch112:      0273-odbc-64bit-compile.diff
 Patch113:      0274-shm-native-image-fix.diff
+Patch114:      0281-syncqt-create-phonon-global.diff
 
 Patch0:                %{name}-tools.patch
 Patch1:                %{name}-qt_copy.patch
@@ -1326,11 +1328,13 @@ Programas exemplo para o Qt versão.
 %patch105 -p0
 %patch106 -p0
 %patch107 -p0
+%patch108 -p0
 %patch109 -p0
 %patch110 -p0
 %patch111 -p0
 %patch112 -p0
 %patch113 -p0
+%patch114 -p0
 
 %patch0 -p1
 %patch1 -p0
This page took 0.123058 seconds and 4 git commands to generate.