]> Pileus Git - ~andy/gtk/blobdiff - gdk/broadway/gdkbroadway-server.c
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gdk / broadway / gdkbroadway-server.c
index 0699778eec65f6cbe94c775e722565d879d2e765..2e3346954b5aecf5555312d11352f4bb0f85e8ec 100644 (file)
@@ -176,7 +176,7 @@ parse_all_input (GdkBroadwayServer *server)
 
       server->incomming = g_list_append (server->incomming, reply);
     }
-  
+
   if (p < end)
     memmove (server->recv_buffer, p, end - p);
   server->recv_buffer_size = end - p;
@@ -261,7 +261,7 @@ process_input_messages (GdkBroadwayServer *server)
       g_source_remove (server->process_input_idle);
       server->process_input_idle = 0;
     }
-  
+
   while (server->incomming)
     {
       reply = server->incomming->data;
@@ -504,9 +504,9 @@ _gdk_broadway_server_window_translate (GdkBroadwayServer *server,
 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 */
@@ -520,7 +520,11 @@ create_random_shm (char *name)
     {
       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);
@@ -609,14 +613,15 @@ _gdk_broadway_server_window_update (GdkBroadwayServer *server,
   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,
@@ -625,6 +630,7 @@ _gdk_broadway_server_window_move_resize (GdkBroadwayServer *server,
   BroadwayRequestMoveResize msg;
 
   msg.id = id;
+  msg.with_move = with_move;
   msg.x = x;
   msg.y = y;
   msg.width = width;
@@ -659,7 +665,7 @@ _gdk_broadway_server_grab_pointer (GdkBroadwayServer *server,
   g_assert (reply->base.type == BROADWAY_REPLY_GRAB_POINTER);
 
   status = reply->grab_pointer.status;
-  
+
   g_free (reply);
 
   return status;
@@ -682,7 +688,7 @@ _gdk_broadway_server_ungrab_pointer (GdkBroadwayServer *server,
   g_assert (reply->base.type == BROADWAY_REPLY_UNGRAB_POINTER);
 
   status = reply->ungrab_pointer.status;
-  
+
   g_free (reply);
 
   return status;