server->incomming = g_list_append (server->incomming, reply);
}
-
+
if (p < end)
memmove (server->recv_buffer, p, end - p);
server->recv_buffer_size = end - p;
g_source_remove (server->process_input_idle);
server->process_input_idle = 0;
}
-
+
while (server->incomming)
{
reply = server->incomming->data;
static char
make_valid_fs_char (char c)
{
- if (c == 0 || c == '/')
- return c + 1;
- return c;
+ char chars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890";
+
+ return chars[c % sizeof (chars)];
}
/* name must have at least space for 34 bytes */
{
o = 0;
name[o++] = '/';
- for (i = 0; i < 32/4; i++)
+ name[o++] = 'b';
+ name[o++] = 'd';
+ name[o++] = 'w';
+ name[o++] = '-';
+ for (i = 0; i < 32/4 - 1; i++)
{
r = g_random_int ();
name[o++] = make_valid_fs_char ((r >> 0) & 0xff);
memcpy (msg.name, data->name, 34);
msg.width = cairo_image_surface_get_width (surface);
msg.height = cairo_image_surface_get_height (surface);
-
- gdk_broadway_server_send_message (server, msg,
+
+ gdk_broadway_server_send_message (server, msg,
BROADWAY_REQUEST_UPDATE);
}
gboolean
_gdk_broadway_server_window_move_resize (GdkBroadwayServer *server,
gint id,
+ gboolean with_move,
int x,
int y,
int width,
BroadwayRequestMoveResize msg;
msg.id = id;
+ msg.with_move = with_move;
msg.x = x;
msg.y = y;
msg.width = width;
g_assert (reply->base.type == BROADWAY_REPLY_GRAB_POINTER);
status = reply->grab_pointer.status;
-
+
g_free (reply);
return status;
g_assert (reply->base.type == BROADWAY_REPLY_UNGRAB_POINTER);
status = reply->ungrab_pointer.status;
-
+
g_free (reply);
return status;