Hi Sven, hi Luca,

On  Mi 24 Sep 2014 10:27:25 CEST, Sven Hartge wrote:

On 24.09.2014 10:20, Mike Gabriel wrote:

In a private post you mentioned that current remmina-master is
completely broken and the remmina-gtk3 branch still uses the old
freerdp-1.0 cmake rules (this seems easy to fix, actually).

Yes, see here:
https://github.com/FreeRDP/Remmina/blob/gtk3/cmake/FindFREERDP.cmake

[...]
find_library(FREERDP_LIBRARY NAMES freerdp
        HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})

find_library(FREERDP_CLIENT_LIBRARY NAMES freerdp-client
        HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})
[...]

The master branch uses the correct rules:
https://github.com/FreeRDP/Remmina/blob/master/cmake/FindFREERDP.cmake

[...]
find_library(FREERDP_LIBRARY NAMES freerdp-core
        HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})

find_library(FREERDP_GDI_LIBRARY NAMES freerdp-gdi
        HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})

find_library(FREERDP_LOCALE_LIBRARY NAMES freerdp-locale
        HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})

find_library(FREERDP_RAIL_LIBRARY NAMES freerdp-rail
        HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})

find_library(FREERDP_CODEC_LIBRARY NAMES freerdp-codec
        HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})

find_library(FREERDP_CLIENT_LIBRARY NAMES freerdp-client
        HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})

[...]

I tried fixing this bus blindly copying the cmake file from the master
branch to the gtk3 branch and recompile. This then finds the libraries
fine but fails with some (to me unfixable) errors during compilatio later.

People knowing about remmina, freerdp and gtk3 should be able to figure
it out, I hope.

Grüße,
Sven.

I have now tried for some time to build remmina 1.0.0.

The FreeRDP problem with remmina is really minor compared to the GTK2/GTK3 stuff, I guess. My recommendation would be to fallback to GTK2 for jessie (though untested) or get the gtk3 branch up and running.

My preliminary patch approach for FreeRDP I attach to this mail (it applies to the remmina package in unstable). However, it is not really tested, as there are other causes for FTBFS before it really comes to compiling the RDP plugin.

Mike



--

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: mike.gabr...@das-netzwerkteam.de, http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb
--- a/cmake/FindFREERDP.cmake
+++ b/cmake/FindFREERDP.cmake
@@ -18,7 +18,7 @@
 # Boston, MA 02111-1307, USA.
 
 find_package(PkgConfig)
-pkg_check_modules(PC_FREERDP freerdp>=1.0)
+pkg_check_modules(PC_FREERDP freerdp>=1.1)
 set(FREERDP_DEFINITIONS ${PC_FREERDP_CFLAGS_OTHER})
 
 find_path(FREERDP_INCLUDE_DIR NAMES freerdp/freerdp.h
@@ -30,18 +30,12 @@
 find_library(FREERDP_GDI_LIBRARY NAMES freerdp-gdi
 	HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})
 
-find_library(FREERDP_KBD_LIBRARY NAMES freerdp-kbd
-	HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})
-
 find_library(FREERDP_RAIL_LIBRARY NAMES freerdp-rail
 	HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})
 
 find_library(FREERDP_CODEC_LIBRARY NAMES freerdp-codec
 	HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})
 
-find_library(FREERDP_CHANNELS_LIBRARY NAMES freerdp-channels
-	HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})
-
 include(FindPackageHandleStandardArgs)
 
 find_package_handle_standard_args(FREERDP DEFAULT_MSG FREERDP_LIBRARY FREERDP_INCLUDE_DIR)
--- a/remmina-plugins/rdp/rdp_cliprdr.c
+++ b/remmina-plugins/rdp/rdp_cliprdr.c
@@ -22,9 +22,8 @@
 #include "rdp_cliprdr.h"
 
 #include <freerdp/freerdp.h>
