From 20cc7d3557606dc25449373bb74e7cf723cb8a31 Mon Sep 17 00:00:00 2001 From: Jakub Adam Date: Fri, 2 Mar 2018 21:18:13 +0100 Subject: [PATCH] conf: fix random scheduled meeting join failures Add sipe_http_request_ready() after new HTTP request has been created. Everything worked if sipe_http_request_get() also opened a new connection, but when two requests were sent in a quick succession, the latter remained sitting in send queue until its timeout kicked off. Fixes more or less frequent "Can't find a conference URI on this page" errors. (cherry picked from commit e7ea3323acb7c3ba5af7c78fc77818ecde65805d) --- src/core/sipe-conf.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/core/sipe-conf.c b/src/core/sipe-conf.c index 4efdaacf..6056da19 100644 --- a/src/core/sipe-conf.c +++ b/src/core/sipe-conf.c @@ -430,17 +430,25 @@ static void sipe_conf_lync_url_cb(struct sipe_core_private *sipe_private, static gboolean sipe_conf_check_for_lync_url(struct sipe_core_private *sipe_private, gchar *uri) { + struct sipe_http_request *request; + if (!(g_str_has_prefix(uri, "https://") || g_str_has_prefix(uri, "http://"))) return(FALSE); /* URL points to a HTML page with the conference focus URI */ - return(sipe_http_request_get(sipe_private, - uri, - NULL, - sipe_conf_lync_url_cb, - uri) - != NULL); + request = sipe_http_request_get(sipe_private, + uri, + NULL, + sipe_conf_lync_url_cb, + uri); + + if (request) { + sipe_http_request_ready(request); + return(TRUE); + } + + return(FALSE); } static void sipe_conf_uri_error(struct sipe_core_private *sipe_private, -- 2.11.4.GIT