From 138321d54c11376cabd40d8fb211941508ad5778 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 28 Jan 2010 21:03:42 -0800 Subject: In the timeout function mention that we're shutting down, and have an environment variable to stop that. --- libindicator/indicator-service.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libindicator/indicator-service.c') diff --git a/libindicator/indicator-service.c b/libindicator/indicator-service.c index e2ec6b2..ccb56d5 100644 --- a/libindicator/indicator-service.c +++ b/libindicator/indicator-service.c @@ -316,7 +316,12 @@ get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspe static gboolean timeout_no_watchers (gpointer data) { - g_signal_emit(G_OBJECT(data), signals[SHUTDOWN], 0, TRUE); + g_warning("No watchers, service timing out."); + if (g_getenv("INDICATOR_ALLOW_NO_WATCHERS") == NULL) { + g_signal_emit(G_OBJECT(data), signals[SHUTDOWN], 0, TRUE); + } else { + g_warning("\tblocked by environment variable."); + } return FALSE; } -- cgit v1.2.3 From 21eca67f89870abd114f9ccc3ae04e7fd53189b1 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 28 Jan 2010 21:07:54 -0800 Subject: checking the error field for name callback and printing an error when it fails. --- libindicator/indicator-service.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libindicator/indicator-service.c') diff --git a/libindicator/indicator-service.c b/libindicator/indicator-service.c index ccb56d5..eee95dd 100644 --- a/libindicator/indicator-service.c +++ b/libindicator/indicator-service.c @@ -334,10 +334,17 @@ try_and_get_name_cb (DBusGProxy * proxy, guint status, GError * error, gpointer IndicatorService * service = INDICATOR_SERVICE(data); g_return_if_fail(service != NULL); + if (error != NULL) { + g_warning("Unable to send message to request name: %s", error->message); + g_signal_emit(G_OBJECT(data), signals[SHUTDOWN], 0, TRUE); + return; + } + if (status != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER && status != DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER) { /* The already owner seems like it shouldn't ever happen, but I have a hard time throwing an error on it as we did achieve our goals. */ + g_warning("Name request failed. Status returned: %d", status); g_signal_emit(G_OBJECT(data), signals[SHUTDOWN], 0, TRUE); return; } -- cgit v1.2.3 From 52e1a43bd957bac1020d58134ab659553af7c4eb Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 28 Jan 2010 21:23:18 -0800 Subject: Changing timeout to be approximatedly 1 second. --- libindicator/indicator-service.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libindicator/indicator-service.c') diff --git a/libindicator/indicator-service.c b/libindicator/indicator-service.c index eee95dd..fc3c7de 100644 --- a/libindicator/indicator-service.c +++ b/libindicator/indicator-service.c @@ -350,7 +350,7 @@ try_and_get_name_cb (DBusGProxy * proxy, guint status, GError * error, gpointer } IndicatorServicePrivate * priv = INDICATOR_SERVICE_GET_PRIVATE(service); - priv->timeout = g_timeout_add(500, timeout_no_watchers, service); + priv->timeout = g_timeout_add_seconds(1, timeout_no_watchers, service); return; } -- cgit v1.2.3