GUACAMOLE-1191: Always disable the glyph cache, as FreeRDP no longer considers the feature to be stable.
diff --git a/src/protocols/rdp/settings.c b/src/protocols/rdp/settings.c
index dd8a96f..e12e8c1 100644
--- a/src/protocols/rdp/settings.c
+++ b/src/protocols/rdp/settings.c
@@ -850,9 +850,24 @@
guac_user_parse_args_boolean(user, GUAC_RDP_CLIENT_ARGS, argv,
IDX_DISABLE_OFFSCREEN_CACHING, 0);
- settings->disable_glyph_caching =
- guac_user_parse_args_boolean(user, GUAC_RDP_CLIENT_ARGS, argv,
- IDX_DISABLE_GLYPH_CACHING, 0);
+ /* FreeRDP does not consider the glyph cache implementation to be stable as
+ * of 2.0.0, and it MUST NOT be used. Usage of the glyph cache results in
+ * unexpected disconnects when using older versions of Windows and recent
+ * versions of FreeRDP. See: https://issues.apache.org/jira/browse/GUACAMOLE-1191 */
+ settings->disable_glyph_caching = 1;
+
+ /* In case the user expects glyph caching to be enabled, either explicitly
+ * or by default, warn that this will not be the case as the glyph cache
+ * is not considered stable. */
+ if (!guac_user_parse_args_boolean(user, GUAC_RDP_CLIENT_ARGS, argv,
+ IDX_DISABLE_GLYPH_CACHING, 0)) {
+ guac_user_log(user, GUAC_LOG_DEBUG, "Glyph caching is currently "
+ "universally disabled, regardless of the value of the \"%s\" "
+ "parameter, as glyph caching support is not considered stable "
+ "by FreeRDP as of the FreeRDP 2.0.0 release. See: "
+ "https://issues.apache.org/jira/browse/GUACAMOLE-1191",
+ GUAC_RDP_CLIENT_ARGS[IDX_DISABLE_GLYPH_CACHING]);
+ }
/* Session color depth */
settings->color_depth =