Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrobxnano <12855608-robxnano@users.noreply.gitlab.com>2023-11-07 18:43:30 +0300
committerrobxnano <12855608-robxnano@users.noreply.gitlab.com>2023-11-08 20:32:19 +0300
commit6c06f87665ca100c23e867df60aeefa244272229 (patch)
tree495efe294e77770fbdeeb45102c2a54c28bfdb28
parent13651230b5b58b3988968868903a1736f6f2f212 (diff)
export: Don't automatically add file extension
xdg-desktop-portal only allows access to the file named in the save dialog. Removing this code allows for better compatibility with sandboxing APIs.
-rw-r--r--plugins/rdp/rdp_file.c14
-rw-r--r--src/remmina_main.c1
2 files changed, 3 insertions, 12 deletions
diff --git a/plugins/rdp/rdp_file.c b/plugins/rdp/rdp_file.c
index cfd8c3057..fc161e850 100644
--- a/plugins/rdp/rdp_file.c
+++ b/plugins/rdp/rdp_file.c
@@ -283,25 +283,15 @@ gboolean remmina_rdp_file_export(RemminaFilePlugin *plugin, RemminaFile *remmina
{
TRACE_CALL(__func__);
FILE *fp;
- gchar *p;
gboolean ret;
- p = strrchr(to_file, '.');
-
- if (p && (g_strcmp0(p + 1, "rdp") == 0 || g_strcmp0(p + 1, "RDP") == 0))
- p = g_strdup(to_file);
- else
- p = g_strdup_printf("%s.rdp", to_file);
-
- fp = g_fopen(p, "w+");
+ fp = g_fopen(to_file, "w+");
if (fp == NULL) {
- g_print("Failed to export %s\n", p);
- g_free(p);
+ g_print("Failed to export %s\n", to_file);
return FALSE;
}
- g_free(p);
ret = remmina_rdp_file_export_channel(remminafile, fp);
fclose(fp);
diff --git a/src/remmina_main.c b/src/remmina_main.c
index 60fc4e47a..b4dd37233 100644
--- a/src/remmina_main.c
+++ b/src/remmina_main.c
@@ -1312,6 +1312,7 @@ void remmina_main_on_action_tools_export(GSimpleAction *action, GVariant *param,
GTK_FILE_CHOOSER_ACTION_SAVE, _("_Save"), _("_Cancel"));
gtk_native_dialog_set_modal(GTK_NATIVE_DIALOG(chooser), TRUE);
remmina_set_file_chooser_filters(GTK_FILE_CHOOSER(chooser));
+ gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(chooser), TRUE);
export_name = g_strdup_printf("%s.rdp", remminamain->priv->selected_name);
gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(chooser), export_name);
g_free(export_name);