]> Pileus Git - ~andy/gtk/commitdiff
broadway: Make /dev/shm names nicer
authorAlexander Larsson <alexl@redhat.com>
Thu, 10 Jan 2013 22:59:23 +0000 (23:59 +0100)
committerAlexander Larsson <alexl@redhat.com>
Thu, 10 Jan 2013 22:59:23 +0000 (23:59 +0100)
demos/gtk-demo/main.c
gdk/broadway/TODO.broadway
gdk/broadway/gdkbroadway-server.c

index 935b86eeff560cf1db2f9b6afb689b388553899d..1c04a270408583e69a8f1a78871249e105284fad 100644 (file)
@@ -56,6 +56,9 @@ get_democodedir (void)
 
 #endif
 
+#undef DEMOCODEDIR
+#define DEMOCODEDIR getenv ("GTK_DEMO_DATA_DIR")
+
 /**
  * demo_find_file:
  * @base: base filename
index 2200bed6965890ace3c4d84d5a9ec6e01a279be2..a8af758fe2b2a27476a7b486d8b31b566dcd16af 100644 (file)
@@ -8,3 +8,4 @@ Send reset events on client disconnect (button up, normal state. Maybe grab stat
 rgba suport
 shift-select in gedit doesn't work
 backdrop mode
+clean up /dev/shm on abrupt client exit
index b67f2fe8e094a0e94b029786dd000db4455ef711..2e3346954b5aecf5555312d11352f4bb0f85e8ec 100644 (file)
@@ -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);