We didn't properly queue an idle to handle the read messages so they
were never serviced in some situations.
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);
}
queue_process_input_at_idle (server);
+ return reply;
}
void