update to 1.4.4
changes: misc bugfixes and cleanup The code structure around Xshm has changed -- someone please check the Interix specific patches.
This commit is contained in:
parent
2b01a91e9e
commit
aae06f01a7
5 changed files with 51 additions and 103 deletions
|
@ -1,9 +1,9 @@
|
|||
# $NetBSD: Makefile,v 1.56 2011/03/09 16:26:48 drochner Exp $
|
||||
# $NetBSD: Makefile,v 1.57 2011/05/18 10:04:26 drochner Exp $
|
||||
|
||||
DISTNAME= imlib2-1.4.2
|
||||
PKGREVISION= 7
|
||||
DISTNAME= imlib2-1.4.4
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=enlightenment/}
|
||||
EXTRACT_SUFX= .tar.bz2
|
||||
|
||||
MAINTAINER= rh@NetBSD.org
|
||||
HOMEPAGE= http://docs.enlightenment.org/api/imlib2/html/
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
$NetBSD: distinfo,v 1.26 2011/01/31 10:23:44 wiz Exp $
|
||||
$NetBSD: distinfo,v 1.27 2011/05/18 10:04:26 drochner Exp $
|
||||
|
||||
SHA1 (imlib2-1.4.2.tar.gz) = 769ea1da26774cd7531d1d66432cf8d7d7b30c2b
|
||||
RMD160 (imlib2-1.4.2.tar.gz) = 9b1f40ee392c1e27c6a75bbf7e8c7fb379e74695
|
||||
Size (imlib2-1.4.2.tar.gz) = 932684 bytes
|
||||
SHA1 (patch-aa) = 034313d952ab98a690ba8ea40cde33bf6d5d0eac
|
||||
SHA1 (imlib2-1.4.4.tar.bz2) = aca2cf5d40ddcd8a3acfde605f319fccce7c2a2b
|
||||
RMD160 (imlib2-1.4.4.tar.bz2) = 0206b97134fa55c35e2ab1a2e103e5341770d88b
|
||||
Size (imlib2-1.4.4.tar.bz2) = 888878 bytes
|
||||
SHA1 (patch-ab) = 47f0165c3a4abfc6de1078768104b8e2acd2e9b5
|
||||
SHA1 (patch-ac) = 02e6706b640a6e51cb028447e56ceb65816c64d2
|
||||
SHA1 (patch-ac) = cf2ddba76a50ae4082ad984aaf6f43857d5a5175
|
||||
SHA1 (patch-ad) = 3dc74b7804fde49f6fa0f0b8fe8c1bd87b37535a
|
||||
SHA1 (patch-ae) = 8cb6e0f0fa1220b2e6840b19256eaf8cd947b63b
|
||||
SHA1 (patch-ae) = 9a2838ebfebe2db8bcd1f5fbe13a680122f0f8c0
|
||||
SHA1 (patch-af) = 9ee80e6dac9cc182ac847ac0b8c215352ee99290
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
$NetBSD: patch-aa,v 1.13 2011/01/31 10:22:26 wiz Exp $
|
||||
|
||||
Debian patch to fix a buffer overflow in the XPM file loader.
|
||||
|
||||
--- src/modules/loaders/loader_xpm.c.orig 2008-10-21 03:32:51.000000000 +0100
|
||||
+++ src/modules/loaders/loader_xpm.c 2008-11-23 18:36:37.000000000 +0000
|
||||
@@ -253,8 +253,8 @@
|
||||
return 0;
|
||||
}
|
||||
ptr = im->data;
|
||||
- end = ptr + (sizeof(DATA32) * w * h);
|
||||
pixels = w * h;
|
||||
+ end = ptr + pixels;
|
||||
}
|
||||
else
|
||||
{
|
|
@ -1,76 +1,41 @@
|
|||
$NetBSD: patch-ac,v 1.6 2011/01/31 10:22:26 wiz Exp $
|
||||
|
||||
Use my_lround() on Interix too.
|
||||
$NetBSD: patch-ac,v 1.7 2011/05/18 10:04:26 drochner Exp $
|
||||
|
||||
Add minimalist #ifndef blocks to rip out XShm support on Interix.
|
||||
|
||||
--- src/lib/grab.c.orig 2007-02-16 12:58:53.000000000 +0100
|
||||
--- src/lib/grab.c.orig 2010-05-05 18:25:50.000000000 +0000
|
||||
+++ src/lib/grab.c
|
||||
@@ -539,7 +539,9 @@ __imlib_GrabDrawableToRGBA(DATA32 * data
|
||||
@@ -530,7 +530,9 @@ __imlib_GrabDrawableToRGBA(DATA32 * data
|
||||
int i;
|
||||
int src_x, src_y, src_w, src_h, origw, origh;
|
||||
int width, height, clipx, clipy;
|
||||
+#ifndef __INTERIX
|
||||
XShmSegmentInfo shminfo, mshminfo;
|
||||
+#endif /* !__INTERIX */
|
||||
XImage *xim = NULL, *mxim = NULL;
|
||||
static signed char x_does_shm = -1;
|
||||
+#endif
|
||||
XImage *xim, *mxim;
|
||||
XColor cols[256];
|
||||
@@ -673,14 +675,17 @@ __imlib_GrabDrawableToRGBA(DATA32 * data
|
||||
/* Create an Ximage (shared or not) */
|
||||
if (x_does_shm < 0)
|
||||
{
|
||||
+#ifndef __INTERIX
|
||||
if (XShmQueryExtension(d))
|
||||
x_does_shm = 1;
|
||||
else
|
||||
+#endif /* !__INTERIX */
|
||||
x_does_shm = 0;
|
||||
}
|
||||
|
||||
prev_erh = XSetErrorHandler((XErrorHandler) Tmp_HandleXError);
|
||||
@@ -665,11 +667,13 @@ __imlib_GrabDrawableToRGBA(DATA32 * data
|
||||
__imlib_ShmCheck(d);
|
||||
|
||||
xim = NULL;
|
||||
+#ifndef __INTERIX
|
||||
if (x_does_shm)
|
||||
{
|
||||
_x_err = 0;
|
||||
@@ -727,6 +732,7 @@ __imlib_GrabDrawableToRGBA(DATA32 * data
|
||||
}
|
||||
}
|
||||
xim = __imlib_ShmGetXImage(d, v, p, xatt.depth, x, y, w, h, &shminfo);
|
||||
is_shm = xim != NULL;
|
||||
}
|
||||
+#endif /* !__INTERIX */
|
||||
if (!is_shm)
|
||||
if (!xim)
|
||||
xim = XGetImage(d, p, x, y, w, h, 0xffffffff, ZPixmap);
|
||||
if (!xim)
|
||||
@@ -739,6 +745,7 @@ __imlib_GrabDrawableToRGBA(DATA32 * data
|
||||
if ((m) && (domask))
|
||||
{
|
||||
_x_err = 0;
|
||||
+#ifndef __INTERIX
|
||||
if (x_does_shm)
|
||||
{
|
||||
mxim = XShmCreateImage(d, v, 1, ZPixmap, NULL, &mshminfo, w, h);
|
||||
@@ -786,6 +793,7 @@ __imlib_GrabDrawableToRGBA(DATA32 * data
|
||||
}
|
||||
}
|
||||
}
|
||||
+#endif /* !__INTERIX */
|
||||
if (!is_mshm)
|
||||
mxim = XGetImage(d, m, 0, 0, w, h, 0xffffffff, ZPixmap);
|
||||
}
|
||||
@@ -844,6 +852,7 @@ __imlib_GrabDrawableToRGBA(DATA32 * data
|
||||
@@ -740,8 +744,10 @@ __imlib_GrabDrawableToRGBA(DATA32 * data
|
||||
d, xim, mxim, v, xatt.depth, x, y, w, h, 0);
|
||||
|
||||
/* destroy the Ximage */
|
||||
+#ifndef __INTERIX
|
||||
if (is_shm)
|
||||
{
|
||||
XSync(d, False);
|
||||
@@ -857,6 +866,7 @@ __imlib_GrabDrawableToRGBA(DATA32 * data
|
||||
shmdt(mshminfo.shmaddr);
|
||||
shmctl(mshminfo.shmid, IPC_RMID, 0);
|
||||
}
|
||||
__imlib_ShmDetach(d, &shminfo);
|
||||
+#endif /* !__INTERIX */
|
||||
XDestroyImage(xim);
|
||||
if (created_mask)
|
||||
XFreePixmap(d, m);
|
||||
if (mxim)
|
||||
{
|
||||
|
|
|
@ -1,37 +1,38 @@
|
|||
$NetBSD: patch-ae,v 1.5 2011/01/31 10:22:26 wiz Exp $
|
||||
|
||||
Use my_lround() on Interix too.
|
||||
$NetBSD: patch-ae,v 1.6 2011/05/18 10:04:26 drochner Exp $
|
||||
|
||||
Add minimalist #ifndef blocks to rip out XShm support on Interix.
|
||||
|
||||
--- src/lib/ximage.c.orig 2004-11-01 04:39:42.000000000 -0500
|
||||
--- src/lib/ximage.c.orig 2010-05-05 18:25:50.000000000 +0000
|
||||
+++ src/lib/ximage.c
|
||||
@@ -81,8 +81,10 @@ __imlib_FlushXImage(Display * d)
|
||||
@@ -36,11 +36,13 @@ TmpXError(Display * d, XErrorEvent * ev)
|
||||
void
|
||||
__imlib_ShmCheck(Display * d)
|
||||
{
|
||||
+#ifndef __INTERIX
|
||||
/* if its there set x_does_shm flag */
|
||||
if (XShmQueryExtension(d))
|
||||
x_does_shm = 2; /* 2: __imlib_ShmGetXImage tests first XShmAttach */
|
||||
/* clear the flag - no shm at all */
|
||||
else
|
||||
+#endif /* !__INTERIX */
|
||||
x_does_shm = 0;
|
||||
}
|
||||
|
||||
@@ -185,11 +187,13 @@ __imlib_FlushXImage(Display * d)
|
||||
|
||||
xim = list_xim[i];
|
||||
list_mem_use -= xim->bytes_per_line * xim->height;
|
||||
+#ifndef __INTERIX
|
||||
if (list_si[i])
|
||||
XShmDetach(d, list_si[i]);
|
||||
{
|
||||
__imlib_ShmDetach(d, list_si[i]);
|
||||
free(list_si[i]);
|
||||
}
|
||||
+#endif /* !__INTERIX */
|
||||
XDestroyImage(xim);
|
||||
if (list_si[i])
|
||||
{
|
||||
@@ -163,11 +165,13 @@ __imlib_ProduceXImage(Display * d, Visua
|
||||
/* if we havent check the shm extension before - see if its there */
|
||||
if (x_does_shm < 0)
|
||||
{
|
||||
+#ifndef __INTERIX
|
||||
/* if its there set dose_xhm flag */
|
||||
if (XShmQueryExtension(d))
|
||||
x_does_shm = 1;
|
||||
/* clear the flag - no shm at all */
|
||||
else
|
||||
+#endif
|
||||
x_does_shm = 0;
|
||||
}
|
||||
/* find a cached XImage (to avoid server to & fro) that is big enough */
|
||||
@@ -219,6 +223,7 @@ __imlib_ProduceXImage(Display * d, Visua
|
||||
list_num--;
|
||||
for (j = i; j < list_num; j++)
|
||||
@@ -316,12 +320,14 @@ __imlib_ProduceXImage(Display * d, Visua
|
||||
|
||||
/* work on making a shared image */
|
||||
xim = NULL;
|
||||
|
@ -39,11 +40,10 @@ Add minimalist #ifndef blocks to rip out XShm support on Interix.
|
|||
/* if the server does shm */
|
||||
if (x_does_shm)
|
||||
{
|
||||
@@ -301,6 +306,7 @@ __imlib_ProduceXImage(Display * d, Visua
|
||||
}
|
||||
}
|
||||
xim = __imlib_ShmGetXImage(d, v, None, depth, 0, 0, w, h,
|
||||
list_si[list_num - 1]);
|
||||
}
|
||||
+#endif /* !__INTERIX */
|
||||
/* ok if xim == NULL it all failed - fall back to XImages */
|
||||
if (!xim)
|
||||
if (xim)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue