summaryrefslogtreecommitdiff
path: root/src/trg-main-window.c
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2012-01-22 11:03:50 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2012-01-22 11:03:50 +0000
commit7295ada33a7799e3b3d85e36a0c8a4e6b5bfdb19 (patch)
tree2bced74205dea581c42aeb6c33e5d9f71dcde741 /src/trg-main-window.c
parent6b74b53f591e1c34b12e3c5abdc75b8f627f7b9b (diff)
fix a crash when enabling/disabling status icon and a fix for the new GtkApplication impl
Diffstat (limited to 'src/trg-main-window.c')
-rw-r--r--src/trg-main-window.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/trg-main-window.c b/src/trg-main-window.c
index 1da4ca2..4fb5561 100644
--- a/src/trg-main-window.c
+++ b/src/trg-main-window.c
@@ -469,6 +469,11 @@ gint trg_add_from_filename(TrgMainWindow * win, gchar ** uris)
GSList *filesList = NULL;
int i;
+ if (!trg_client_is_connected(client)) {
+ g_strfreev(uris);
+ return EXIT_SUCCESS;
+ }
+
if (uris)
for (i = 0; uris[i]; i++)
if (uris[i])
@@ -1119,6 +1124,13 @@ static void update_whatever_statusicon(TrgMainWindow * win,
{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
+#ifdef HAVE_LIBAPPINDICATOR
+ if (!priv->appIndicator)
+#else
+ if (!priv->statusIcon)
+#endif
+ return;
+
gtk_widget_set_visible(priv->iconSeedingItem, stats != NULL);
gtk_widget_set_visible(priv->iconDownloadingItem, stats != NULL);
gtk_widget_set_visible(priv->iconSepItem, stats != NULL);
@@ -2679,7 +2691,13 @@ static void trg_main_window_class_init(TrgMainWindowClass * klass)
G_PARAM_STATIC_BLURB));
}
-void auto_connect_if_required(TrgMainWindow * win, gchar ** args)
+void trg_main_window_set_start_args(TrgMainWindow * win, gchar ** args)
+{
+ TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
+ priv->args = args;
+}
+
+void auto_connect_if_required(TrgMainWindow * win)
{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
@@ -2692,14 +2710,9 @@ void auto_connect_if_required(TrgMainWindow * win, gchar ** args)
if (len > 0
&& trg_prefs_get_bool(prefs, TRG_PREFS_KEY_AUTO_CONNECT,
TRG_PREFS_PROFILE)) {
- priv->args = args;
connect_cb(NULL, win);
- return;
}
}
-
- if (args)
- g_strfreev(args);
}
TrgMainWindow *trg_main_window_new(TrgClient * tc, gboolean minonstart)