diff options
author | Antenore Gatta (tmow) <antenore@simbiosi.org> | 2022-06-24 16:33:52 +0300 |
---|---|---|
committer | Antenore Gatta (tmow) <antenore@simbiosi.org> | 2022-06-24 16:33:52 +0300 |
commit | 76d433a5a19057aa461da4eaf571f77b8f93850c (patch) | |
tree | 43e0bd93089d3dbec1a23011625dcf10d1afcd3d | |
parent | 4568dc28f9511312556e7f016f00452fc9091818 (diff) | |
parent | 9d348df4adb53580e4732f784337f12cd8680e1b (diff) |
Merge branch 'rdp_fixes' into 'master'
Some minor rdp fixes
See merge request Remmina/Remmina!2415
-rw-r--r-- | plugins/rdp/rdp_channels.c | 8 | ||||
-rw-r--r-- | plugins/rdp/rdp_channels.h | 4 | ||||
-rw-r--r-- | plugins/rdp/rdp_plugin.c | 43 | ||||
-rw-r--r-- | src/remmina_ext_exec.c | 2 | ||||
-rw-r--r-- | src/remmina_ssh_plugin.c | 2 |
5 files changed, 30 insertions, 29 deletions
diff --git a/plugins/rdp/rdp_channels.c b/plugins/rdp/rdp_channels.c index f5089b7c1..e90c563a4 100644 --- a/plugins/rdp/rdp_channels.c +++ b/plugins/rdp/rdp_channels.c @@ -43,7 +43,7 @@ #include <freerdp/client/cliprdr.h> #include <freerdp/gdi/gfx.h> -void remmina_rdp_OnChannelConnectedEventHandler(rdpContext* context, ChannelConnectedEventArgs* e) +void remmina_rdp_OnChannelConnectedEventHandler(void* context, ChannelConnectedEventArgs* e) { TRACE_CALL(__func__); @@ -58,7 +58,7 @@ void remmina_rdp_OnChannelConnectedEventHandler(rdpContext* context, ChannelConn }else if (g_strcmp0(e->name, RDPGFX_DVC_CHANNEL_NAME) == 0) { if (freerdp_settings_get_bool(rfi->settings, FreeRDP_SoftwareGdi)) { rfi->rdpgfxchan = TRUE; - gdi_graphics_pipeline_init(context->gdi, (RdpgfxClientContext*) e->pInterface); + gdi_graphics_pipeline_init(rfi->context.gdi, (RdpgfxClientContext*) e->pInterface); } else g_print("Unimplemented: channel %s connected but libfreerdp is in HardwareGdi mode\n", e->name); @@ -83,14 +83,14 @@ void remmina_rdp_OnChannelConnectedEventHandler(rdpContext* context, ChannelConn REMMINA_PLUGIN_DEBUG("Channel %s has been opened", e->name); } -void remmina_rdp_OnChannelDisconnectedEventHandler(rdpContext* context, ChannelConnectedEventArgs* e) +void remmina_rdp_OnChannelDisconnectedEventHandler(void* context, ChannelDisconnectedEventArgs* e) { TRACE_CALL(__func__); rfContext* rfi = (rfContext*)context; if (strcmp(e->name, RDPGFX_DVC_CHANNEL_NAME) == 0) { if (freerdp_settings_get_bool(rfi->settings, FreeRDP_SoftwareGdi)) - gdi_graphics_pipeline_uninit(context->gdi, (RdpgfxClientContext*) e->pInterface); + gdi_graphics_pipeline_uninit(rfi->context.gdi, (RdpgfxClientContext*) e->pInterface); } REMMINA_PLUGIN_DEBUG("Channel %s has been closed", e->name); diff --git a/plugins/rdp/rdp_channels.h b/plugins/rdp/rdp_channels.h index 61d46f530..92ae3efbd 100644 --- a/plugins/rdp/rdp_channels.h +++ b/plugins/rdp/rdp_channels.h @@ -48,8 +48,8 @@ G_BEGIN_DECLS -void remmina_rdp_OnChannelConnectedEventHandler(rdpContext *context, ChannelConnectedEventArgs *e); -void remmina_rdp_OnChannelDisconnectedEventHandler(rdpContext *context, ChannelConnectedEventArgs *e); +void remmina_rdp_OnChannelConnectedEventHandler(void *context, ChannelConnectedEventArgs *e); +void remmina_rdp_OnChannelDisconnectedEventHandler(void *context, ChannelDisconnectedEventArgs *e); G_END_DECLS diff --git a/plugins/rdp/rdp_plugin.c b/plugins/rdp/rdp_plugin.c index 3e65a179f..b7c6b8360 100644 --- a/plugins/rdp/rdp_plugin.c +++ b/plugins/rdp/rdp_plugin.c @@ -386,7 +386,7 @@ static gboolean remmina_rdp_tunnel_init(RemminaProtocolWidget *gp) return TRUE; } -BOOL rf_auto_reconnect(rfContext *rfi) +static BOOL rf_auto_reconnect(rfContext *rfi) { TRACE_CALL(__func__); rdpSettings *settings = rfi->instance->settings; @@ -503,7 +503,7 @@ BOOL rf_auto_reconnect(rfContext *rfi) return FALSE; } -BOOL rf_begin_paint(rdpContext *context) +static BOOL rf_begin_paint(rdpContext *context) { TRACE_CALL(__func__); rdpGdi *gdi; @@ -518,7 +518,7 @@ BOOL rf_begin_paint(rdpContext *context) return TRUE; } -BOOL rf_end_paint(rdpContext *context) +static BOOL rf_end_paint(rdpContext *context) { TRACE_CALL(__func__); rdpGdi *gdi; @@ -648,7 +648,7 @@ static BOOL rf_keyboard_set_indicators(rdpContext *context, UINT16 led_flags) return TRUE; } -BOOL rf_keyboard_set_ime_status(rdpContext *context, UINT16 imeId, UINT32 imeState, +static BOOL rf_keyboard_set_ime_status(rdpContext *context, UINT16 imeId, UINT32 imeState, UINT32 imeConvMode) { TRACE_CALL(__func__); @@ -660,7 +660,6 @@ BOOL rf_keyboard_set_ime_status(rdpContext *context, UINT16 imeId, UINT32 imeSta return TRUE; } - static BOOL remmina_rdp_pre_connect(freerdp *instance) { TRACE_CALL(__func__); @@ -676,9 +675,9 @@ static BOOL remmina_rdp_pre_connect(freerdp *instance) freerdp_settings_set_uint32(settings, FreeRDP_OffscreenSupportLevel, 1); PubSub_SubscribeChannelConnected(instance->context->pubSub, - (pChannelConnectedEventHandler)remmina_rdp_OnChannelConnectedEventHandler); + remmina_rdp_OnChannelConnectedEventHandler); PubSub_SubscribeChannelDisconnected(instance->context->pubSub, - (pChannelDisconnectedEventHandler)remmina_rdp_OnChannelDisconnectedEventHandler); + remmina_rdp_OnChannelDisconnectedEventHandler); if (!freerdp_client_load_addins(channels, settings)) return FALSE; @@ -901,8 +900,8 @@ static BOOL remmina_rdp_gw_authenticate(freerdp *instance, char **username, char } static DWORD remmina_rdp_verify_certificate_ex(freerdp *instance, const char *host, UINT16 port, - const char *common_name, const char *subject, - const char *issuer, const char *fingerprint, DWORD flags) + const char *common_name, const char *subject, + const char *issuer, const char *fingerprint, DWORD flags) { TRACE_CALL(__func__); gint status; @@ -924,7 +923,7 @@ static DWORD remmina_rdp_verify_certificate(freerdp *instance, const char *common_name, const char *subject, const char *issuer, const char *fingerprint, BOOL host_mismatch) __attribute__ ((unused)); static DWORD remmina_rdp_verify_certificate(freerdp *instance, const char *common_name, const char *subject, - const char *issuer, const char *fingerprint, BOOL host_mismatch) + const char *issuer, const char *fingerprint, BOOL host_mismatch) { TRACE_CALL(__func__); gint status; @@ -943,10 +942,10 @@ remmina_rdp_verify_certificate(freerdp *instance, const char *common_name, const } static DWORD remmina_rdp_verify_changed_certificate_ex(freerdp *instance, const char *host, UINT16 port, - const char *common_name, const char *subject, - const char *issuer, const char *fingerprint, - const char *old_subject, const char *old_issuer, - const char *old_fingerprint, DWORD flags) + const char *common_name, const char *subject, + const char *issuer, const char *fingerprint, + const char *old_subject, const char *old_issuer, + const char *old_fingerprint, DWORD flags) { TRACE_CALL(__func__); gint status; @@ -972,9 +971,9 @@ static void remmina_rdp_post_disconnect(freerdp *instance) return; PubSub_UnsubscribeChannelConnected(instance->context->pubSub, - (pChannelConnectedEventHandler)remmina_rdp_OnChannelConnectedEventHandler); + remmina_rdp_OnChannelConnectedEventHandler); PubSub_UnsubscribeChannelDisconnected(instance->context->pubSub, - (pChannelDisconnectedEventHandler)remmina_rdp_OnChannelDisconnectedEventHandler); + remmina_rdp_OnChannelDisconnectedEventHandler); /* The remaining cleanup will be continued on main thread by complete_cleanup_on_main_thread() */ } @@ -982,15 +981,13 @@ static void remmina_rdp_post_disconnect(freerdp *instance) static void remmina_rdp_main_loop(RemminaProtocolWidget *gp) { TRACE_CALL(__func__); - DWORD nCount; DWORD status; - HANDLE handles[64]; gchar buf[100]; rfContext *rfi = GET_PLUGIN_DATA(gp); - while (!freerdp_shall_disconnect(rfi->instance)) { - nCount = freerdp_get_event_handles(rfi->instance->context, &handles[0], 64); + HANDLE handles[64]={0}; + DWORD nCount = freerdp_get_event_handles(rfi->instance->context, &handles[0], 64); if (rfi->event_handle) handles[nCount++] = rfi->event_handle; @@ -1040,7 +1037,7 @@ static void remmina_rdp_main_loop(RemminaProtocolWidget *gp) REMMINA_PLUGIN_DEBUG("RDP client disconnected"); } -int remmina_rdp_load_static_channel_addin(rdpChannels *channels, rdpSettings *settings, char *name, void *data) +static int remmina_rdp_load_static_channel_addin(rdpChannels *channels, rdpSettings *settings, char *name, void *data) { TRACE_CALL(__func__); PVIRTUALCHANNELENTRY entry = NULL; @@ -1067,7 +1064,7 @@ int remmina_rdp_load_static_channel_addin(rdpChannels *channels, rdpSettings *se return FALSE; } -gchar *remmina_rdp_find_prdriver(char *smap, char *prn) +static gchar *remmina_rdp_find_prdriver(char *smap, char *prn) { char c, *p, *dr; int matching; @@ -1142,7 +1139,7 @@ found: * - For each enumerated local printer tries to set the Printer Name and Driver. * @return 1 if there are other printers to scan or 0 when it's done. */ -int remmina_rdp_set_printers(void *user_data, unsigned flags, cups_dest_t *dest) +static int remmina_rdp_set_printers(void *user_data, unsigned flags, cups_dest_t *dest) { rfContext *rfi = (rfContext *)user_data; RemminaProtocolWidget *gp = rfi->protocol_widget; diff --git a/src/remmina_ext_exec.c b/src/remmina_ext_exec.c index 1182266f1..6414c8c4a 100644 --- a/src/remmina_ext_exec.c +++ b/src/remmina_ext_exec.c @@ -125,7 +125,9 @@ GtkDialog* remmina_ext_exec_new(RemminaFile* remminafile, const char *remmina_ex g_error_free(error); } g_strfreev(argv); + g_free(cmd); return (pcspinner->dialog); } + g_free(cmd); return FALSE; } diff --git a/src/remmina_ssh_plugin.c b/src/remmina_ssh_plugin.c index 47a45ea84..f78981371 100644 --- a/src/remmina_ssh_plugin.c +++ b/src/remmina_ssh_plugin.c @@ -1263,6 +1263,8 @@ remmina_plugin_ssh_init(RemminaProtocolWidget *gp) sshlogname = remmina_file_format_properties(remminafile, sshlogname); fp = g_strconcat(dir, "/", sshlogname, NULL); + g_free(sshlogname); + gpdata->vte_session_file = g_file_new_for_path(fp); g_free(fp); |