[gtk-frdp/wip/oholy/fix-hangs] frdp-session: Fix hangs with recent FreeRDP versions



commit 3b4280994de1800d651fc550dff6053e9ea85de4
Author: Ondrej Holy <oholy redhat com>
Date:   Fri May 15 14:53:06 2020 +0200

    frdp-session: Fix hangs with recent FreeRDP versions
    
    Connection to all my testing servers fails with "SERVER BUG: The support
    for this feature was not announced! Use /relax-order-checks to ignore"
    currently. This happens always with current FreeRDP versions after
    https://github.com/FreeRDP/FreeRDP/pull/4926 has been merged. This can be
    fixed by the usage of /relax-order-checks option, however, this option
    should be used only if necessary needed and it should not be needed in
    most of the cases. This currenlty happens always as it interfere with our
    custom OrderSupports settings. Let's use the default OrderSupports
    settings to fix this issue, which is possible thanks to
    https://github.com/FreeRDP/FreeRDP/pull/5057.
    
    Fixes: https://gitlab.gnome.org/GNOME/gtk-frdp/-/issues/27

 src/frdp-session.c | 27 ---------------------------
 src/meson.build    |  6 ++++--
 2 files changed, 4 insertions(+), 29 deletions(-)
---
diff --git a/src/frdp-session.c b/src/frdp-session.c
index 45643be..f66a1f3 100644
--- a/src/frdp-session.c
+++ b/src/frdp-session.c
@@ -374,33 +374,6 @@ frdp_authenticate (freerdp  *freerdp_session,
 static gboolean
 frdp_pre_connect (freerdp *freerdp_session)
 {
-  rdpSettings *settings = freerdp_session->settings;
-
-  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;
-
   return TRUE;
 }
 
diff --git a/src/meson.build b/src/meson.build
index 2078f4f..acecc39 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -37,8 +37,10 @@ cc = meson.get_compiler('c')
 vala = meson.get_compiler('vala')
 
 gtk_frdp_deps = [
-  dependency('winpr2'),
-  dependency('freerdp2'),
+  # The 2.0.0-rc4 version is needed at least, but there is no easy way to detect this.
+  dependency('winpr2', version: '>= 2.0.0'),
+  dependency('freerdp2', version: '>= 2.0.0'),
+
   dependency('gio-2.0', version: '>= 2.50'),
   dependency('gtk+-3.0'),
   cc.find_library('m'),


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]