Hello community, here is the log from the commit of package imlib checked in at Thu Nov 8 23:06:10 CET 2007. -------- --- GNOME/imlib/imlib.changes 2007-07-23 07:37:24.000000000 +0200 +++ /mounts/work_src_done/STABLE/imlib/imlib.changes 2007-11-07 14:11:41.000000000 +0100 @@ -1,0 +2,6 @@ +Wed Nov 7 14:11:35 CET 2007 - pth@suse.de + +- Fix incorrect rendering when the MIT-SHM extension doesn't + support shared pixmaps (bugzilla 339315). + +------------------------------------------------------------------- New: ---- imlib-no_shared_pixmaps.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ imlib.spec ++++++ --- /var/tmp/diff_new_pack.E24198/_old 2007-11-08 23:05:08.000000000 +0100 +++ /var/tmp/diff_new_pack.E24198/_new 2007-11-08 23:05:08.000000000 +0100 @@ -12,12 +12,12 @@ Name: imlib BuildRequires: giflib-devel gtk-devel jpeg libjpeg libjpeg-devel libnetpbm libpng-devel libstdc++ libstdc++-devel libtiff-devel xorg-x11-devel -License: LGPL v2 or later +License: LGPL v2.1 or later Group: System/Libraries -Autoreqprov: on +AutoReqProv: on Summary: A Shared Library for Loading and Rendering 3D Images Version: 1.9.14 -Release: 286 +Release: 315 Source: ftp://ftp.gnome.org/pub/gnome/sources/imlib/1.9/imlib-%{version}.tar.bz2 Url: http://www.labs.redhat.com/imlib/ Patch: imlib-%{version}.patch @@ -35,6 +35,7 @@ Patch14: imlib-1.9.14-no_acconfig_h.diff Patch15: imlib-link.patch Patch16: imlib-CVE-2007-3568.patch +Patch17: imlib-no_shared_pixmaps.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -104,6 +105,7 @@ %patch14 %patch15 %patch16 +%patch17 %build %{?suse_update_config:%{suse_update_config -f}} @@ -148,8 +150,10 @@ %{_libdir}/*a %{_libdir}/pkgconfig/* %doc %{_mandir}/man?/*.* - %changelog +* Wed Nov 07 2007 - pth@suse.de +- Fix incorrect rendering when the MIT-SHM extension doesn't + support shared pixmaps (bugzilla 339315). * Mon Jul 23 2007 - aj@suse.de - Cleanup build requires. * Wed Jul 11 2007 - pth@suse.de ++++++ imlib-no_shared_pixmaps.patch ++++++ * 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. ================================================================================ --- Imlib/misc.c +++ Imlib/misc.c @@ -137,8 +137,7 @@ id->x.last_xim = NULL; id->x.last_sxim = NULL; id->max_shm = 0x7fffffff; - if ((XShmPixmapFormat(id->x.disp) == ZPixmap) && - (pm == True)) + if ((XShmPixmapFormat(id->x.disp) == ZPixmap) && (pm == True)) id->x.shmp = 1; } } @@ -675,6 +674,10 @@ 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 +693,14 @@ 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; @@ -949,8 +949,8 @@ } 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; --- gdk_imlib/misc.c +++ gdk_imlib/misc.c @@ -674,6 +674,10 @@ 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,13 @@ 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 +935,8 @@ } 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; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org