| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the connection manager is not installed, or is installed but doesn't
have the protocol for the account, then _mcd_account_dup_parameters()
returns %NULL. (As the comment I've added says, I think this is
ridiculous—it's fall-out from MC not storing the types of parameters.)
As a result, Get('Parameters') or GetAll() would crash, because
dbus-glib would try to serialize a NULL GHashTable and blow up. (See
<https://bugs.freedesktop.org/show_bug.cgi?id=44939>.) So with this
patch, we handle NULL as "no parameters" for the sake of D-Bus
properties. (Because this situation should only arise if the account is
invalid, we also warn if _dup_parameters() returns NULL for valid
accounts.)
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
I forgot to remove this when duplicating the one key I wanted to steal
from Empathy, and ioni reported that it clashes with the same enum
definition provided by Empathy. (I'm not 100% sure why—I'd've assumed
they'd be namespaced by the GSettings schema, not the DConf path—but
hey.)
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Fixes: <https://bugs.freedesktop.org/show_bug.cgi?id=42068>
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This GSettings key does the same thing as the Empathy one it's an alias
for does: if use-conn is False, the network state from NM/ConnMan is
ignored, and MC will allow you to try to sign in even if there is
supposedly no network connection! It's pretty great.
(When I first committed this, it didn't work. Now it does. I don't know
why.)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the NM/ConnMan code lived in Empathy, there was a GSettings key
which could be flipped to false to make Empathy always assume it had a
network connection.
This schema provides one GSettings key,
im.telepathy.MissionControl.FromEmpathy use-conn, which happens to use
the same dconf path as the Empathy key uses. This should make the two
GSettings keys aliases for the same underlying value in dconf; we get a
migration path for free.
|
| |
| |
| |
| | |
libmcclient is gone forever, so let's not ignore detritus from it.
|
| |
| |
| |
| |
| |
| |
| | |
This configure option makes it possible to install the twisted tests in
/usr/share/telepathy-mission-control-tests and run them without the sources.
https://bugs.freedesktop.org/show_bug.cgi?id=41927
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use $XDG_CACHE_HOME instead of $MC_ACCOUNT_DIR to find the file
mcp-test-diverted-account-plugin.conf because the test-only plugin
mcp-account-diversion uses g_get_user_cache_dir().
This is a no-op because both variables have the same value, as defined in
tests/twisted/Makefile.am:
BASIC_TESTS_ENVIRONMENT = \
MC_ACCOUNT_DIR=@abs_top_builddir@/tests/twisted/tmp-$(TMPSUFFIX) \
XDG_CACHE_HOME=@abs_top_builddir@/tests/twisted/tmp-$(TMPSUFFIX) \
However, this was not semantically correct, and the two directories could be
different in the future, with installed tests for example.
|
|\
| |
| |
| |
| | |
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Fixes: <https://bugs.freedesktop.org/show_bug.cgi?id=42548>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, ChangingPresence could become True on accounts which were
not Enabled, which makes no sense: we're not changing our presence in
that case. It happened if you requested an offline presence on a
disabled account whose current RequestedPresence is something online; or
if you disabled an Enabled account whose RequestedPresence (and
CurrentPresence) was offline.
Here we change the implementation of setting RequestedPresence to only
set ChangingPresence to True if it actually takes some action. There are
situations where the presence has "changed" (maybe you changed the
message associated with being offline) but no change actually needs to
be applied.
|
| | |
|
|/ |
|
|
|
|
|
|
| |
http://bugs.debian.org/644589
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
| |
|
| |
|
| |
|
|\
| |
| |
| | |
Fixes: <https://bugs.freedesktop.org/show_bug.cgi?id=28370>
|
| |
| |
| |
| |
| |
| | |
connectivity_monitor_set_awake() is only called by the code paths that
listen to signals from upower, so passing --disable-upower to configure
triggered a defined-but-not-used warning for it.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As Guillaume pointed out on
<https://bugs.freedesktop.org/show_bug.cgi?id=28370#c5>, previously
McdConnectivityMonitor would signal ::state-change even if the state
hasn't changed in some cases.
This patch reduces duplication and fixes that case.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, when a connection was brought online in response to
an event other than a transport becoming connected, it would always be
bound to a transport (if any transport plugins are loaded, obviously),
regardless of whether the dictionary o' conditions was empty or not.
However, when a transport coming online caused a connection to be
brought up, that connection would not be bound to the transport that
caused it to come online if the conditions were empty (which they
generally are).
For reasons I can't quite fathom, this actually doesn't seem to have
affected anything: it could be because monitor_state_changed_cb in
McdKludgeTransport also binds waiting connections to the transport that
came online. But this seems like a sensible change for sanity and
consistency reasons.
|
| |
| |
| |
| | |
Woop woop.
|
| | |
|
|\ \
| |/
|/| |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
_mcd_client_registry_found_name() is called in three situations:
• the initial call to ListNames() has returned;
• the initial call to ListActivatableNames() has returned; and
• NameOwnerChanged has been emitted for a client-shaped well-known name.
In the first two cases, unique_name_if_known is NULL; in the first case,
activatable is FALSE.
I don't really understand what business the McdClientRegistry has
telling the McdClient what its unique name is even when it's non-NULL,
but passing NULL to _mcd_client_proxy_set_active() made McdClient
violate an internal invariant. The first action McdClient takes is to
discover the client's unique name, if any; if the client is not running,
unique_name is set to "" (not NULL). Other parts of the McdClient
internals assume (and assert) that unique_name is not NULL by the time
they run.
I *believe* that the client registry need not ever call
_mcd_client_proxy_set_active(), but I am loathe to make that change
without fully understanding the code and writing some tests.
Fixes: <https://bugs.freedesktop.org/show_bug.cgi?id=39767>
Reviewed-by: Xavier Claessens <xclaesse@gmail.com>
|
|\ \
| | |
| | |
| | |
| | | |
Fixes: <http://bugs.freedesktop.org/show_bug.cgi?id=38978>
Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, when a network connection came back up, only accounts with
ConnectAutomatically set would be re-connected. But if RequestedPresence
is something online-flavoured, I think it makes sense to bring such
accounts back online, too: if the user has asked to be online, a network
blip shouldn't affect that.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, if an account was taken offline due to the internet
connection disappearing, when it was brought back up the
AutomaticPresence would be used, trampling on whatever the user had put
into RequestedPresence.
I guess this was deliberate … but it doesn't seem like very useful
behaviour. If I've explicitly set my presence to ('available', 'you can
talk to me now'), despite my AutomaticPresence being ('busy', 'probably
doing something else'), I don't see why a network connection blip should
cause my lovingly-written presence to be discarded.
|
| | |
| | |
| | |
| | |
| | |
| | | |
I'd like to be sure that setting RequestedPresence before the network
connection comes up causes that presence to be applied when it does, as
opposed to just that the account be brought online.
|
| | |
| | |
| | |
| | | |
This consolidates logic previously duplicated between two code paths.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
_mcd_account_get_requested_presence() is literally identical to
mcd_account_get_requested_presence() except the underscore (okay, and
that the arguments are indented using spaces, not tabs).
Whichever idiot was responsible for introducing the underscored version
removed by this patch should be hunted down and shot on sight.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
This isn't called anywhere. And since this was the only way that
McdOnlineRequestData structures could escape mcd-account.c, we can now
hide that definition, too.
|
| | |
| | |
| | |
| | | |
This is not called from outside mcd-account.c.
|
| | |
| | |
| | |
| | | |
'one' was not a useful name for this variable, in retrospect.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This test does not run if neither NM nor ConnMan support is available.
It also only runs against the test-specific MC daemon, since it depends
on a backdoor method for synchronisation.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch splits out the second half of enable_fakecm_account(),
starting at the point where it expects a RequestConnection call, into a
new function, expect_fakecm_connection(). enable_fakecm_account() calls
it, so its behaviour does not change. But the connectivity-monitoring
tests will want to expect a call to RequestConnection() and let that
part of the standard check run to completion, so will be able to use the
freshly-split-out function.
|
| | | |
|