summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2013-01-08 17:28:49 +0100
committerAlexander Larsson <alexl@redhat.com>2013-01-08 18:05:06 +0100
commitf72d1a8d2baf36bdae15728ef8d045834d04cdb6 (patch)
treec32451265bc7b69166427dedd46bf303db377f2a
parent6f910e5e02e49ac6612ae131c49ec410e774d002 (diff)
downloadgtk+-f72d1a8d2baf36bdae15728ef8d045834d04cdb6.tar.gz
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.
-rw-r--r--gdk/broadway/gdkbroadway-server.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gdk/broadway/gdkbroadway-server.c b/gdk/broadway/gdkbroadway-server.c
index 803152a790..0699778eec 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