Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ev-daemon.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/ev-daemon.c')
-rw-r--r--shell/ev-daemon.c40
1 files changed, 21 insertions, 19 deletions
diff --git a/shell/ev-daemon.c b/shell/ev-daemon.c
index b304dfc..b30238a 100644
--- a/shell/ev-daemon.c
+++ b/shell/ev-daemon.c
@@ -254,28 +254,30 @@ method_call_cb (GDBusConnection *connection,
g_variant_get (parameters, "(&s)", &uri);
doc = ev_daemon_find_doc (uri);
- if (doc == NULL) {
- ev_daemon_stop_killtimer ();
-
- doc = g_new (EvDoc, 1);
- doc->dbus_name = g_strdup (sender);
- doc->uri = g_strdup (uri);
-
- doc->watch_id = g_bus_watch_name (G_BUS_TYPE_STARTER,
- sender,
- G_BUS_NAME_WATCHER_FLAGS_NONE,
- name_appeared_cb,
- name_vanished_cb,
- user_data, NULL);
-
- LOG ("RegisterDocument registered owner '%s' for URI '%s'\n", doc->dbus_name, uri);
- ev_daemon_docs = g_list_prepend (ev_daemon_docs, doc);
- } else {
+ if (doc != NULL) {
LOG ("RegisterDocument found owner '%s' for URI '%s'\n", doc->dbus_name, uri);
+ g_dbus_method_invocation_return_value (invocation,
+ g_variant_new ("(s)", doc->dbus_name));
+ return;
}
+
+ ev_daemon_stop_killtimer ();
+
+ doc = g_new (EvDoc, 1);
+ doc->dbus_name = g_strdup (sender);
+ doc->uri = g_strdup (uri);
+
+ doc->watch_id = g_bus_watch_name (G_BUS_TYPE_STARTER,
+ sender,
+ G_BUS_NAME_WATCHER_FLAGS_NONE,
+ name_appeared_cb,
+ name_vanished_cb,
+ user_data, NULL);
+
+ LOG ("RegisterDocument registered owner '%s' for URI '%s'\n", doc->dbus_name, uri);
+ ev_daemon_docs = g_list_prepend (ev_daemon_docs, doc);
- g_dbus_method_invocation_return_value (invocation,
- g_variant_new ("(s)", doc->dbus_name));
+ g_dbus_method_invocation_return_value (invocation, g_variant_new ("(s)", ""));
return;
} else if (g_strcmp0 (method_name, "UnregisterDocument") == 0) {