[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r105333: * image.c (x_check_image_siz
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r105333: * image.c (x_check_image_size) [!HAVE_X_WINDOWS]: Return 1. |
Date: |
Thu, 28 Jul 2011 02:40:05 -0700 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 105333
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Thu 2011-07-28 02:40:05 -0700
message:
* image.c (x_check_image_size) [!HAVE_X_WINDOWS]: Return 1.
In other words, assume that every image size is allowed, on non-X
hosts. This assumption is probably wrong, but it lets Emacs compile.
modified:
src/ChangeLog
src/image.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2011-07-28 09:34:13 +0000
+++ b/src/ChangeLog 2011-07-28 09:40:05 +0000
@@ -1,3 +1,9 @@
+2011-07-28 Paul Eggert <address@hidden>
+
+ * image.c (x_check_image_size) [!HAVE_X_WINDOWS]: Return 1.
+ In other words, assume that every image size is allowed, on non-X
+ hosts. This assumption is probably wrong, but it lets Emacs compile.
+
2011-07-28 Andreas Schwab <address@hidden>
* regex.c (re_iswctype): Convert return values to boolean.
=== modified file 'src/image.c'
--- a/src/image.c 2011-07-14 06:20:53 +0000
+++ b/src/image.c 2011-07-28 09:40:05 +0000
@@ -1906,16 +1906,17 @@
static void x_destroy_x_image (XImagePtr);
static void x_put_x_image (struct frame *, XImagePtr, Pixmap, int, int);
-/* Return nonzero if XIMG's size WIDTH x HEIGHT doesn't break X.
+/* Return nonzero if XIMG's size WIDTH x HEIGHT doesn't break the
+ windowing system.
WIDTH and HEIGHT must both be positive.
If XIMG is null, assume it is a bitmap. */
static int
x_check_image_size (XImagePtr ximg, int width, int height)
{
+#ifdef HAVE_X_WINDOWS
/* Respect Xlib's limits: it cannot deal with images that have more
than INT_MAX (and/or UINT_MAX) bytes. And respect Emacs's limits
- of PTRDIFF_MAX (and/or SIZE_MAX) bytes for any object. For now,
- assume all windowing systems have the same limits that X does. */
+ of PTRDIFF_MAX (and/or SIZE_MAX) bytes for any object. */
enum
{
XLIB_BYTES_MAX = min (INT_MAX, UINT_MAX),
@@ -1937,6 +1938,11 @@
}
return (width <= (INT_MAX - (bitmap_pad - 1)) / depth
&& height <= X_IMAGE_BYTES_MAX / bytes_per_line);
+#else
+ /* FIXME: Implement this check for the HAVE_NS and HAVE_NTGUI cases.
+ For now, assume that every image size is allowed on these systems. */
+ return 1;
+#endif
}
/* Create an XImage and a pixmap of size WIDTH x HEIGHT for use on
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r105333: * image.c (x_check_image_size) [!HAVE_X_WINDOWS]: Return 1.,
Paul Eggert <=