[maemo-commits] [maemo-commits] r17092 - in projects/haf/trunk/sapwood: . server

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Jan 12 12:53:29 EET 2009
Author: herzi
Date: 2009-01-12 12:53:25 +0200 (Mon, 12 Jan 2009)
New Revision: 17092

Modified:
   projects/haf/trunk/sapwood/ChangeLog
   projects/haf/trunk/sapwood/server/sapwood-server.c
Log:
2009-01-10  Sven Herzberg  <sven at imendio.com>

	Don't expect 24/32 bit pixmap depth, expect system_depth/32

	* server/sapwood-server.c (extract_pixmap_single),
	(pixbuf_open_response_new): replace the 24 with a better value;
	fixes running sapwood in a 16 bit Xephyr window


Modified: projects/haf/trunk/sapwood/ChangeLog
===================================================================
--- projects/haf/trunk/sapwood/ChangeLog	2009-01-12 10:47:36 UTC (rev 17091)
+++ projects/haf/trunk/sapwood/ChangeLog	2009-01-12 10:53:25 UTC (rev 17092)
@@ -1,3 +1,11 @@
+2009-01-10  Sven Herzberg  <sven at imendio.com>
+
+	Don't expect 24/32 bit pixmap depth, expect system_depth/32
+
+	* server/sapwood-server.c (extract_pixmap_single),
+	(pixbuf_open_response_new): replace the 24 with a better value;
+	fixes running sapwood in a 16 bit Xephyr window
+
 2009-01-09  Sven Herzberg  <sven at imendio.com>
 
 	Use 32-bit code if possible and requested

Modified: projects/haf/trunk/sapwood/server/sapwood-server.c
===================================================================
--- projects/haf/trunk/sapwood/server/sapwood-server.c	2009-01-12 10:47:36 UTC (rev 17091)
+++ projects/haf/trunk/sapwood/server/sapwood-server.c	2009-01-12 10:53:25 UTC (rev 17092)
@@ -86,7 +86,7 @@
   GdkPixmap    *pixmap;
   cairo_t      *cr;
 
-  g_assert (depth == 24 || depth == 32);
+  g_assert (depth == server_depth || depth == 32);
 
   if (G_UNLIKELY (!rgba_window)) {
         GdkWindowAttr attrs = {
@@ -112,13 +112,11 @@
                                  GDK_WA_VISUAL | GDK_WA_COLORMAP);
   }
 
-  switch (depth) {
-  case 24:
+  if (depth != 32) {
           pixmap = gdk_pixmap_new (NULL, width, height, server_depth);
 
           cr = gdk_cairo_create (pixmap);
-          break;
-  case 32:
+  } else {
           pixmap = gdk_pixmap_new (rgba_window, width, height, -1);
 
           cr = gdk_cairo_create (pixmap);
@@ -128,18 +126,13 @@
           cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.0);
           cairo_paint (cr);
           cairo_restore (cr);
-          break;
-  default:
-          pixmap = NULL;
-          g_assert_not_reached ();
-          break;
   }
 
   gdk_cairo_set_source_pixbuf (cr, pixbuf, -x, -y);
   cairo_paint (cr);
   cairo_destroy (cr);
 
-  if (depth == 24)
+  if (depth != 32)
     {
       gboolean need_mask = gdk_pixbuf_get_has_alpha (pixbuf);
       /* FIXME: if the mask would still be all ones, skip creating it altogether */
@@ -280,7 +273,7 @@
   GdkPixbuf         *pixbuf;
   GError            *err = NULL;
 
-  g_return_val_if_fail (req->depth == 24 || req->depth == 32, NULL);
+  g_return_val_if_fail (req->depth == server_depth || req->depth == 32, NULL);
 
   pixbuf = gdk_pixbuf_new_from_file (req->filename, &err);
   if (pixbuf)


More information about the maemo-commits mailing list