packages: qt4/qt4.spec, qt4/0280-deserialization-custom-dbus-properties.dif...
arekm
arekm at pld-linux.org
Sat May 16 20:30:14 CEST 2009
Author: arekm Date: Sat May 16 18:30:14 2009 GMT
Module: packages Tag: HEAD
---- Log message:
- new qt-copy patches
---- Files affected:
packages/qt4:
qt4.spec (1.216 -> 1.217) , 0280-deserialization-custom-dbus-properties.diff (NONE -> 1.1) (NEW), 0281-syncqt-create-phonon-global.diff (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/qt4/qt4.spec
diff -u packages/qt4/qt4.spec:1.216 packages/qt4/qt4.spec:1.217
--- packages/qt4/qt4.spec:1.216 Sun Apr 26 12:08:23 2009
+++ packages/qt4/qt4.spec Sat May 16 20:30:09 2009
@@ -77,7 +77,7 @@
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
@@ -95,11 +95,13 @@
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
@@ -1327,11 +1329,13 @@
%patch105 -p0
%patch106 -p0
%patch107 -p0
+%patch108 -p0
%patch109 -p0
%patch110 -p0
%patch111 -p0
%patch112 -p0
%patch113 -p0
+%patch114 -p0
%patch0 -p1
%patch1 -p0
@@ -2186,6 +2190,9 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.217 2009/05/16 18:30:09 arekm
+- new qt-copy patches
+
Revision 1.216 2009/04/26 10:08:23 arekm
- rel 6; svg rendering regression fix
================================================================
Index: packages/qt4/0280-deserialization-custom-dbus-properties.diff
diff -u /dev/null packages/qt4/0280-deserialization-custom-dbus-properties.diff:1.1
--- /dev/null Sat May 16 20:30:14 2009
+++ packages/qt4/0280-deserialization-custom-dbus-properties.diff Sat May 16 20:30:09 2009
@@ -0,0 +1,47 @@
+qt-bugs@ issue : N240326
+Qt Software task ID : 240608
+bugs.kde.org number : none
+applied: no
+author: George Goldberg <grundleborg at 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();
++ }
+ }
+ }
+
================================================================
Index: packages/qt4/0281-syncqt-create-phonon-global.diff
diff -u /dev/null packages/qt4/0281-syncqt-create-phonon-global.diff:1.1
--- /dev/null Sat May 16 20:30:15 2009
+++ packages/qt4/0281-syncqt-create-phonon-global.diff Sat May 16 20:30:09 2009
@@ -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 at 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
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/qt4/qt4.spec?r1=1.216&r2=1.217&f=u
More information about the pld-cvs-commit
mailing list