parent
8eb53ef772
commit
2d1a76c696
@ -1,39 +0,0 @@
|
||||
diff --git a/src/rcw.c b/src/rcw.c
|
||||
index 0c3e591b045d2d06aa1aee1559041aa80edc2542..b750a16cb5d1387b61b1f14be325487f62e45b8a 100644
|
||||
--- a/src/rcw.c
|
||||
+++ b/src/rcw.c
|
||||
@@ -3399,6 +3399,7 @@ void rco_closewin(RemminaProtocolWidget *gp)
|
||||
if (cnnobj) {
|
||||
cnnobj->remmina_file = NULL;
|
||||
g_free(cnnobj);
|
||||
+ gp->cnnobj = NULL;
|
||||
}
|
||||
|
||||
remmina_application_condexit(REMMINA_CONDEXIT_ONDISCONNECT);
|
||||
diff --git a/src/remmina_protocol_widget.c b/src/remmina_protocol_widget.c
|
||||
index 7a7fbc44b2a28f5fe18f7409de2772234e17104a..307342009f493787d44f9b5cc34060ac7de4cb1d 100644
|
||||
--- a/src/remmina_protocol_widget.c
|
||||
+++ b/src/remmina_protocol_widget.c
|
||||
@@ -1519,6 +1519,9 @@ static gboolean remmina_protocol_widget_dialog_mt_setup(gpointer user_data)
|
||||
RemminaMessagePanel *mp;
|
||||
const gchar *s;
|
||||
|
||||
+ if (d->gp->cnnobj == NULL)
|
||||
+ return;
|
||||
+
|
||||
mp = remmina_message_panel_new();
|
||||
|
||||
if (d->dtype == RPWDT_AUTH) {
|
||||
diff --git a/src/remmina_protocol_widget.c b/src/remmina_protocol_widget.c
|
||||
index 307342009f493787d44f9b5cc34060ac7de4cb1d..9a7099c9c631bc3785540ef0fb685e40d7f68da9 100644
|
||||
--- a/src/remmina_protocol_widget.c
|
||||
+++ b/src/remmina_protocol_widget.c
|
||||
@@ -1520,7 +1520,7 @@ static gboolean remmina_protocol_widget_dialog_mt_setup(gpointer user_data)
|
||||
const gchar *s;
|
||||
|
||||
if (d->gp->cnnobj == NULL)
|
||||
- return;
|
||||
+ return FALSE;
|
||||
|
||||
mp = remmina_message_panel_new();
|
||||
|
@ -1,10 +0,0 @@
|
||||
diff --git a/data/desktop/remmina-gnome.session b/data/desktop/remmina-gnome.session
|
||||
index 15c883aae42c170cbe07f892b20b48c708bf750d..08e43f87d832dc682003204b6fb8bf5f56b31acd 100644
|
||||
--- a/data/desktop/remmina-gnome.session
|
||||
+++ b/data/desktop/remmina-gnome.session
|
||||
@@ -2,4 +2,4 @@
|
||||
|
||||
[GNOME Session]
|
||||
Name=remmina-gnome
|
||||
-RequiredComponents=org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;remmina-gnome
|
||||
+RequiredComponents=org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;remmina-gnome
|
@ -1,127 +0,0 @@
|
||||
diff --git a/src/remmina_ftp_client.c b/src/remmina_ftp_client.c
|
||||
index 4466b356f4af4aa3ead29bf8b488f11bf936a061..82bff4e7ff0783b6fa2b437151dfc770f9370746 100644
|
||||
--- a/src/remmina_ftp_client.c
|
||||
+++ b/src/remmina_ftp_client.c
|
||||
@@ -202,6 +202,9 @@ static void remmina_ftp_client_cell_data_filetype_pixbuf(GtkTreeViewColumn *col,
|
||||
case REMMINA_FTP_FILE_TYPE_DIR:
|
||||
g_object_set(renderer, "icon-name", "folder", NULL);
|
||||
break;
|
||||
+ case REMMINA_FTP_FILE_TYPE_LINK:
|
||||
+ g_object_set(renderer, "icon-name", "emblem-symbolic-link", NULL);
|
||||
+ break;
|
||||
default:
|
||||
g_object_set(renderer, "icon-name", "text-x-generic", NULL);
|
||||
break;
|
||||
@@ -695,6 +698,9 @@ static gboolean remmina_ftp_client_file_list_on_button_press(GtkWidget *widget,
|
||||
case REMMINA_FTP_FILE_TYPE_DIR:
|
||||
remmina_ftp_client_open_dir(client, name);
|
||||
break;
|
||||
+ case REMMINA_FTP_FILE_TYPE_LINK:
|
||||
+ remmina_ftp_client_open_dir(client, name);
|
||||
+ break;
|
||||
case REMMINA_FTP_FILE_TYPE_FILE:
|
||||
default:
|
||||
localdir = remmina_ftp_client_get_download_dir(client);
|
||||
diff --git a/src/remmina_ftp_client.h b/src/remmina_ftp_client.h
|
||||
index 5c1b688d141b0d4c31c7cd553a81ee3db5de80f0..9aa630b8f5641e7402687359e2b1d2177c88ca70 100644
|
||||
--- a/src/remmina_ftp_client.h
|
||||
+++ b/src/remmina_ftp_client.h
|
||||
@@ -66,7 +66,10 @@ GType remmina_ftp_client_get_type(void)
|
||||
G_GNUC_CONST;
|
||||
|
||||
enum {
|
||||
- REMMINA_FTP_FILE_TYPE_DIR, REMMINA_FTP_FILE_TYPE_FILE, REMMINA_FTP_FILE_N_TYPES,
|
||||
+ REMMINA_FTP_FILE_TYPE_DIR,
|
||||
+ REMMINA_FTP_FILE_TYPE_FILE,
|
||||
+ REMMINA_FTP_FILE_TYPE_LINK,
|
||||
+ REMMINA_FTP_FILE_N_TYPES,
|
||||
};
|
||||
|
||||
enum {
|
||||
diff --git a/src/remmina_sftp_client.c b/src/remmina_sftp_client.c
|
||||
index a16e72c0ad085b1fd25fff1dd1133cbe27e067a2..4aac1b025949e23cf4f54dd7e09b783caa2360d9 100644
|
||||
--- a/src/remmina_sftp_client.c
|
||||
+++ b/src/remmina_sftp_client.c
|
||||
@@ -48,6 +48,7 @@
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
#include "remmina_public.h"
|
||||
+#include "remmina_log.h"
|
||||
#include "remmina_pref.h"
|
||||
#include "remmina_ssh.h"
|
||||
#include "remmina_sftp_client.h"
|
||||
@@ -73,10 +74,12 @@ remmina_sftp_client_class_init(RemminaSFTPClientClass *klass)
|
||||
if (a->type == 0) \
|
||||
{ \
|
||||
type = ((a->permissions & 040000) ? REMMINA_FTP_FILE_TYPE_DIR : REMMINA_FTP_FILE_TYPE_FILE); \
|
||||
+ type = ((a->permissions & 0120000) ? REMMINA_FTP_FILE_TYPE_LINK : REMMINA_FTP_FILE_TYPE_FILE); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
type = (a->type == SSH_FILEXFER_TYPE_DIRECTORY ? REMMINA_FTP_FILE_TYPE_DIR : REMMINA_FTP_FILE_TYPE_FILE); \
|
||||
+ if (a->type == SSH_FILEXFER_TYPE_SYMLINK ) type = REMMINA_FTP_FILE_TYPE_LINK; \
|
||||
}
|
||||
|
||||
/* ------------------------ The Task Thread routines ----------------------------- */
|
||||
@@ -274,6 +277,16 @@ remmina_sftp_client_thread_recursive_dir(RemminaSFTPClient *client, RemminaSFTP
|
||||
else
|
||||
dir_path = g_strdup(rootdir_path);
|
||||
tmp = remmina_ssh_unconvert(REMMINA_SSH(sftp), dir_path);
|
||||
+
|
||||
+ REMMINA_DEBUG ("%s HELLO", __func__);
|
||||
+#if 0
|
||||
+ gchar *tlink = sftp_readlink (sftp->sftp_sess, tmp);
|
||||
+ if (tlink) {
|
||||
+ REMMINA_DEBUG ("%s is a link to %s", tmp, tlink);
|
||||
+ tmp = g_strdup (tlink);
|
||||
+ }
|
||||
+ g_free(tlink);
|
||||
+#endif
|
||||
sftpdir = sftp_opendir(sftp->sftp_sess, tmp);
|
||||
g_free(tmp);
|
||||
|
||||
@@ -689,11 +702,10 @@ remmina_sftp_client_sftp_session_opendir(RemminaSFTPClient *client, const gchar
|
||||
{
|
||||
TRACE_CALL(__func__);
|
||||
sftp_dir sftpdir;
|
||||
- GtkWidget *dialog;
|
||||
|
||||
sftpdir = sftp_opendir(client->sftp->sftp_sess, (gchar *)dir);
|
||||
if (!sftpdir) {
|
||||
- dialog = gtk_message_dialog_new(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(client))),
|
||||
+ GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(client))),
|
||||
GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
|
||||
_("Could not open the folder “%s”. %s"), dir,
|
||||
ssh_get_error(REMMINA_SSH(client->sftp)->session));
|
||||
@@ -708,10 +720,9 @@ static gboolean
|
||||
remmina_sftp_client_sftp_session_closedir(RemminaSFTPClient *client, sftp_dir sftpdir)
|
||||
{
|
||||
TRACE_CALL(__func__);
|
||||
- GtkWidget *dialog;
|
||||
|
||||
if (!sftp_dir_eof(sftpdir)) {
|
||||
- dialog = gtk_message_dialog_new(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(client))),
|
||||
+ GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(client))),
|
||||
GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
|
||||
_("Could not read from the folder. %s"), ssh_get_error(REMMINA_SSH(client->sftp)->session));
|
||||
gtk_dialog_run(GTK_DIALOG(dialog));
|
||||
@@ -750,6 +761,19 @@ remmina_sftp_client_on_opendir(RemminaSFTPClient *client, gchar *dir, gpointer d
|
||||
}
|
||||
}
|
||||
|
||||
+ gchar *tlink = sftp_readlink (client->sftp->sftp_sess, newdir);
|
||||
+ if (tlink) {
|
||||
+ REMMINA_DEBUG ("%s is a link to %s", newdir, tlink);
|
||||
+ newdir = g_strdup (tlink);
|
||||
+ if (sftp_opendir (client->sftp->sftp_sess, newdir)) {
|
||||
+ REMMINA_DEBUG ("%s is a link to a folder", tlink);
|
||||
+ } else {
|
||||
+ REMMINA_DEBUG ("%s is a link to a file", tlink);
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+ g_free(tlink);
|
||||
+
|
||||
tmp = remmina_ssh_unconvert(REMMINA_SSH(client->sftp), newdir);
|
||||
newdir_conv = sftp_canonicalize_path(client->sftp->sftp_sess, tmp);
|
||||
g_free(tmp);
|
@ -1,13 +0,0 @@
|
||||
diff --git a/plugins/rdp/rdp_plugin.c b/plugins/rdp/rdp_plugin.c
|
||||
index ea77799224e844ddf19c315e077d106822f97785..3df43f1a2a77f8f4e39bb77879268ff16f07aeef 100644
|
||||
--- a/plugins/rdp/rdp_plugin.c
|
||||
+++ b/plugins/rdp/rdp_plugin.c
|
||||
@@ -663,7 +663,7 @@ static BOOL remmina_rdp_pre_connect(freerdp *instance)
|
||||
freerdp_settings_set_uint32(settings, FreeRDP_OsMajorType, OSMAJORTYPE_UNIX);
|
||||
freerdp_settings_set_uint32(settings, FreeRDP_OsMinorType, OSMINORTYPE_UNSPECIFIED);
|
||||
freerdp_settings_set_bool(settings, FreeRDP_BitmapCacheEnabled, TRUE);
|
||||
- freerdp_settings_set_bool(settings, FreeRDP_OffscreenSupportLevel, TRUE);
|
||||
+ freerdp_settings_set_uint32(settings, FreeRDP_OffscreenSupportLevel, 1);
|
||||
|
||||
PubSub_SubscribeChannelConnected(instance->context->pubSub,
|
||||
(pChannelConnectedEventHandler)remmina_rdp_OnChannelConnectedEventHandler);
|
@ -1 +1 @@
|
||||
SHA512 (remmina-1.4.24.tar.gz) = 6314c6f4cbcefe5eb35b8bec85e7b57324e1e40b1de26b728a324f39922c7160871514b9efd9bbfa2db02af21b98f17f10c89786431adee2450735c7ab0e65a7
|
||||
SHA512 (remmina-1.4.25.tar.gz) = bae3cd59a2af99fec49f21af375030935a363591328ed352687a311324456af82636766bb6e82e214358b414331a23edd8bf3a9413f7f39280573f91a0102f84
|
||||
|
Loading…
Reference in new issue