diff options
author | llyzs <llyzs.vic@gmail.com> | 2011-02-06 10:39:00 +0300 |
---|---|---|
committer | Vic Lee (llyzs) <llyzs@b6cfa94a-2857-405c-b0d6-536ef9fc39e1> | 2011-02-06 10:39:00 +0300 |
commit | 2b72284688ec9799ac865d932fddaa95f8197d0c (patch) | |
tree | 713a524cc701bc7f581bcfcac1731039dd99fbca /remmina-plugins/nx | |
parent | de9fb506dd7b0c46bfb020eefa2f4817cc4f78e0 (diff) |
Various fixes for gnome-keyring related codes
Diffstat (limited to 'remmina-plugins/nx')
-rw-r--r-- | remmina-plugins/nx/remminapluginnx.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/remmina-plugins/nx/remminapluginnx.c b/remmina-plugins/nx/remminapluginnx.c index 4a57807af..deee23144 100644 --- a/remmina-plugins/nx/remminapluginnx.c +++ b/remmina-plugins/nx/remminapluginnx.c @@ -257,14 +257,19 @@ remmina_plugin_nx_start_session (RemminaProtocolWidget *gp) /* Login */ - s1 = (gchar*) remmina_plugin_nx_service->file_get_string (remminafile, "username"); - s2 = (gchar*) remmina_plugin_nx_service->file_get_secret (remminafile, "password"); + s1 = g_strdup (remmina_plugin_nx_service->file_get_string (remminafile, "username")); + THREADS_ENTER + s2 = remmina_plugin_nx_service->file_get_secret (remminafile, "password"); + THREADS_LEAVE if (s1 && s2) { ret = remmina_nx_session_login (nx, s1, s2); } else { + g_free (s1); + g_free (s2); + THREADS_ENTER ret = remmina_plugin_nx_service->protocol_plugin_init_authuserpwd (gp); THREADS_LEAVE @@ -274,13 +279,15 @@ remmina_plugin_nx_start_session (RemminaProtocolWidget *gp) s1 = remmina_plugin_nx_service->protocol_plugin_init_get_username (gp); s2 = remmina_plugin_nx_service->protocol_plugin_init_get_password (gp); ret = remmina_nx_session_login (nx, s1, s2); - g_free (s1); - g_free (s2); } + g_free (s1); + g_free (s2); if (!ret) return FALSE; + THREADS_ENTER remmina_plugin_nx_service->protocol_plugin_init_save_cred (gp); + THREADS_LEAVE /* Prepare the session type and application */ cs = remmina_plugin_nx_service->file_get_string (remminafile, "exec"); |