Dylan Smith : richedit: Remove checks for converting internal CHARFORMAT structs.
Alexandre Julliard
julliard at winehq.org
Fri Jul 30 10:24:12 CDT 2010
Module: wine
Branch: master
Commit: 68b44f740c2fa5aee5ed00908ce42acbdc02fe5e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=68b44f740c2fa5aee5ed00908ce42acbdc02fe5e
Author: Dylan Smith <dylan.ah.smith at gmail.com>
Date: Thu Jul 29 14:06:08 2010 -0400
richedit: Remove checks for converting internal CHARFORMAT structs.
Prevents extra copying from having to be done for converting between
unicode/ascii or between the normal or extended version of the structure.
---
dlls/riched20/style.c | 20 +++++++-------------
1 files changed, 7 insertions(+), 13 deletions(-)
diff --git a/dlls/riched20/style.c b/dlls/riched20/style.c
index bb2f808..605faeb 100644
--- a/dlls/riched20/style.c
+++ b/dlls/riched20/style.c
@@ -139,21 +139,16 @@ void ME_CopyToCFAny(CHARFORMAT2W *to, CHARFORMAT2W *from)
CopyMemory(to, from, to->cbSize);
}
-ME_Style *ME_MakeStyle(CHARFORMAT2W *style) {
- CHARFORMAT2W styledata;
+ME_Style *ME_MakeStyle(CHARFORMAT2W *style)
+{
ME_Style *s = ALLOC_OBJ(ME_Style);
-
- style = ME_ToCF2W(&styledata, style);
- memset(s, 0, sizeof(ME_Style));
- if (style->cbSize <= sizeof(CHARFORMAT2W))
- CopyMemory(&s->fmt, style, style->cbSize);
- else
- s->fmt = *style;
- s->fmt.cbSize = sizeof(CHARFORMAT2W);
+ assert(style->cbSize == sizeof(CHARFORMAT2W));
+ s->fmt = *style;
s->nSequence = -2;
s->nRefs = 1;
s->hFont = NULL;
+ memset(&s->tm, 0, sizeof(s->tm));
s->tm.tmAscent = -1;
all_refs++;
TRACE_(richedit_style)("ME_MakeStyle %p, total refs=%d\n", s, all_refs);
@@ -171,7 +166,7 @@ ME_Style *ME_MakeStyle(CHARFORMAT2W *style) {
s->fmt.dwMask |= mask;\
CopyMemory(s->fmt.member, style->member, sizeof(style->member));\
}
-
+
void ME_InitCharFormat2W(CHARFORMAT2W *pFmt)
{
ZeroMemory(pFmt, sizeof(CHARFORMAT2W));
@@ -180,9 +175,8 @@ void ME_InitCharFormat2W(CHARFORMAT2W *pFmt)
ME_Style *ME_ApplyStyle(ME_Style *sSrc, CHARFORMAT2W *style)
{
- CHARFORMAT2W styledata;
ME_Style *s = ME_MakeStyle(&sSrc->fmt);
- style = ME_ToCF2W(&styledata, style);
+ assert(style->cbSize == sizeof(CHARFORMAT2W));
COPY_STYLE_ITEM(CFM_ANIMATION, bAnimation);
COPY_STYLE_ITEM(CFM_BACKCOLOR, crBackColor);
COPY_STYLE_ITEM(CFM_CHARSET, bCharSet);
More information about the wine-cvs
mailing list