Skip to content

Commit db5321c

Browse files
committed
'Connect' button on profile editor must not save settings and pwd
1 parent 72d69de commit db5321c

4 files changed

Lines changed: 11 additions & 3 deletions

File tree

remmina/src/remmina_file.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ remmina_file_new_empty(void)
7979
* it's used by remmina_file_store_secret_plugin_password() to know
8080
* where to change */
8181
remminafile->spsettings = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
82+
remminafile->prevent_saving = FALSE;
8283
return remminafile;
8384
}
8485

@@ -445,6 +446,9 @@ void remmina_file_save(RemminaFile *remminafile)
445446
GKeyFile *gkeyfile;
446447
gsize length = 0;
447448

449+
if (remminafile->prevent_saving)
450+
return;
451+
448452
if ((gkeyfile = remmina_file_get_keyfile(remminafile)) == NULL)
449453
return;
450454

remmina/src/remmina_file.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ struct _RemminaFile
4646
gchar *filename;
4747
GHashTable *settings;
4848
GHashTable *spsettings;
49+
gboolean prevent_saving;
4950
};
5051

5152
enum

remmina/src/remmina_file_editor.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1250,6 +1250,7 @@ static void remmina_file_editor_on_connect(GtkWidget* button, RemminaFileEditor*
12501250
remmina_file_set_string(gf, "name", remmina_file_get_string(gf, "server"));
12511251
}
12521252
gtk_widget_destroy(GTK_WIDGET(gfe));
1253+
gf->prevent_saving = TRUE;
12531254
remmina_connection_window_open_from_file(gf);
12541255
}
12551256

remmina/src/remmina_protocol_widget.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1031,11 +1031,12 @@ gint remmina_protocol_widget_init_authpwd(RemminaProtocolWidget* gp, RemminaAuth
10311031
s = g_strdup(_("Password"));
10321032
break;
10331033
}
1034+
10341035
ret = remmina_init_dialog_authpwd(
10351036
REMMINA_INIT_DIALOG(gp->priv->init_dialog),
10361037
s,
1037-
remmina_file_get_filename(remminafile) != NULL &&
1038-
allow_password_saving);
1038+
(remmina_file_get_filename(remminafile) != NULL &&
1039+
!remminafile->prevent_saving && allow_password_saving));
10391040
g_free(s);
10401041

10411042
return ret;
@@ -1051,7 +1052,8 @@ gint remmina_protocol_widget_init_authuserpwd(RemminaProtocolWidget* gp, gboolea
10511052
want_domain,
10521053
remmina_file_get_string(remminafile, "username"),
10531054
want_domain ? remmina_file_get_string(remminafile, "domain") : NULL,
1054-
(remmina_file_get_filename(remminafile) != NULL) && allow_password_saving);
1055+
(remmina_file_get_filename(remminafile) != NULL &&
1056+
!remminafile->prevent_saving && allow_password_saving));
10551057
}
10561058

10571059
gint remmina_protocol_widget_init_certificate(RemminaProtocolWidget* gp, const gchar* subject, const gchar* issuer, const gchar* fingerprint)

0 commit comments

Comments
 (0)