Subject: bug#1303: too many faces initialized for tooltip frames

From: Dan Nicolaescu <[email-masked]>
Date: Tue, 4 Nov 2008 00:36:52 -0800 (PST)

With this patch:

--- xrdb.c.~1.65.~	Tue Jun  3 15:23:17 2008
+++ xrdb.c	Tue Nov  4 00:31:35 2008
@@ -664,11 +664,19 @@
   XrmName namelist[100];
   XrmClass classlist[100];
   XrmRepresentation type;
+  Bool b;
 
   XrmStringToNameList(name, namelist);
   XrmStringToClassList(class, classlist);
 
-  if (XrmQGetResource (rdb, namelist, classlist, &type, &value) == True
+  
+  b = XrmQGetResource (rdb, namelist, classlist, &type, &value);
+  
+  fprintf (stderr, "XQGET: name=%s class=%s retv=%d expected_type=%d type=%d\n",
+  	   name, class, b, expected_type, type);
+
+  
+  if (b == True
       && (type == expected_type))
     {
       if (type == x_rm_string)

do 
emacs -Q 

an place the mouse over a place on the mode-line that has a tooltip

Hundreds of lines like these will be printed:

XQGET: name=tooltip.completions-first-difference.attributeUnderline class=Emacs.Face.AttributeUnderline retv=0 expected_type=132 type=0
XQGET: name=tooltip.completions-first-difference.attributeInverse class=Emacs.Face.AttributeInverse retv=0 expected_type=132 type=0
XQGET: name=tooltip.completions-first-difference.attributeStipple class=Emacs.Face.AttributeStipple retv=0 expected_type=132 type=0
XQGET: name=tooltip.completions-first-difference.attributeBackgroundPixmap class=Emacs.Face.AttributeBackgroundPixmap retv=0 expected_type=132 type=0
XQGET: name=tooltip.completions-first-difference.attributeBold class=Emacs.Face.AttributeBold retv=0 expected_type=132 type=0
XQGET: name=tooltip.completions-first-difference.attributeItalic class=Emacs.Face.AttributeItalic retv=0 expected_type=132 type=0
XQGET: name=tooltip.completions-first-difference.attributeFont class=Emacs.Face.AttributeFont retv=0 expected_type=132 type=0
XQGET: name=tooltip.completions-first-difference.attributeInherit class=Emacs.Face.AttributeInherit retv=0 expect

It seems like a waste to initialize all these faces that won't be used by the tooltips anyway.