[maemo-commits] [maemo-commits] r13615 - in projects/haf/trunk/sapwood: . src

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Wed Sep 5 17:32:49 EEST 2007
Author: tko
Date: 2007-09-05 17:32:47 +0300 (Wed, 05 Sep 2007)
New Revision: 13615

Modified:
   projects/haf/trunk/sapwood/ChangeLog
   projects/haf/trunk/sapwood/src/sapwood-pixmap.c
Log:
Trap and print X errors individually to help debugging.

2007-09-05  Tommi Komulainen  <tommi.komulainen at nokia.com>

	* src/sapwood-pixmap.c (sapwood_pixmap_get_for_file): Trap and
	print X errors individually to help debugging.


Modified: projects/haf/trunk/sapwood/ChangeLog
===================================================================
--- projects/haf/trunk/sapwood/ChangeLog	2007-09-05 14:29:56 UTC (rev 13614)
+++ projects/haf/trunk/sapwood/ChangeLog	2007-09-05 14:32:47 UTC (rev 13615)
@@ -1,3 +1,8 @@
+2007-09-05  Tommi Komulainen  <tommi.komulainen at nokia.com>
+
+	* src/sapwood-pixmap.c (sapwood_pixmap_get_for_file): Trap and
+	print X errors individually to help debugging.
+
 2007-08-24  Tommi Komulainen  <tommi.komulainen at nokia.com>
 
 	* src/sapwood-draw.c (check_child_position): Initialize the position

Modified: projects/haf/trunk/sapwood/src/sapwood-pixmap.c
===================================================================
--- projects/haf/trunk/sapwood/src/sapwood-pixmap.c	2007-09-05 14:29:56 UTC (rev 13614)
+++ projects/haf/trunk/sapwood/src/sapwood-pixmap.c	2007-09-05 14:32:47 UTC (rev 13615)
@@ -183,37 +183,38 @@
       {
 	GdkPixmap *pixmap  = NULL;
 	GdkBitmap *pixmask = NULL;
+	int xerror;
 
-	/* XXX X errors */
-
-	gdk_error_trap_push ();
-
 	if (rep.pixmap[i][j])
 	  {
+	    gdk_error_trap_push ();
 	    pixmap = gdk_pixmap_foreign_new (rep.pixmap[i][j]);
-	    if (!pixmap)
+	    gdk_flush ();
+	    if ((xerror = gdk_error_trap_pop ()) || !pixmap)
 	      {
-		g_warning ("%s: pixmap[%d][%d]: gdk_pixmap_foreign_new(%x) failed", 
-			   g_basename (filename), i, j, rep.pixmap[i][j]);
+		g_warning ("%s: pixmap[%d][%d]: gdk_pixmap_foreign_new(%x) failed, X error = %d",
+			   g_basename (filename), i, j, rep.pixmap[i][j], xerror);
+		if (pixmap)
+		  g_object_unref (pixmap);
+		pixmap = NULL;
 	      }
 	  }
 
 	if (rep.pixmask[i][j])
 	  {
+	    gdk_error_trap_push ();
 	    pixmask = gdk_pixmap_foreign_new (rep.pixmask[i][j]);
-	    if (!pixmask)
+	    gdk_flush ();
+	    if ((xerror = gdk_error_trap_pop ()) || !pixmask)
 	      {
-		g_warning ("%s: pixmask[%d][%d]: gdk_pixmap_foreign_new(%x) failed", 
-			   g_basename (filename), i, j, rep.pixmask[i][j]);
+		g_warning ("%s: pixmask[%d][%d]: gdk_pixmap_foreign_new(%x) failed, X error = %d", 
+			   g_basename (filename), i, j, rep.pixmask[i][j], xerror);
+		if (pixmask)
+		  g_object_unref (pixmask);
+		pixmask = NULL;
 	      }
 	  }
 
-	gdk_flush ();
-	if (gdk_error_trap_pop ())
-	  {
-	    g_warning ("Aieeee");
-	  }
-
 	if (pixmask && !pixmap)
 	  {
 	    g_warning ("%s: pixmask[%d][%d]: no pixmap", g_basename (filename), i, j);


More information about the maemo-commits mailing list