diff src/xfns.c @ 38542:27905f0c73b7

(valid_image_p): Protect better against invalid image specifications.
author Gerd Moellmann <gerd@gnu.org>
date Tue, 24 Jul 2001 11:28:18 +0000
parents 3238db7bdfef
children 58603538f196
line wrap: on
line diff
--- a/src/xfns.c	Tue Jul 24 11:21:40 2001 +0000
+++ b/src/xfns.c	Tue Jul 24 11:28:18 2001 +0000
@@ -5318,11 +5318,22 @@
   
   if (CONSP (object) && EQ (XCAR (object), Qimage))
     {
-      Lisp_Object symbol = Fplist_get (XCDR (object), QCtype);
-      struct image_type *type = lookup_image_type (symbol);
-      
-      if (type)
-	valid_p = type->valid_p (object);
+      Lisp_Object tem;
+
+      for (tem = XCDR (object); CONSP (tem); tem = XCDR (tem))
+	if (EQ (XCAR (tem), QCtype))
+	  {
+	    tem = XCDR (tem);
+	    if (CONSP (tem) && SYMBOLP (XCAR (tem)))
+	      {
+		struct image_type *type;
+		type = lookup_image_type (XCAR (tem));
+		if (type)
+		  valid_p = type->valid_p (object);
+	      }
+	    
+	    break;
+	  }
     }
 
   return valid_p;