emacs-diffs
[Top][All Lists]
Advanced

[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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]