From: Alexander Larsson Date: Tue, 8 Jan 2013 16:28:49 +0000 (+0100) Subject: broadway: Fix gdk_broadway_server_wait_for_reply X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=f72d1a8d2baf36bdae15728ef8d045834d04cdb6;p=~andy%2Fgtk broadway: Fix gdk_broadway_server_wait_for_reply We didn't properly queue an idle to handle the read messages so they were never serviced in some situations. --- diff --git a/gdk/broadway/gdkbroadway-server.c b/gdk/broadway/gdkbroadway-server.c index 803152a79..0699778ee 100644 --- a/gdk/broadway/gdkbroadway-server.c +++ b/gdk/broadway/gdkbroadway-server.c @@ -309,16 +309,16 @@ input_available_cb (gpointer stream, gpointer user_data) static BroadwayReply * gdk_broadway_server_wait_for_reply (GdkBroadwayServer *server, guint32 serial) -{ +{ BroadwayReply *reply; - + while (TRUE) { reply = find_response_by_serial (server, serial); if (reply) { server->incomming = g_list_remove (server->incomming, reply); - return reply; + break; } read_some_input_blocking (server); @@ -326,6 +326,7 @@ gdk_broadway_server_wait_for_reply (GdkBroadwayServer *server, } queue_process_input_at_idle (server); + return reply; } void