[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#448360: marked as done (Doesn't deal correctly with MIT-SHM extension not supporting shared pixmaps)



Your message dated Mon, 03 Dec 2007 14:32:08 +0000
with message-id <E1IzCLA-00081p-IE@ries.debian.org>
and subject line Bug#448360: fixed in imlib 1.9.15-4
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: imlib
Version: 1.9.15-3
Severity: important
Tags: patch

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


* The boolean value returned via the last parameter to XShmQueryVersion()
  isn't honoured everywhere.
* The init functions that take parameters allow the caller to enable shared
  pixmaps when they aren't supported (or disabled by configuration files).


These result in incorrect rendering when the MIT-SHM extension doesn't support
shared pixmaps, e.g. using EXA with current versions of Xorg. I wonder if bug
#414886 could be related to this as well.


The attached patch fixes these problems.


- -- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable'), (102, 'experimental'), (101, 'gutsy-security'), (101, 'gutsy')
Architecture: powerpc (ppc)

Kernel: Linux 2.6.22-2-powerpc
Locale: LANG=de_CH.UTF-8, LC_CTYPE=de_CH.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHJIvfWoGvjmrbsgARAjzeAJ4lRlU51siRJqZ0F31O7gQ3gaB4MQCghFuP
69tNXBdrxUBKM0apVhGqquI=
=2rTi
-----END PGP SIGNATURE-----
diff -up -ru imlib-1.9.15.orig/gdk_imlib/misc.c imlib-1.9.15/gdk_imlib/misc.c
--- imlib-1.9.15.orig/gdk_imlib/misc.c	2002-03-04 18:06:32.000000000 +0100
+++ imlib-1.9.15/gdk_imlib/misc.c	2007-10-28 14:00:04.000000000 +0100
@@ -674,6 +674,10 @@ gdk_imlib_init_params(GdkImlibInitParams
   visual = gdk_rgb_get_visual();
   id->x.visual = GDK_VISUAL_XVISUAL(visual);	/* the visual type */
   id->x.depth = visual->depth;	/* the depth of the screen in bpp */
+
+  id->x.shm = 0;
+  id->x.shmp = 0;
+  id->max_shm = 0;
 #ifdef HAVE_SHM
   if (XShmQueryExtension(id->x.disp))
     {
@@ -689,17 +693,14 @@ gdk_imlib_init_params(GdkImlibInitParams
 	      id->x.last_xim = NULL;
 	      id->x.last_sxim = NULL;
 	      id->max_shm = 0x7fffffff;
-	      if (XShmPixmapFormat(id->x.disp) == ZPixmap)
+	      if ((XShmPixmapFormat(id->x.disp) == ZPixmap) &&
+		  (pm == True))
 		id->x.shmp = 1;
 	    }
 	}
     }
-  else
 #endif
-    {
-      id->x.shm = 0;
-      id->x.shmp = 0;
-    }
+
   id->cache.on_image = 0;
   id->cache.size_image = 0;
   id->cache.num_image = 0;
@@ -935,8 +936,8 @@ gdk_imlib_init_params(GdkImlibInitParams
 	}
       if (p->flags & PARAMS_SHAREDPIXMAPS)
 	{
-	  if (id->x.shm)
-	    id->x.shmp = p->sharedpixmaps;
+	  if (!p->sharedpixmaps)
+	    id->x.shmp = 0;
 	}
       if (p->flags & PARAMS_PALETTEOVERRIDE)
 	override = p->paletteoverride;
diff -up -ru imlib-1.9.15.orig/Imlib/misc.c imlib-1.9.15/Imlib/misc.c
--- imlib-1.9.15.orig/Imlib/misc.c	2004-09-21 02:22:59.000000000 +0200
+++ imlib-1.9.15/Imlib/misc.c	2007-10-28 14:00:23.000000000 +0100
@@ -675,6 +675,10 @@ Imlib_init_with_params(Display * disp, I
   id->x.root = DefaultRootWindow(disp);		/* the root window id */
   id->x.visual = DefaultVisual(disp, id->x.screen);	/* the visual type */
   id->x.depth = DefaultDepth(disp, id->x.screen);	/* the depth of the screen in bpp */
+
+  id->x.shm = 0;
+  id->x.shmp = 0;
+  id->max_shm = 0;
 #ifdef HAVE_SHM
   if (XShmQueryExtension(id->x.disp))
     {
@@ -690,17 +694,14 @@ Imlib_init_with_params(Display * disp, I
 	      id->x.last_xim = NULL;
 	      id->x.last_sxim = NULL;
 	      id->max_shm = 0x7fffffff;
-	      if (XShmPixmapFormat(id->x.disp) == ZPixmap)
+	      if ((XShmPixmapFormat(id->x.disp) == ZPixmap &&
+		   (pm == True)))
 		id->x.shmp = 1;
 	    }
 	}
     }
-  else
 #endif
-    {
-      id->x.shm = 0;
-      id->x.shmp = 0;
-    }
+
   id->cache.on_image = 0;
   id->cache.size_image = 0;
   id->cache.num_image = 0;
@@ -952,8 +953,8 @@ Imlib_init_with_params(Display * disp, I
 	}
       if (p->flags & PARAMS_SHAREDPIXMAPS)
 	{
-	  if (id->x.shm)
-	    id->x.shmp = p->sharedpixmaps;
+	  if (!p->sharedpixmaps)
+	    id->x.shmp = 0;
 	}
       if (p->flags & PARAMS_PALETTEOVERRIDE)
 	override = p->paletteoverride;

--- End Message ---
--- Begin Message ---
Source: imlib
Source-Version: 1.9.15-4

We believe that the bug you reported is fixed in the latest version of
imlib, which is due to be installed in the Debian FTP archive:

gdk-imlib11-dev_1.9.15-4_i386.deb
  to pool/main/i/imlib/gdk-imlib11-dev_1.9.15-4_i386.deb
gdk-imlib11_1.9.15-4_i386.deb
  to pool/main/i/imlib/gdk-imlib11_1.9.15-4_i386.deb
gdk-imlib1_1.9.15-4_all.deb
  to pool/main/i/imlib/gdk-imlib1_1.9.15-4_all.deb
imlib-base_1.9.15-4_all.deb
  to pool/main/i/imlib/imlib-base_1.9.15-4_all.deb
imlib11-dev_1.9.15-4_i386.deb
  to pool/main/i/imlib/imlib11-dev_1.9.15-4_i386.deb
imlib11_1.9.15-4_i386.deb
  to pool/main/i/imlib/imlib11_1.9.15-4_i386.deb
imlib_1.9.15-4.diff.gz
  to pool/main/i/imlib/imlib_1.9.15-4.diff.gz
imlib_1.9.15-4.dsc
  to pool/main/i/imlib/imlib_1.9.15-4.dsc



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 448360@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Julien Cristau <jcristau@debian.org> (supplier of updated imlib package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Mon, 03 Dec 2007 14:55:26 +0100
Source: imlib
Binary: gdk-imlib1 gdk-imlib11-dev gdk-imlib11 imlib11 imlib-base imlib11-dev
Architecture: source i386 all
Version: 1.9.15-4
Distribution: unstable
Urgency: low
Maintainer: Debian QA Group <packages@qa.debian.org>
Changed-By: Julien Cristau <jcristau@debian.org>
Description: 
 gdk-imlib1 - compatibility package for gdk-imlib11
 gdk-imlib11 - imaging library for use with gtk
 gdk-imlib11-dev - Header files needed for Gdk-Imlib development
 imlib-base - Common files needed by the Imlib/Gdk-Imlib packages
 imlib11    - Imlib is an imaging library for X and X11
 imlib11-dev - Imlib is an imaging library for X and X11
Closes: 448360
Changes: 
 imlib (1.9.15-4) unstable; urgency=low
 .
   * QA upload.
 .
   [ Michel Dänzer ]
   * Fix incorrect rendering when the MIT-SHM extension doesn't support shared
     pixmaps, e.g. using EXA with current versions of Xorg:
     + the boolean value returned via the last parameter to XShmQueryVersion()
       isn't honoured everywhere
     + the init functions that take parameters allow the caller to enable
       shared pixmaps when they aren't supported (or disabled by configuration
       files)
     Closes: #448360.
Files: 
 2a002aa476c8a6558613ecce8249cb16 815 graphics optional imlib_1.9.15-4.dsc
 b83f952940b7785110ed82960d90b1d6 362037 graphics optional imlib_1.9.15-4.diff.gz
 4a1bac6b395378b2e4f7a1da9ac9f053 24052 graphics optional imlib-base_1.9.15-4_all.deb
 b82867a608eb09f325bf7c382355b16d 16356 oldlibs optional gdk-imlib1_1.9.15-4_all.deb
 82cf3221f85e3fbb0051aa210779c0fb 85498 oldlibs optional imlib11_1.9.15-4_i386.deb
 4b67f374a165e63acfe063b54e8fc8d3 90300 libdevel optional imlib11-dev_1.9.15-4_i386.deb
 c2b7974e42f07ed85dccc9106b9359aa 94076 oldlibs optional gdk-imlib11_1.9.15-4_i386.deb
 83d22f14d2da18d8a9dd5a6d7ea1ad2f 78530 oldlibs optional gdk-imlib11-dev_1.9.15-4_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHVA0ImEvTgKxfcAwRApltAJ43KJXVlR7mNTQNMGRptTx/jfaZfgCffqeq
fVRkAYdbcJPL4ST2PgcC1HQ=
=QNpJ
-----END PGP SIGNATURE-----



--- End Message ---

Reply to: