# HG changeset patch # User youngs # Date 1050293517 0 # Node ID 9d77c73d41035a6b7adf89aef0ffa835a19d0f3b # Parent 44de306310b8abff2cabc83df242de561eda0945 [xemacs-hg @ 2003-04-14 04:11:55 by youngs] 2003-04-14 Steve Youngs * glyphs.c: * glyphs.c (nothing_instantiate): * glyphs.c (Fmake_glyph_internal): * glyphs.c (Fglyphp): * glyphs.c (glyph_image_instance): * glyphs.c (glyph_image_instance_maybe): * glyphs.c (glyph_width): Work around a problem compiling with --use-union-type using Intel's ICC compiler. From Martin Buchholz See diff -r 44de306310b8 -r 9d77c73d4103 src/ChangeLog --- a/src/ChangeLog Mon Apr 14 03:40:27 2003 +0000 +++ b/src/ChangeLog Mon Apr 14 04:11:57 2003 +0000 @@ -1,3 +1,18 @@ +2003-04-14 Steve Youngs + + * glyphs.c: + * glyphs.c (nothing_instantiate): + * glyphs.c (Fmake_glyph_internal): + * glyphs.c (Fglyphp): + * glyphs.c (glyph_image_instance): + * glyphs.c (glyph_image_instance_maybe): + * glyphs.c (glyph_width): + Work around a problem compiling with --use-union-type using + Intel's ICC compiler. + From Martin Buchholz + See + + 2003-04-08 Mike Sperber * Makefile.in.in ($(BLDSRC)/NEEDTODUMP): Depends on $(RAW_EXE). diff -r 44de306310b8 -r 9d77c73d4103 src/glyphs.c --- a/src/glyphs.c Mon Apr 14 03:40:27 2003 +0000 +++ b/src/glyphs.c Mon Apr 14 04:11:57 2003 +0000 @@ -2327,8 +2327,18 @@ Lisp_Object string = find_keyword_in_vector (instantiator, Q_data); Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); + assert (!NILP (string)); + /* Should never get here with a domain other than a window. */ - assert (!NILP (string) && WINDOWP (DOMAIN_WINDOW (domain))); +#ifndef NDEBUG + /* Work Around for an Intel Compiler 7.0 internal error */ + /* assert (WINDOWP (DOMAIN_WINDOW (domain))); internal error: 0_5086 */ + { + Lisp_Object w = DOMAIN_WINDOW (domain); + assert (WINDOWP (w)); + } +#endif + if (dest_mask & IMAGE_TEXT_MASK) { IMAGE_INSTANCE_TYPE (ii) = IMAGE_TEXT; @@ -3957,6 +3967,22 @@ return instance; } +inline static int +image_instance_needs_layout (Lisp_Object instance) +{ + Lisp_Image_Instance *ii = XIMAGE_INSTANCE (instance); + + if (IMAGE_INSTANCE_DIRTYP (ii) && IMAGE_INSTANCE_LAYOUT_CHANGED (ii)) + { + return 1; + } + else + { + Lisp_Object iif = IMAGE_INSTANCE_FRAME (ii); + return FRAMEP (iif) && XFRAME (iif)->size_changed; + } +} + /***************************************************************************** glyph_width @@ -3972,7 +3998,7 @@ if (!IMAGE_INSTANCEP (instance)) return 0; - if (XIMAGE_INSTANCE_NEEDS_LAYOUT (instance)) + if (image_instance_needs_layout (instance)) image_instance_layout (instance, IMAGE_UNSPECIFIED_GEOMETRY, IMAGE_UNSPECIFIED_GEOMETRY, IMAGE_UNCHANGED_GEOMETRY, @@ -4002,7 +4028,7 @@ if (!IMAGE_INSTANCEP (instance)) return 0; - if (XIMAGE_INSTANCE_NEEDS_LAYOUT (instance)) + if (image_instance_needs_layout (instance)) image_instance_layout (instance, IMAGE_UNSPECIFIED_GEOMETRY, IMAGE_UNSPECIFIED_GEOMETRY, IMAGE_UNCHANGED_GEOMETRY, @@ -4022,7 +4048,7 @@ if (!IMAGE_INSTANCEP (instance)) return 0; - if (XIMAGE_INSTANCE_NEEDS_LAYOUT (instance)) + if (image_instance_needs_layout (instance)) image_instance_layout (instance, IMAGE_UNSPECIFIED_GEOMETRY, IMAGE_UNSPECIFIED_GEOMETRY, IMAGE_UNCHANGED_GEOMETRY, @@ -4044,7 +4070,7 @@ if (!IMAGE_INSTANCEP (instance)) return 0; - if (XIMAGE_INSTANCE_NEEDS_LAYOUT (instance)) + if (image_instance_needs_layout (instance)) image_instance_layout (instance, IMAGE_UNSPECIFIED_GEOMETRY, IMAGE_UNSPECIFIED_GEOMETRY, IMAGE_UNCHANGED_GEOMETRY,