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:
Diffstat (limited to 'plugins/rdp/rdp_settings.c')
-rw-r--r--plugins/rdp/rdp_settings.c12
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)