summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--aclocal.m44
-rw-r--r--src/trg-client.c7
-rw-r--r--src/trg-client.h1
-rw-r--r--src/trg-main-window.c4
4 files changed, 12 insertions, 4 deletions
diff --git a/aclocal.m4 b/aclocal.m4
index d110b0e..4325c07 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -13,8 +13,8 @@
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
-[m4_warning([this file was generated for autoconf 2.68.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],,
+[m4_warning([this file was generated for autoconf 2.67.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
diff --git a/src/trg-client.c b/src/trg-client.c
index ec53e3e..0f6731d 100644
--- a/src/trg-client.c
+++ b/src/trg-client.c
@@ -169,6 +169,12 @@ gint64 trg_client_get_rpc_version(TrgClient *tc)
return session_get_rpc_version(priv->session);
}
+void trg_client_inc_connid(TrgClient *tc)
+{
+ TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
+ g_atomic_int_inc(&priv->connid);
+}
+
void trg_client_set_session(TrgClient * tc, JsonObject * session)
{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
@@ -177,7 +183,6 @@ void trg_client_set_session(TrgClient * tc, JsonObject * session)
json_object_unref(priv->session);
} else {
session_get_version(session, &priv->version);
- g_atomic_int_inc(&priv->connid);
}
priv->session = session;
diff --git a/src/trg-client.h b/src/trg-client.h
index 1ac46ed..4ef93f9 100644
--- a/src/trg-client.h
+++ b/src/trg-client.h
@@ -169,6 +169,7 @@ guint trg_client_get_minimised_interval(TrgClient *tc);
void trg_client_set_interval(TrgClient *tc, guint interval);
void trg_client_set_minimised_interval(TrgClient *tc, guint interval);
void trg_client_set_activeonlyupdate(TrgClient *tc, gboolean activeOnlyUpdate);
+void trg_client_inc_connid(TrgClient *tc);
G_END_DECLS
diff --git a/src/trg-main-window.c b/src/trg-main-window.c
index 2d63112..a031d4b 100644
--- a/src/trg-main-window.c
+++ b/src/trg-main-window.c
@@ -461,7 +461,8 @@ void connect_cb(GtkWidget * w, gpointer data) {
if (w)
profile = (JsonObject*)g_object_get_data(G_OBJECT(w), "profile");
- disconnect_cb(NULL, data);
+ if (trg_client_is_connected(priv->client))
+ disconnect_cb(NULL, data);
if (profile && currentProfile != profile)
trg_prefs_set_profile(prefs, profile);
@@ -490,6 +491,7 @@ void connect_cb(GtkWidget * w, gpointer data) {
}
trg_status_bar_push_connection_msg(priv->statusBar, _("Connecting..."));
+ trg_client_inc_connid(priv->client);
dispatch_async(priv->client, session_get(), on_session_get, data);
}