tinus <o112w8r02@sneakemail.com>

Add a Initialized member to TEXTOBJ so it isn't reinitialized all the time.

svn path=/trunk/; revision=13934
This commit is contained in:
Filip Navara 2005-03-11 18:34:44 +00:00
parent c350cae866
commit ec996ca887
2 changed files with 8 additions and 0 deletions

View file

@ -7,6 +7,7 @@ typedef struct
{ {
LOGFONTW logfont; LOGFONTW logfont;
FONTOBJ *Font; FONTOBJ *Font;
BOOLEAN Initialized; /* Don't reinitialize for each DC */
} TEXTOBJ, *PTEXTOBJ; } TEXTOBJ, *PTEXTOBJ;
/* Internal interface */ /* Internal interface */

View file

@ -2971,6 +2971,12 @@ TextIntRealizeFont(HFONT FontHandle)
return STATUS_INVALID_HANDLE; return STATUS_INVALID_HANDLE;
} }
if (TextObj->Initialized)
{
TEXTOBJ_UnlockText(FontHandle);
return STATUS_SUCCESS;
}
if (! RtlCreateUnicodeString(&FaceName, TextObj->logfont.lfFaceName)) if (! RtlCreateUnicodeString(&FaceName, TextObj->logfont.lfFaceName))
{ {
TEXTOBJ_UnlockText(FontHandle); TEXTOBJ_UnlockText(FontHandle);
@ -3003,6 +3009,7 @@ TextIntRealizeFont(HFONT FontHandle)
} }
else else
{ {
TextObj->Initialized = TRUE;
Status = STATUS_SUCCESS; Status = STATUS_SUCCESS;
} }