[PATCH 1/7] riched20: Set the end-of-paragraph run width to that of a space.

Huw Davies huw at codeweavers.com
Tue Oct 4 07:07:31 CDT 2016


Signed-off-by: Huw Davies <huw at codeweavers.com>
---
 dlls/riched20/run.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/dlls/riched20/run.c b/dlls/riched20/run.c
index 778a952..984f8f5 100644
--- a/dlls/riched20/run.c
+++ b/dlls/riched20/run.c
@@ -611,17 +611,16 @@ SIZE ME_GetRunSizeCommon(ME_Context *c, const ME_Paragraph *para, ME_Run *run, i
                          int startx, int *pAscent, int *pDescent)
 {
   SIZE size;
-  int nMaxLen = run->len;
+  WCHAR spaceW[] = {' ',0};
 
-  if (nLen>nMaxLen)
-    nLen = nMaxLen;
+  nLen = min( nLen, run->len );
 
-  /* FIXME the following call also ensures that TEXTMETRIC structure is filled
-   * this is wasteful for MERF_NONTEXT runs, but that shouldn't matter
-   * in practice
-   */
-
-  if (para->nFlags & MEPF_COMPLEX)
+  if (run->nFlags & MERF_ENDPARA)
+  {
+      nLen = min( nLen, 1 );
+      ME_GetTextExtent(c, spaceW, nLen, run->style, &size);
+  }
+  else if (para->nFlags & MEPF_COMPLEX)
   {
       size.cx = run->nWidth;
   }
-- 
2.8.2




More information about the wine-patches mailing list