Version: 0.70.0 (using KDE 4.2.0) OS: Linux Installed from: SuSE RPMs I have a Jabber-contact in Kopete that is linked to a specific contact in my Kontact-addressbook; now when I query kopete over dbus, I get an ID like this: gG2oDHcPwx Calling the DBus /Kopete contactProperties on this ID returns an empty string. When I unlink that entry from the addressbook, the ID looks like this: JabberProtocol:someone@server.com:someone@otherserver.com And I can query it correctly with DBus.
Kopete DBus has much improved since KDE 4.0 but your are right. This is still a bug. I had a look through the source and found something interesting: The dbus methode conacts() returns a list of !!meta!! contacts. So gG2oDHcPwx is the meta contanct id. The dbus methode contactProperties() calls KopeteDBusInterfacePrivate::findContact() and this methode calls Kopete::ContactList::self()->findMetaContactByContactId(). This means: conactProperties() wants a contact id and not a !!meta!! contact id. I think changing the line: contact = Kopete::ContactList::self()->findMetaContactByContactId( nameOrId); to: contact = Kopete::ContactList::self()->metaContact( nameOrId); in: kopete/kopetedbusinterface_p.cpp will solve the problem. Btw: The same problem exists in sendMessage(), getDisplayName(), etc. I think this change will solve those problems, too.
*** Bug 167441 has been marked as a duplicate of this bug. ***
I've tryed KDE4.3 and this seems fixed now.
Marking as such
*** Bug 208737 has been marked as a duplicate of this bug. ***