From 4cecb5dc706d75f89410cd55cd84455adc3ce6c8 Mon Sep 17 00:00:00 2001 From: Eric Pouech Date: Tue, 1 Jan 2008 22:05:22 +0100 Subject: [PATCH] richedit: Move init code after some sanity checks to avoid unneeded computations. --- dlls/riched20/paint.c | 3 ++- dlls/riched20/run.c | 3 ++- dlls/riched20/wrap.c | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dlls/riched20/paint.c b/dlls/riched20/paint.c index 3d4349646eb..f9fb4ec0644 100644 --- a/dlls/riched20/paint.c +++ b/dlls/riched20/paint.c @@ -267,7 +267,7 @@ static void ME_DrawGraphics(ME_Context *c, int x, int y, ME_Run *run, static void ME_DrawRun(ME_Context *c, int x, int y, ME_DisplayItem *rundi, ME_Paragraph *para) { ME_Run *run = &rundi->member.run; - ME_DisplayItem *start = ME_FindItemBack(rundi, diStartRow); + ME_DisplayItem *start; int runofs = run->nCharOfs+para->nCharOfs; int nSelFrom, nSelTo; const WCHAR wszSpace[] = {' ', 0}; @@ -275,6 +275,7 @@ static void ME_DrawRun(ME_Context *c, int x, int y, ME_DisplayItem *rundi, ME_Pa if (run->nFlags & MERF_HIDDEN) return; + start = ME_FindItemBack(rundi, diStartRow); ME_GetSelection(c->editor, &nSelFrom, &nSelTo); /* Draw selected end-of-paragraph mark */ diff --git a/dlls/riched20/run.c b/dlls/riched20/run.c index 71354fe9680..759ea297fe1 100644 --- a/dlls/riched20/run.c +++ b/dlls/riched20/run.c @@ -606,7 +606,7 @@ int ME_CharFromPointCursor(ME_TextEditor *editor, int cx, ME_Run *run) int ME_PointFromChar(ME_TextEditor *editor, ME_Run *pRun, int nOffset) { SIZE size; - HDC hDC = GetDC(editor->hWnd); + HDC hDC; HGDIOBJ hOldFont; ME_String *strRunText; /* This could point to either the run's real text, or it's masked form in a password control */ @@ -623,6 +623,7 @@ int ME_PointFromChar(ME_TextEditor *editor, ME_Run *pRun, int nOffset) else strRunText = pRun->strText; + hDC = GetDC(editor->hWnd); hOldFont = ME_SelectStyleFont(editor, hDC, pRun->style); GetTextExtentPoint32W(hDC, strRunText->szData, nOffset, &size); ME_UnselectStyleFont(editor, hDC, pRun->style, hOldFont); diff --git a/dlls/riched20/wrap.c b/dlls/riched20/wrap.c index e72983ea6ad..f49c7abf047 100644 --- a/dlls/riched20/wrap.c +++ b/dlls/riched20/wrap.c @@ -341,7 +341,7 @@ static void ME_PrepareParagraphForWrapping(ME_Context *c, ME_DisplayItem *tp); static void ME_WrapTextParagraph(ME_Context *c, ME_DisplayItem *tp, DWORD beginofs) { ME_DisplayItem *p; ME_WrapContext wc; - int dpi = GetDeviceCaps(c->hDC, LOGPIXELSX); + int dpi; int border = 0; int linespace = 0; @@ -351,6 +351,7 @@ static void ME_WrapTextParagraph(ME_Context *c, ME_DisplayItem *tp, DWORD begino } ME_PrepareParagraphForWrapping(c, tp); + dpi = GetDeviceCaps(c->hDC, LOGPIXELSX); wc.context = c; /* wc.para_style = tp->member.para.style; */ wc.style = NULL;