[maemo-commits] [maemo-commits] r17929 - in projects/haf/branches/sapwood/rgba-ng: . engine protocol server tests

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Wed Apr 1 13:15:18 EEST 2009
Author: herzi
Date: 2009-04-01 13:15:15 +0300 (Wed, 01 Apr 2009)
New Revision: 17929

Modified:
   projects/haf/branches/sapwood/rgba-ng/ChangeLog
   projects/haf/branches/sapwood/rgba-ng/engine/sapwood-pixmap.c
   projects/haf/branches/sapwood/rgba-ng/protocol/sapwood-proto.h
   projects/haf/branches/sapwood/rgba-ng/server/sapwood-server.c
   projects/haf/branches/sapwood/rgba-ng/tests/double-free.c
Log:
2009-01-08  Sven Herzberg  <sven at imendio.com>

	Added a depth field to the PixbufOpenRequest

	To be able to support both 24-bit and 32-bit windows with proper
	pixmaps, we're going to require being able to separate between the
	requests.

	* engine/sapwood-pixmap.c (sapwood_pixmap_get_for_file): set the depth
	to 24 by default now
	* protocol/sapwood-proto.h: added a depth field, so the engine can
	tell the server which pixmap to provide
	* server/sapwood-server.c (extract_pixmap_single),
	(pixbuf_open_response_new): require the depth to be 24 in any
	situation now
	* tests/double-free.c: set the depth to 24 by default now



Modified: projects/haf/branches/sapwood/rgba-ng/ChangeLog
===================================================================
--- projects/haf/branches/sapwood/rgba-ng/ChangeLog	2009-04-01 10:15:10 UTC (rev 17928)
+++ projects/haf/branches/sapwood/rgba-ng/ChangeLog	2009-04-01 10:15:15 UTC (rev 17929)
@@ -1,3 +1,20 @@
+2009-01-08  Sven Herzberg  <sven at imendio.com>
+
+	Added a depth field to the PixbufOpenRequest
+
+	To be able to support both 24-bit and 32-bit windows with proper
+	pixmaps, we're going to require being able to separate between the
+	requests.
+
+	* engine/sapwood-pixmap.c (sapwood_pixmap_get_for_file): set the depth
+	to 24 by default now
+	* protocol/sapwood-proto.h: added a depth field, so the engine can
+	tell the server which pixmap to provide
+	* server/sapwood-server.c (extract_pixmap_single),
+	(pixbuf_open_response_new): require the depth to be 24 in any
+	situation now
+	* tests/double-free.c: set the depth to 24 by default now
+
 2009-01-09  Sven Herzberg  <sven at imendio.com>
 
 	Be able to choose the depth of the pixmap by providing a colormap

Modified: projects/haf/branches/sapwood/rgba-ng/engine/sapwood-pixmap.c
===================================================================
--- projects/haf/branches/sapwood/rgba-ng/engine/sapwood-pixmap.c	2009-04-01 10:15:10 UTC (rev 17928)
+++ projects/haf/branches/sapwood/rgba-ng/engine/sapwood-pixmap.c	2009-04-01 10:15:15 UTC (rev 17929)
@@ -108,6 +108,7 @@
 
   req->base.op       = PIXBUF_OP_OPEN;
   req->base.length   = sizeof(*req) + flen + 1;
+  req->depth         = 24;
   req->border_left   = border_left;
   req->border_right  = border_right;
   req->border_top    = border_top;

Modified: projects/haf/branches/sapwood/rgba-ng/protocol/sapwood-proto.h
===================================================================
--- projects/haf/branches/sapwood/rgba-ng/protocol/sapwood-proto.h	2009-04-01 10:15:10 UTC (rev 17928)
+++ projects/haf/branches/sapwood/rgba-ng/protocol/sapwood-proto.h	2009-04-01 10:15:15 UTC (rev 17929)
@@ -43,6 +43,7 @@
   guint16 border_right;
   guint16 border_top;
   guint16 border_bottom;
+  guint32 depth;
   gchar   filename[0];          /* null terminated, absolute filename */
 } PixbufOpenRequest;
 

Modified: projects/haf/branches/sapwood/rgba-ng/server/sapwood-server.c
===================================================================
--- projects/haf/branches/sapwood/rgba-ng/server/sapwood-server.c	2009-04-01 10:15:10 UTC (rev 17928)
+++ projects/haf/branches/sapwood/rgba-ng/server/sapwood-server.c	2009-04-01 10:15:15 UTC (rev 17929)
@@ -105,8 +105,8 @@
                 GDK_WINDOW_TYPE_HINT_NORMAL, /* GdkWindowTypeHint type_hint */
         };
         GdkScreen* screen = gdk_screen_get_default ();
-        attrs.visual = gdk_screen_get_rgb_visual (screen);
         attrs.colormap = gdk_screen_get_rgb_colormap (screen);
+        attrs.visual = gdk_colormap_get_visual (attrs.colormap);
         rgba_window = gdk_window_new (gdk_screen_get_root_window (screen), &attrs,
                                  GDK_WA_VISUAL | GDK_WA_COLORMAP);
   }
@@ -259,6 +259,8 @@
   GdkPixbuf         *pixbuf;
   GError            *err = NULL;
 
+  g_return_val_if_fail (req->depth == 24, NULL);
+
   pixbuf = gdk_pixbuf_new_from_file (req->filename, &err);
   if (pixbuf)
     {

Modified: projects/haf/branches/sapwood/rgba-ng/tests/double-free.c
===================================================================
--- projects/haf/branches/sapwood/rgba-ng/tests/double-free.c	2009-04-01 10:15:10 UTC (rev 17928)
+++ projects/haf/branches/sapwood/rgba-ng/tests/double-free.c	2009-04-01 10:15:15 UTC (rev 17929)
@@ -108,6 +108,7 @@
                              int         border_right,
                              int         border_top,
                              int         border_bottom,
+                             int         depth,
                              GError    **err)
 {
   SapwoodPixmap     *self;
@@ -129,6 +130,7 @@
   req->base.length   = sizeof(*req) + flen + 1;
   req->border_left   = border_left;
   req->border_right  = border_right;
+  req->depth         = depth;
   req->border_top    = border_top;
   req->border_bottom = border_bottom;
 
@@ -172,7 +174,7 @@
   GError* error = NULL;
 
   path = g_file_get_path (image);
-  pixmap = sapwood_pixmap_get_for_file (path, 0, 0, 0, 0, &error);
+  pixmap = sapwood_pixmap_get_for_file (path, 0, 0, 0, 0, 24, &error);
   g_free (path);
 
   if (!pixmap)


More information about the maemo-commits mailing list