From: Paul Eggert Date: Thu, 28 Jul 2011 09:40:05 +0000 (-0700) Subject: * image.c (x_check_image_size) [!HAVE_X_WINDOWS]: Return 1. X-Git-Tag: emacs-pretest-24.0.90~104^2~159^2~5 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=476371c4fd0e57d0aaf53c59e473ab705c8c4047;p=emacs.git * 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. --- diff --git a/src/ChangeLog b/src/ChangeLog index 7da6dcbee8f..045c4311789 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2011-07-28 Paul Eggert + + * 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 * regex.c (re_iswctype): Convert return values to boolean. diff --git a/src/image.c b/src/image.c index 7a5ac40b3d2..fb1d825fa54 100644 --- a/src/image.c +++ b/src/image.c @@ -1906,16 +1906,17 @@ static int x_create_x_image_and_pixmap (struct frame *, int, int, int, 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 @@ x_check_image_size (XImagePtr ximg, int width, int height) } 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