diff options
Diffstat (limited to 'plugins/rdp/rdp_settings.c')
-rw-r--r-- | plugins/rdp/rdp_settings.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/plugins/rdp/rdp_settings.c b/plugins/rdp/rdp_settings.c index a012fdbcd..b0110c66e 100644 --- a/plugins/rdp/rdp_settings.c +++ b/plugins/rdp/rdp_settings.c @@ -206,7 +206,6 @@ static void remmina_rdp_settings_grid_destroy(GtkWidget *widget, gpointer data) static void remmina_rdp_settings_grid_load_layout(RemminaPluginRdpsetGrid *grid) { TRACE_CALL(__func__); - gint i; gchar *s; GtkTreeIter iter; RDP_KEYBOARD_LAYOUT *layouts; @@ -219,9 +218,14 @@ static void remmina_rdp_settings_grid_load_layout(RemminaPluginRdpsetGrid *grid) gtk_label_set_text(GTK_LABEL(grid->keyboard_layout_label), "-"); +#if FREERDP_VERSION_MAJOR >= 3 + size_t layout_count = 0; + layouts = freerdp_keyboard_get_layouts(RDP_KEYBOARD_LAYOUT_TYPE_STANDARD | RDP_KEYBOARD_LAYOUT_TYPE_VARIANT, &layout_count); +#else layouts = freerdp_keyboard_get_layouts(RDP_KEYBOARD_LAYOUT_TYPE_STANDARD | RDP_KEYBOARD_LAYOUT_TYPE_VARIANT); +#endif - for (i = 0; layouts[i].code; i++) { + for (DWORD i = 0; layouts[i].code; i++) { s = g_strdup_printf("%08X - %s", layouts[i].code, layouts[i].name); gtk_list_store_append(grid->keyboard_layout_store, &iter); gtk_list_store_set(grid->keyboard_layout_store, &iter, 0, layouts[i].code, 1, s, -1); @@ -235,7 +239,11 @@ static void remmina_rdp_settings_grid_load_layout(RemminaPluginRdpsetGrid *grid) g_free(s); } +#if FREERDP_VERSION_MAJOR >= 3 + freerdp_keyboard_layouts_free(layouts, layout_count); +#else freerdp_keyboard_layouts_free(layouts); +#endif } static void remmina_rdp_settings_grid_load_devicescalefactor_combo(RemminaPluginRdpsetGrid *grid) |