-#include <freerdp/utils/memory.h>
-#include <freerdp/channels/channels.h>
-#include <freerdp/plugins/cliprdr.h>
+#include <freerdp/client/channels.h>
+#include <freerdp/client/cliprdr.h>
 
 /*
  * Get the formats we can export based on the current clipboard data.
--- a/remmina-plugins/rdp/rdp_event.c
+++ b/remmina-plugins/rdp/rdp_event.c
@@ -27,7 +27,7 @@
 #include "rdp_gdi.h"
 #include <gdk/gdkkeysyms.h>
 #include <cairo/cairo-xlib.h>
-#include <freerdp/kbd/kbd.h>
+#include <winpr/input.h>
 
 static void remmina_rdp_event_event_push(RemminaProtocolWidget* gp, const RemminaPluginRdpEvent* e)
 {
--- a/remmina-plugins/rdp/rdp_gdi.c
+++ b/remmina-plugins/rdp/rdp_gdi.c
@@ -28,7 +28,6 @@
 #include <freerdp/freerdp.h>
 #include <freerdp/constants.h>
 #include <freerdp/cache/cache.h>
-#include <freerdp/utils/memory.h>
 #include <X11/Xlib.h>
 #include <X11/keysym.h>
 #include <gdk/gdkx.h>
@@ -43,8 +42,8 @@
 
 	LOCK_BUFFER(TRUE)
 
-	remmina_plugin_service->protocol_plugin_set_width(gp, rfi->settings->width);
-	remmina_plugin_service->protocol_plugin_set_height(gp, rfi->settings->height);
+	remmina_plugin_service->protocol_plugin_set_width(gp, rfi->settings->DesktopWidth);
+	remmina_plugin_service->protocol_plugin_set_height(gp, rfi->settings->DesktopHeight);
 
 	UNLOCK_BUFFER(TRUE)
 
@@ -148,7 +147,7 @@
 	}
 	else if (surface_bits_command->codecID == CODEC_ID_NONE)
 	{
-		bitmap = (uint8*) xzalloc(surface_bits_command->width * surface_bits_command->height * 4);
+		bitmap = (uint8*) malloc(surface_bits_command->width * surface_bits_command->height * 4);
 
 		freerdp_image_flip(surface_bits_command->bitmapData, bitmap,
 				surface_bits_command->width, surface_bits_command->height, 32);
--- a/remmina-plugins/rdp/rdp_graphics.c
+++ b/remmina-plugins/rdp/rdp_graphics.c
@@ -24,7 +24,7 @@
 #include "rdp_event.h"
 #include "rdp_graphics.h"
 
-#include <freerdp/utils/memory.h>
+#include <winpr/memory.h>
 #include <freerdp/codec/color.h>
 #include <freerdp/codec/bitmap.h>
 
@@ -279,7 +279,8 @@
 	rdpPointer* pointer;
 	rdpGlyph* glyph;
 
-	bitmap = xnew(rdpBitmap);
+	bitmap = (rdpBitmap*) malloc(sizeof(rdpBitmap));
+	ZeroMemory(bitmap, sizeof(rdpBitmap));
 	bitmap->size = sizeof(rfBitmap);
 
 	bitmap->New = rf_Bitmap_New;
@@ -291,7 +292,8 @@
 	graphics_register_bitmap(graphics, bitmap);
 	xfree(bitmap);
 
-	pointer = xnew(rdpPointer);
+	pointer = (rdpPointer*) malloc(sizeof(rdpPointer));
+	ZeroMemory(pointer, sizeof(rdpPointer));
 	pointer->size = sizeof(rfPointer);
 
 	pointer->New = rf_Pointer_New;
@@ -301,7 +303,8 @@
 	graphics_register_pointer(graphics, pointer);
 	xfree(pointer);
 
-	glyph = xnew(rdpGlyph);
+	glyph = (rdpGlyph*) malloc(sizeof(rdpGlyph));
+	ZeroMemory(glyph, sizeof(rdpGlyph));
 	glyph->size = sizeof(rfGlyph);
 
 	glyph->New = rf_Glyph_New;
--- a/remmina-plugins/rdp/rdp_plugin.c
+++ b/remmina-plugins/rdp/rdp_plugin.c
@@ -31,8 +31,8 @@
 #include <cairo/cairo-xlib.h>
 #include <freerdp/freerdp.h>
 #include <freerdp/constants.h>
-#include <freerdp/utils/memory.h>
-#include <freerdp/plugins/cliprdr.h>
+#include <freerdp/client/cliprdr.h>
+#include <freerdp/client/channels.h>
 
 #define REMMINA_RDP_FEATURE_TOOL_REFRESH		1
 #define REMMINA_RDP_FEATURE_SCALE			2
@@ -263,8 +263,8 @@
 
 	LOCK_BUFFER(TRUE)
 
-	remmina_plugin_service->protocol_plugin_set_width(gp, rfi->settings->width);
-	remmina_plugin_service->protocol_plugin_set_height(gp, rfi->settings->height);
+	remmina_plugin_service->protocol_plugin_set_width(gp, rfi->settings->DesktopWidth);
+	remmina_plugin_service->protocol_plugin_set_height(gp, rfi->settings->DesktopHeight);
 
 	UNLOCK_BUFFER(TRUE)
 
@@ -317,39 +317,39 @@
 	settings = instance->settings;
 	gp = rfi->protocol_widget;
 
-	settings->bitmap_cache = True;
-	settings->offscreen_bitmap_cache = True;
+	settings->BitmapCacheEnabled = True;
+	settings->OffscreenSupportLevel = True;
 
-	settings->order_support[NEG_DSTBLT_INDEX] = True;
-	settings->order_support[NEG_PATBLT_INDEX] = True;
-	settings->order_support[NEG_SCRBLT_INDEX] = True;
-	settings->order_support[NEG_OPAQUE_RECT_INDEX] = True;
-	settings->order_support[NEG_DRAWNINEGRID_INDEX] = False;
-	settings->order_support[NEG_MULTIDSTBLT_INDEX] = False;
-	settings->order_support[NEG_MULTIPATBLT_INDEX] = False;
-	settings->order_support[NEG_MULTISCRBLT_INDEX] = False;
-	settings->order_support[NEG_MULTIOPAQUERECT_INDEX] = True;
-	settings->order_support[NEG_MULTI_DRAWNINEGRID_INDEX] = False;
-	settings->order_support[NEG_LINETO_INDEX] = True;
-	settings->order_support[NEG_POLYLINE_INDEX] = True;
-	settings->order_support[NEG_MEMBLT_INDEX] = True;
-	settings->order_support[NEG_MEM3BLT_INDEX] = False;
-	settings->order_support[NEG_MEMBLT_V2_INDEX] = True;
-	settings->order_support[NEG_MEM3BLT_V2_INDEX] = False;
-	settings->order_support[NEG_SAVEBITMAP_INDEX] = False;
-	settings->order_support[NEG_GLYPH_INDEX_INDEX] = True;
-	settings->order_support[NEG_FAST_INDEX_INDEX] = True;
-	settings->order_support[NEG_FAST_GLYPH_INDEX] = False;
-	settings->order_support[NEG_POLYGON_SC_INDEX] = False;
-	settings->order_support[NEG_POLYGON_CB_INDEX] = False;
-	settings->order_support[NEG_ELLIPSE_SC_INDEX] = False;
-	settings->order_support[NEG_ELLIPSE_CB_INDEX] = False;
-
-	if (settings->rfx_codec == True)
-	{
-		settings->frame_acknowledge = False;
-		settings->large_pointer = True;
-		settings->performance_flags = PERF_FLAG_NONE;
+	settings->OrderSupport[NEG_DSTBLT_INDEX] = True;
+	settings->OrderSupport[NEG_PATBLT_INDEX] = True;
+	settings->OrderSupport[NEG_SCRBLT_INDEX] = True;
+	settings->OrderSupport[NEG_OPAQUE_RECT_INDEX] = True;
+	settings->OrderSupport[NEG_DRAWNINEGRID_INDEX] = False;
+	settings->OrderSupport[NEG_MULTIDSTBLT_INDEX] = False;
+	settings->OrderSupport[NEG_MULTIPATBLT_INDEX] = False;
+	settings->OrderSupport[NEG_MULTISCRBLT_INDEX] = False;
+	settings->OrderSupport[NEG_MULTIOPAQUERECT_INDEX] = True;
+	settings->OrderSupport[NEG_MULTI_DRAWNINEGRID_INDEX] = False;
+	settings->OrderSupport[NEG_LINETO_INDEX] = True;
+	settings->OrderSupport[NEG_POLYLINE_INDEX] = True;
+	settings->OrderSupport[NEG_MEMBLT_INDEX] = True;
+	settings->OrderSupport[NEG_MEM3BLT_INDEX] = False;
+	settings->OrderSupport[NEG_MEMBLT_V2_INDEX] = True;
+	settings->OrderSupport[NEG_MEM3BLT_V2_INDEX] = False;
+	settings->OrderSupport[NEG_SAVEBITMAP_INDEX] = False;
+	settings->OrderSupport[NEG_GLYPH_INDEX_INDEX] = True;
+	settings->OrderSupport[NEG_FAST_INDEX_INDEX] = True;
+	settings->OrderSupport[NEG_FAST_GLYPH_INDEX] = False;
+	settings->OrderSupport[NEG_POLYGON_SC_INDEX] = False;
+	settings->OrderSupport[NEG_POLYGON_CB_INDEX] = False;
+	settings->OrderSupport[NEG_ELLIPSE_SC_INDEX] = False;
+	settings->OrderSupport[NEG_ELLIPSE_CB_INDEX] = False;
+
+	if (settings->RemoteFxCodec == True)
+	{
+		settings->FrameAcknowledge = False;
+		settings->LargePointerFlag = True;
+		settings->PerformanceFlags = PERF_FLAG_NONE;
 
 		rfi->rfx_context = rfx_context_new();
 		rfx_context_set_cpu_opt(rfi->rfx_context, CPU_SSE2);
@@ -378,9 +378,9 @@
 	rfi = (rfContext*) instance->context;
 	gp = rfi->protocol_widget;
 
-	rfi->width = rfi->settings->width;
-	rfi->height = rfi->settings->height;
-	rfi->srcBpp = rfi->settings->color_depth;
+	rfi->width = rfi->settings->DesktopWidth;
+	rfi->height = rfi->settings->DesktopHeight;
+	rfi->srcBpp = rfi->settings->ColorDepth;
 
 	rfi->drawable = DefaultRootWindow(rfi->display);
 	rfi->primary = XCreatePixmap(rfi->display, rfi->drawable, rfi->width, rfi->height, rfi->depth);
@@ -392,7 +392,7 @@
 	rfi->bitmap_mono = XCreatePixmap(rfi->display, rfi->drawable, 8, 8, 1);
 	rfi->gc_mono = XCreateGC(rfi->display, rfi->bitmap_mono, GCGraphicsExposures, &gcv);
 
-	if (rfi->settings->rfx_codec == false)
+	if (rfi->settings->RemoteFxCodec == false)
 		rfi->sw_gdi = true;
 
 	rf_register_graphics(instance->context->graphics);
@@ -488,7 +488,7 @@
 
 		if (s)
 		{
-			rfi->settings->username = xstrdup(s);
+			rfi->settings->Username = xstrdup(s);
 			g_free(s);
 		}
 
@@ -496,7 +496,7 @@
 
 		if (s)
 		{
-			rfi->settings->password = xstrdup(s);
+			rfi->settings->Password = xstrdup(s);
 			g_free(s);
 		}
 
@@ -504,7 +504,7 @@
 
 		if (s)
 		{
-			rfi->settings->domain = xstrdup(s);
+			rfi->settings->Domain = xstrdup(s);
 			g_free(s);
 		}
 
@@ -643,6 +643,27 @@
 	}
 }
 
+gboolean remmina_rdp_load_plugin(rdpChannels* channels, rdpSettings* settings, const char* name, RDP_PLUGIN_DATA* plugin_data)
+{
+	void* entry = NULL;
+
+	entry = freerdp_channels_client_find_static_entry("VirtualChannelEntry", name);
+
+	if (entry)
+	{
+		if (freerdp_channels_client_load(channels, settings, entry, plugin_data) == 0)
+		{
+			g_printf("loading channel %s (static)\n", name);
+			return TRUE;
+		}
+	}
+
+	g_printf("loading channel %s (plugin)\n", name);
+	freerdp_channels_load_plugin(channels, settings, name, plugin_data);
+
+	return TRUE;
+}
+
 static gboolean remmina_rdp_main(RemminaProtocolWidget* gp)
 {
 	gchar* s;
@@ -665,29 +686,29 @@
 		return FALSE;
 
 	remmina_plugin_service->get_server_port(s, 3389, &host, &port);
-	rfi->settings->hostname = xstrdup(host);
+	rfi->settings->ServerHostname = xstrdup(host);
 	g_free(host);
 	g_free(s);
-	rfi->settings->port = port;
+	rfi->settings->ServerPort = port;
 
-	rfi->settings->color_depth = remmina_plugin_service->file_get_int(remminafile, "colordepth", 0);
+	rfi->settings->ColorDepth = remmina_plugin_service->file_get_int(remminafile, "colordepth", 0);
 
-	if (rfi->settings->color_depth == 0)
+	if (rfi->settings->ColorDepth== 0)
 	{
-		rfi->settings->rfx_codec = True;
-		rfi->settings->color_depth = 32;
+		rfi->settings->RemoteFxCodec = True;
+		rfi->settings->ColorDepth = 32;
 	}
 
-	rfi->settings->width = remmina_plugin_service->file_get_int(remminafile, "resolution_width", 1024);
-	rfi->settings->height = remmina_plugin_service->file_get_int(remminafile, "resolution_height", 768);
-	remmina_plugin_service->protocol_plugin_set_width(gp, rfi->settings->width);
-	remmina_plugin_service->protocol_plugin_set_height(gp, rfi->settings->height);
+	rfi->settings->DestopWidth = remmina_plugin_service->file_get_int(remminafile, "resolution_width", 1024);
+	rfi->settings->DesktopHeight = remmina_plugin_service->file_get_int(remminafile, "resolution_height", 768);
+	remmina_plugin_service->protocol_plugin_set_width(gp, rfi->settings->DesktopWidth);
+	remmina_plugin_service->protocol_plugin_set_height(gp, rfi->settings->DesktopHeight);
 
 	if (remmina_plugin_service->file_get_string(remminafile, "username"))
-		rfi->settings->username = xstrdup(remmina_plugin_service->file_get_string(remminafile, "username"));
+		rfi->settings->Username = xstrdup(remmina_plugin_service->file_get_string(remminafile, "username"));
 
 	if (remmina_plugin_service->file_get_string(remminafile, "domain"))
-		rfi->settings->domain = xstrdup(remmina_plugin_service->file_get_string(remminafile, "domain"));
+		rfi->settings->Domain = xstrdup(remmina_plugin_service->file_get_string(remminafile, "domain"));
 
 	THREADS_ENTER
 	s = remmina_plugin_service->file_get_secret(remminafile, "password");
@@ -695,29 +716,29 @@
 
 	if (s)
 	{
-		rfi->settings->password = xstrdup(s);
-		rfi->settings->autologon = 1;
+		rfi->settings->Password = xstrdup(s);
+		rfi->settings->AutoLogonEnabled = 1;
 		g_free(s);
 	}
 
 	if (remmina_plugin_service->file_get_string(remminafile, "clientname"))
 	{
-		strncpy(rfi->settings->client_hostname, remmina_plugin_service->file_get_string(remminafile, "clientname"),
-			sizeof(rfi->settings->client_hostname) - 1);
+		strncpy(rfi->settings->ClientHostname, remmina_plugin_service->file_get_string(remminafile, "clientname"),
+			sizeof(rfi->settings->ClientHostname) - 1);
 	}
 	else
 	{
-		strncpy(rfi->settings->client_hostname, g_get_host_name(), sizeof(rfi->settings->client_hostname) - 1);
+		strncpy(rfi->settings->ClientHostname, g_get_host_name(), sizeof(rfi->settings->ClientHostname) - 1);
 	}
 
 	if (remmina_plugin_service->file_get_string(remminafile, "exec"))
 	{
-		rfi->settings->shell = xstrdup(remmina_plugin_service->file_get_string(remminafile, "exec"));
+		rfi->settings->AlternateShell = xstrdup(remmina_plugin_service->file_get_string(remminafile, "exec"));
 	}
 
 	if (remmina_plugin_service->file_get_string(remminafile, "execpath"))
 	{
-		rfi->settings->directory = xstrdup(remmina_plugin_service->file_get_string(remminafile, "execpath"));
+		rfi->settings->ShellWorkingDirectory = xstrdup(remmina_plugin_service->file_get_string(remminafile, "execpath"));
 	}
 
 	s = g_strdup_printf("rdp_quality_%i", remmina_plugin_service->file_get_int(remminafile, "quality", DEFAULT_QUALITY_0));
@@ -726,63 +747,63 @@
 
 	if (value && value[0])
 	{
-		rfi->settings->performance_flags = strtoul(value, NULL, 16);
+		rfi->settings->PerformanceFlags = strtoul(value, NULL, 16);
 	}
 	else
 	{
 		switch (remmina_plugin_service->file_get_int(remminafile, "quality", DEFAULT_QUALITY_0))
 		{
 			case 9:
-				rfi->settings->performance_flags = DEFAULT_QUALITY_9;
+				rfi->settings->PerformanceFlags = DEFAULT_QUALITY_9;
 				break;
 
 			case 2:
-				rfi->settings->performance_flags = DEFAULT_QUALITY_2;
+				rfi->settings->PerformanceFlags = DEFAULT_QUALITY_2;
 				break;
 
 			case 1:
-				rfi->settings->performance_flags = DEFAULT_QUALITY_1;
+				rfi->settings->PerformanceFlags = DEFAULT_QUALITY_1;
 				break;
 
 			case 0:
 			default:
-				rfi->settings->performance_flags = DEFAULT_QUALITY_0;
+				rfi->settings->PerformanceFlags = DEFAULT_QUALITY_0;
 				break;
 		}
 	}
 	g_free(value);
 
-	rfi->settings->kbd_layout = remmina_rdp_settings_get_keyboard_layout();
+	rfi->settings->KeyboardLayout = remmina_rdp_settings_get_keyboard_layout();
 
 	if (remmina_plugin_service->file_get_int(remminafile, "console", FALSE))
 	{
-		rfi->settings->console_session = True;
+		rfi->settings->ConsoleSession = True;
 	}
 
 	cs = remmina_plugin_service->file_get_string(remminafile, "security");
 
 	if (g_strcmp0(cs, "rdp") == 0)
 	{
-		rfi->settings->rdp_security = True;
-		rfi->settings->tls_security = False;
-		rfi->settings->nla_security = False;
+		rfi->settings->RdpSecurity = True;
+		rfi->settings->TlsSecurity = False;
+		rfi->settings->NlaSecurity = False;
 	}
 	else if (g_strcmp0(cs, "tls") == 0)
 	{
-		rfi->settings->rdp_security = False;
-		rfi->settings->tls_security = True;
-		rfi->settings->nla_security = False;
+		rfi->settings->RdpSecurity = False;
+		rfi->settings->TlsSecurity = True;
+		rfi->settings->NlaSecurity = False;
 	}
 	else if (g_strcmp0(cs, "nla") == 0)
 	{
-		rfi->settings->rdp_security = False;
-		rfi->settings->tls_security = False;
-		rfi->settings->nla_security = True;
+		rfi->settings->RdpSecurity = False;
+		rfi->settings->TlsSecurity = False;
+		rfi->settings->NlaSecurity = True;
 	}
 
-	rfi->settings->compression = True;
-	rfi->settings->fastpath_input = True;
-	rfi->settings->fastpath_output = True;
+	rfi->settings->CompressionEnabled = True;
+	rfi->settings->FastPathInput = True;
+	rfi->settings->FastPathOutput = True;
 
 	drdynvc_num = 0;
 	rdpsnd_num = 0;
@@ -790,7 +811,7 @@
 
 	if (g_strcmp0(cs, "remote") == 0)
 	{
-		rfi->settings->console_audio = 1;
+		rfi->settings->RemoteConsoleAudio = 1;
 	}
 	else if (g_str_has_prefix(cs, "local"))
 	{
@@ -818,7 +839,7 @@
 			}
 		}
 
-		freerdp_channels_load_plugin(rfi->channels, rfi->settings, "rdpsnd", rfi->rdpsnd_data);
+		remmina_rdp_load_plugin(rfi->channels, rfi->settings, "rdpsnd", rfi->rdpsnd_data);
 
 		rfi->drdynvc_data[drdynvc_num].size = sizeof(RDP_PLUGIN_DATA);
 		rfi->drdynvc_data[drdynvc_num].data[0] = "audin";
@@ -827,12 +848,12 @@
 
 	if (drdynvc_num)
 	{
-		freerdp_channels_load_plugin(rfi->channels, rfi->settings, "drdynvc", rfi->drdynvc_data);
+		remmina_rdp_load_plugin(rfi->channels, rfi->settings, "drdynvc", rfi->drdynvc_data);
 	}
 
 	if (!remmina_plugin_service->file_get_int(remminafile, "disableclipboard", FALSE))
 	{
-		freerdp_channels_load_plugin(rfi->channels, rfi->settings, "cliprdr", NULL);
+		remmina_rdp_load_plugin(rfi->channels, rfi->settings, "cliprdr", NULL);
 	}
 
 	rdpdr_num = 0;
@@ -858,7 +879,7 @@
 
 	if (rdpdr_num)
 	{
-		freerdp_channels_load_plugin(rfi->channels, rfi->settings, "rdpdr", rfi->rdpdr_data);
+		remmina_rdp_load_plugin(rfi->channels, rfi->settings, "rdpdr", rfi->rdpdr_data);
 	}
 
 	if (!freerdp_connect(rfi->instance))
@@ -866,7 +887,7 @@
 		if (!rfi->user_cancelled)
 		{
 			remmina_plugin_service->protocol_plugin_set_error(gp, _("Unable to connect to RDP server %s"),
-				rfi->settings->hostname);
+				rfi->settings->ServerHostname);
 		}
 
 		return FALSE;
--- a/remmina-plugins/rdp/rdp_settings.c
+++ b/remmina-plugins/rdp/rdp_settings.c
@@ -20,7 +20,7 @@
 
 #include "rdp_plugin.h"
 #include "rdp_settings.h"
-#include <freerdp/kbd/kbd.h>
+#include <winpr/input.h>
 
 static guint keyboard_layout = 0;
 static guint rdp_keyboard_layout = 0;

Attachment: pgpgHnE3sA3Ks.pgp
Description: Digitale PGP-Signatur

Reply via email to