Age | Commit message (Collapse) | Author | Files | Lines |
|
not NULL
For example, when receiving a MUC delivery report we end up with a message
having no sender and so no contact to prepare.
https://bugs.freedesktop.org/show_bug.cgi?id=41929
|
|
rules
|
|
It turns out we can now remove the kludges which made the introspection rules
so complicated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes: <https://bugs.freedesktop.org/show_bug.cgi?id=41714>
|
|
This macro is really ugly. I only left it in place for assertions like
MYASSERT (!tp_proxy_prepare_finish (chan, prepare_result, &error), "");
where the assertion has a side-effect. Otherwise, if someone disables
assertions the test will crash. Ugh.
|
|
fea8294 introduced this pretty obvious leak.
|
|
|
|
tp-glib uses to rely on its introspection queue to add the interface ID
of its channel type even when the type was already known during
construction (which is basically alway the case now as we always pass the
immutable properties when creating a TpChannel).
This was forcing TpChannel subclasses to have a CORE feature to connect
signals on their channel type interface for no good reason.
https://bugs.freedesktop.org/show_bug.cgi?id=41729
|
|
|
|
|
|
|
|
|
|
dup_owners_table() can insert NULL contacts into the hash (if the owner is
unknown) so we should just ignore those.
https://bugs.freedesktop.org/show_bug.cgi?id=41697
|
|
|
|
|
|
See <https://bugs.freedesktop.org/show_bug.cgi?id=32611>.
Reviewed-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
|
|
|
|
|
Previously, the update_async vfunc in TpBaseRoomConfigClass took a
pointer to a TpBaseChannel as its first argument. This is an artifact of
how this was initially hooked up in Gabble, and is pretty
unconventional, to say the least.
|
|
TpBaseRoomConfig stores a pointer to itself as qdata on its parent
channel. It did not previously NULL that pointer out when it was
disposed: it now does.
Correspondingly, I added an explicit check for NULL to find_myself().
While this is technically redundant with the TP_IS_BASE_ROOM_CONFIG()
check, I think it makes the error message clearer to distinguish between
the two.
|
|
This is handier than using the GObject property, and it transpires that
subclasses would like to use it.
It returns a ref rather than not because TpBaseRoomConfig only holds a
weak ref to the channel, so it would otherwise be quite easy for CM code
to accidentally try to use a dead pointer. (I fell into this trap while
working on Gabble.)
|
|
This is a mixin-esque class (akin to TpBaseContactList) implementing the
RoomConfig interface on MUC channels.
This class was developed inside Gabble, and moved here when essentially
complete. Changes since the last time it appears in Gabble:
• Uses of wocky_enum_{to,from}_nick were replaced by
_tp_enum_{to,from}_nick;
• The description section of the documentation was written;
• Obviously, it was renamed.
|
|
The RoomConfig mixin needs these.
|
|
Reviewed-by: Xavier Claessens <xclaesse@gmail.com>
|
|
This allows the application to set a property as if in response to a
D-Bus call. This turned out to not actually be needed for this branch,
but it is needed if we want MC to use TpDBusPropertiesMixin. (See also,
fd.o#32416.)
|
|
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=41658
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
|
|
I find myself wanting this while writing RoomConfig support. Admittedly
once that code is in tp-glib it won't strictly need to be exported, but
I think it's harmless enough.
|
|
Almost no-one ever needs to call this.
|
|
|
|
We have to generate a bunch of (deprecated) tp_cli_*_run_* methods, for
backwards-compatibility. But there's no reason to add any *more* every
time we define a new channel interface.
So here, we generate a list of methods we need to generate for backwards
compatibility (based on their being listed in the documentation), and
modify the code generator to refuse to generate any _run_ method not
named in that file.
|
|
This also includes the updates to the Call-based example code omitted
from fa81060.
|
|
process_contacts_queue() can already cope with ContactsQueueItems in the
queue which do not actually have any contacts to prepare. As a comment
in the function describes, we still go through the motions of enqueuing
a preparation/upgrade operation to avoid reordering events.
However, previously the function assumed that if any of the three arrays
(of contact objects, ids, or handles) were non-NULL, then they would be
non-empty. This assumption is false, as
<https://bugs.freedesktop.org/show_bug.cgi?id=41470> illustrates.
The concrete example in that bug is an emission of MembersChanged, with
all arrays except Removed empty, and Actor set to 0. We don't bother
preparing contacts which are removed; so
_tp_channel_contacts_queue_prepare_async() is called with an empty array
of contacts. There are a few other signals which can lead to this
situation.
So this patch makes process_contacts_queue() do the right thing if the
arrays are present but empty. (Previously all three paths would assert
in this situation.)
Fixes: <https://bugs.freedesktop.org/show_bug.cgi?id=41470>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
|
|
|
|
|
|
Conflicts:
NEWS
configure.ac
telepathy-glib/message-mixin.c
|
|
|
|
|
|
|
|
Reviewed-by: Xavier Claessens <xclaesse@gmail.com>
|
|
|
|
|
|
|
|
already prepared
|
|
|