Merge from Subversion:

* qt/qt-dbus.qdocconf: Update Trolltech's webpage link to
	  something that exists (r526315)
	* qt/qdbusinternalfilters.cpp: Correctly detect non-scriptable
	  slots/signals (r526316)
	* qt/qdbusinternalfilters.cpp: Fix the setProperty call and
	  also return an unknown-method error if the parameters don't
	  match for org.freedesktop.DBus.Properties. (r526842)
	* qt/examples/dbus.cpp: Allow passing of QVariants (r526843)
	* qt/qdbusintegrator.cpp: Restore the proper order of
	  delivery: don't make method returns be delivered on priority
	  (r528150)
This commit is contained in:
Thiago Macieira 2006-04-10 10:49:36 +00:00
parent 68b0f52359
commit 399c44a133
5 changed files with 38 additions and 9 deletions

View file

@ -1,3 +1,18 @@
2006-04-10 Thiago Macieira <thiago.macieira@trolltech.com>
Merge from Subversion:
* qt/qt-dbus.qdocconf: Update Trolltech's webpage link to
something that exists (r526315)
* qt/qdbusinternalfilters.cpp: Correctly detect non-scriptable
slots/signals (r526316)
* qt/qdbusinternalfilters.cpp: Fix the setProperty call and
also return an unknown-method error if the parameters don't
match for org.freedesktop.DBus.Properties. (r526842)
* qt/examples/dbus.cpp: Allow passing of QVariants (r526843)
* qt/qdbusintegrator.cpp: Restore the proper order of
delivery: don't make method returns be delivered on priority
(r528150)
2006-03-28 Thiago Macieira <thiago.macieira@trolltech.com>
* configure.in qt/Makefile.am: add qt/examples

View file

@ -213,11 +213,13 @@ void placeCall(const QString &service, const QString &path, const QString &inter
QVariantList params;
for (int i = 0; argc && i < types.count(); ++i) {
int id = QVariant::nameToType(types.at(i));
if (id == QVariant::UserType || id == QVariant::Map) {
if ((id == QVariant::UserType || id == QVariant::Map) && types.at(i) != "QVariant") {
fprintf(stderr, "Sorry, can't pass arg of type %s yet\n",
types.at(i).constData());
exit(1);
}
if (id == QVariant::UserType)
id = QMetaType::type(types.at(i));
Q_ASSERT(id);
@ -227,7 +229,13 @@ void placeCall(const QString &service, const QString &path, const QString &inter
else
p = QString::fromLocal8Bit(argv[0]);
p.convert( QVariant::Type(id) );
if (id < QVariant::UserType)
// avoid calling it for QVariant
p.convert( QVariant::Type(id) );
else if (types.at(i) == "QVariant") {
QVariant tmp(id, p.constData());
p = tmp;
}
params += p;
--argc;
++argv;

View file

@ -995,6 +995,9 @@ bool QDBusConnectionPrivate::activateInternalFilters(const ObjectTreeNode *node,
qDBusPropertyGet(node, msg);
else if (msg.method() == QLatin1String("Set") && msg.signature() == QLatin1String("ssv"))
qDBusPropertySet(node, msg);
else
return false;
return true;
}
@ -1245,10 +1248,9 @@ void QDBusConnectionPrivate::messageResultReceived(DBusPendingCall *pending, voi
qDebug() << "got message: " << msg;
CallDeliveryEvent *e = prepareReply(call->receiver, call->methodIdx, call->metaTypes, msg);
if (e)
connection->deliverCall(*e);
connection->postCallDeliveryEvent(e);
else
qDebug() << "Deliver failed!";
delete e;
}
dbus_pending_call_unref(pending);
delete call;

View file

@ -152,9 +152,13 @@ static QString generateInterfaceXml(const QMetaObject *mo, int flags, int method
.arg(isOutput ? QLatin1String("out") : QLatin1String("in"));
}
if (!isScriptable &&
!(flags & (QDBusConnection::ExportAllSlots | QDBusConnection::ExportAllSignals)))
continue;
if (!isScriptable) {
// check if this was added by other means
if (isSignal && (flags & QDBusConnection::ExportAllSignals) != QDBusConnection::ExportAllSignals)
continue;
if (!isSignal && (flags & QDBusConnection::ExportAllSlots) != QDBusConnection::ExportAllSlots)
continue;
}
if (qDBusCheckAsyncTag(mm.tag()))
// add the no-reply annotation
@ -359,7 +363,7 @@ void qDBusPropertySet(const QDBusConnectionPrivate::ObjectTreeNode *node, const
}
}
if (!value.isValid() && node->flags & QDBusConnection::ExportProperties) {
if (node->flags & QDBusConnection::ExportProperties) {
// try the object itself
int pidx = node->obj->metaObject()->indexOfProperty(property_name);
if (pidx != -1) {

View file

@ -126,7 +126,7 @@ HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0
HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
"<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \
"<td width=\"30%\">Copyright &copy; 2006 <a href=\"trolltech.html\">Trolltech</a></td>\n" \
"<td width=\"30%\">Copyright &copy; 2006 <a href=\"http://www.trolltech.com\">Trolltech</a></td>\n" \
"<td width=\"40%\" align=\"center\">&nbsp;</td>\n" \
"<td width=\"30%\" align=\"right\"><div align=\"right\">QtDBus \\version</div></td>\n" \
"</tr></table></div></address>"