| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some QDBusAbstractInterface can have empty paths or service names, for
wildcard purposes. If someone tries to make a call using those
interfaces, the application crashes.
So check for the invalid conditions and don't make the call. If we
return 0 here, the message-sending code will generate an error in
QDBusConnectionPrivate.
Reviewed-by: TrustMe
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
| |
Whenever an argument failed to marshall, this assert would be
triggered. It's technically an error in the application, but it's hard
to track it down. So remove it and let the execution continue (the
function returns false indicating failure already and there's a
warning from the marshalling code itself)
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
|
| |
We have this function called qDBusInterfaceFromMetaObject that
calculates the interface name from a given meta object. There's no
need to duplicate the code here (and not do it right).
All tests still pss.
Task-number: 236955
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
| |
already-finished call.
This fixes a bit of a "surprise" when calling a local method (which
returns and finishes immediately) or when by accident calling a
function that returns QDBusReply instead of QDBusPendingCall/Reply.
Reviewed-by: Trust Me
|
|
|
|
|
|
| |
Shame on me: copy/paste from socketRead to socketWrite, I didn't
change the DBUS_WATCH_READABLE to DBUS_WATCH_WRITABLE.
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently we have a problem with these default parameters. We have
basically:
template<typename T> void func(T * = 0);
template<> void func<Something>(Something *);
Now, according to GCC, I can't add "= 0" to the template
specialisation. However, MSVC 2008 isn't able to call the
specialisation without my extra 0 here. I've seen a similar issue
before in QSharedPointer.
I don't think this is a big deal because the error message output by
MSVC 2008 indicates this is likely a compiler bug:
qdbuspendingreply.h(98) : error C2440: 'default argument': cannot
convert from 'T1 *' to 'QVariant *'
where
[
T1=QVariant
]
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This happens in heavily threaded applications: libdbus-1 asks us to add
and remove timers (and watches, but those less often) from any thread.
Since QObject's model requires that timers and QSocketDescriptors be
added only in the object's own thread, we have to sync back to the main
thread.
However, since D-Bus keeps adding and removing the timers, we have to
keep a queue of timers to be added and that list is accessed by any
thread. Make sure that list is only accessed in locked conditions.
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
|
|
|
|
|
|
|
|
| |
acquire guard of the local static.
This only buys us one warning less by helgrind.
Reviewed-by: Trust Me
|
|
|