Mercurial > emacs
changeset 55886:ae9227eb8392
Work around bugs/problems with MinGW builds of graphics libraries
called from MSVC builds of Emacs.
(lookup_image): Make pointer to img static.
(png_read_from_memory): Disable "global" optimization.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Wed, 02 Jun 2004 00:50:09 +0000 |
parents | 9d46d8e2e70b |
children | 4825e30273d1 |
files | src/image.c |
diffstat | 1 files changed, 18 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/image.c Wed Jun 02 00:43:56 2004 +0000 +++ b/src/image.c Wed Jun 02 00:50:09 2004 +0000 @@ -213,7 +213,7 @@ { UnlockPixels (GetGWorldPixMap (ximg)); } -#endif +#endif /* MAC_OS */ /* Functions to access the contents of a bitmap, given an id. */ @@ -1596,6 +1596,11 @@ Lisp_Object spec; { struct image_cache *c = FRAME_X_IMAGE_CACHE (f); +#ifdef _MSC_VER + /* Work around a problem with MinGW builds of graphics libraries + not honoring calling conventions. */ + static +#endif struct image *img; int i; unsigned hash; @@ -4238,7 +4243,7 @@ } #endif /* MAC_OS */ - + /*********************************************************************** @@ -5688,6 +5693,12 @@ PNG_PTR is a pointer to the PNG control structure. Copy LENGTH bytes from the input to DATA. */ +#ifdef _MSC_VER + /* Work around a problem with MinGW builds of graphics libraries + not honoring calling conventions. */ +#pragma optimize("g", off) +#endif + static void png_read_from_memory (png_ptr, data, length) png_structp png_ptr; @@ -5704,6 +5715,11 @@ tbr->index = tbr->index + length; } +#ifdef _MSC_VER +/* Restore normal optimization, as specified on the command line. */ +#pragma optimize("", on) +#endif + /* Load PNG image IMG for use on frame F. Value is non-zero if successful. */