Author: akhaldi
Date: Thu Dec 13 13:10:17 2012
New Revision: 57901
URL: 
http://svn.reactos.org/svn/reactos?rev=57901&view=rev
Log:
[RICHED20]
* Sync with Wine 1.5.19.
Modified:
    trunk/reactos/dll/win32/riched20/context.c
    trunk/reactos/dll/win32/riched20/editor.c
    trunk/reactos/dll/win32/riched20/editor.h
    trunk/reactos/dll/win32/riched20/editstr.h
    trunk/reactos/dll/win32/riched20/paint.c
    trunk/reactos/dll/win32/riched20/para.c
    trunk/reactos/dll/win32/riched20/reader.c
    trunk/reactos/dll/win32/riched20/style.c
    trunk/reactos/dll/win32/riched20/table.c
    trunk/reactos/dll/win32/riched20/txthost.c
    trunk/reactos/dll/win32/riched20/wrap.c
    trunk/reactos/dll/win32/riched20/writer.c
    trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/riched20/context.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/context…
==============================================================================
--- trunk/reactos/dll/win32/riched20/context.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/riched20/context.c [iso-8859-1] Thu Dec 13 13:10:17 2012
@@ -22,12 +22,10 @@
 void ME_InitContext(ME_Context *c, ME_TextEditor *editor, HDC hDC)
 {
-  c->nSequence = editor->nSequence++;
   c->hDC = hDC;
   c->editor = editor;
   c->pt.x = 0;
   c->pt.y = 0;
-  c->hbrMargin = CreateSolidBrush(RGB(224,224,224));
   c->rcView = editor->rcFormat;
   if (hDC) {
       c->dpi.cx = GetDeviceCaps(hDC, LOGPIXELSX);
@@ -44,5 +42,4 @@
 void ME_DestroyContext(ME_Context *c)
 {
   if (c->hDC) ITextHost_TxReleaseDC(c->editor->texthost, c->hDC);
-  DeleteObject(c->hbrMargin);
 }
Modified: trunk/reactos/dll/win32/riched20/editor.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/editor.…
==============================================================================
--- trunk/reactos/dll/win32/riched20/editor.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/riched20/editor.c [iso-8859-1] Thu Dec 13 13:10:17 2012
@@ -283,14 +283,16 @@
 static LRESULT ME_StreamInText(ME_TextEditor *editor, DWORD dwFormat, ME_InStream
*stream, ME_Style *style)
 {
-  WCHAR wszText[STREAMIN_BUFFER_SIZE+1];
   WCHAR *pText;
   LRESULT total_bytes_read = 0;
+  BOOL is_read = FALSE;
+  static const char bom_utf8[] = {0xEF, 0xBB, 0xBF};
   TRACE("%08x %p\n", dwFormat, stream);
   do {
     LONG nWideChars = 0;
+    WCHAR wszText[STREAMIN_BUFFER_SIZE+1];
     if (!stream->dwSize)
     {
@@ -304,8 +306,22 @@
     if (!(dwFormat & SF_UNICODE))
     {
-      /* FIXME? this is doomed to fail on true MBCS like UTF-8, luckily they're
unlikely to be used as CP_ACP */
-      nWideChars = MultiByteToWideChar(CP_ACP, 0, stream->buffer, stream->dwSize,
wszText, STREAMIN_BUFFER_SIZE);
+      char * buf = stream->buffer;
+      DWORD size = stream->dwSize;
+      DWORD cp = CP_ACP;
+
+      if (!is_read)
+      {
+        is_read = TRUE;
+        if (stream->dwSize >= 3 && !memcmp(stream->buffer, bom_utf8, 3))
+        {
+          cp = CP_UTF8;
+          buf += 3;
+          size -= 3;
+        }
+      }
+
+      nWideChars = MultiByteToWideChar(cp, 0, buf, size, wszText, STREAMIN_BUFFER_SIZE);
       pText = wszText;
     }
     else
@@ -2687,7 +2703,6 @@
   ed->nLastTotalLength = ed->nTotalLength = 0;
   ed->nLastTotalWidth = ed->nTotalWidth = 0;
   ed->nUDArrowX = -1;
-  ed->nSequence = 0;
   ed->rgbBackColor = -1;
   ed->hbrBackground = GetSysColorBrush(COLOR_WINDOW);
   ed->bCaretAtEnd = FALSE;
@@ -2794,8 +2809,8 @@
   if (editor->rgbBackColor != -1)
     DeleteObject(editor->hbrBackground);
   if(editor->lpOleCallback)
-    IUnknown_Release(editor->lpOleCallback);
-  IUnknown_Release(editor->texthost);
+    IRichEditOleCallback_Release(editor->lpOleCallback);
+  ITextHost_Release(editor->texthost);
   OleUninitialize();
   FREE_OBJ(editor->pBuffer);
@@ -3592,6 +3607,7 @@
     return FALSE;
   }
   case WM_PASTE:
+  case WM_MBUTTONDOWN:
     ME_Paste(editor);
     return 0;
   case WM_CUT:
@@ -4311,10 +4327,10 @@
   }
   case EM_SETOLECALLBACK:
     if(editor->lpOleCallback)
-      IUnknown_Release(editor->lpOleCallback);
-    editor->lpOleCallback = (LPRICHEDITOLECALLBACK)lParam;
+      IRichEditOleCallback_Release(editor->lpOleCallback);
+    editor->lpOleCallback = (IRichEditOleCallback*)lParam;
     if(editor->lpOleCallback)
-      IUnknown_AddRef(editor->lpOleCallback);
+      IRichEditOleCallback_AddRef(editor->lpOleCallback);
     return TRUE;
   case EM_GETWORDBREAKPROC:
     return (LRESULT)editor->pfnWordBreak;
Modified: trunk/reactos/dll/win32/riched20/editor.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/editor.…
==============================================================================
--- trunk/reactos/dll/win32/riched20/editor.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/riched20/editor.h [iso-8859-1] Thu Dec 13 13:10:17 2012
@@ -187,7 +187,7 @@
 /* wrap.c */
 BOOL ME_WrapMarkedParagraphs(ME_TextEditor *editor) DECLSPEC_HIDDEN;
-void ME_InvalidateMarkedParagraphs(ME_TextEditor *editor, ME_DisplayItem *start_para,
ME_DisplayItem *end_para) DECLSPEC_HIDDEN;
+void ME_InvalidateParagraphRange(ME_TextEditor *editor, ME_DisplayItem *start_para,
ME_DisplayItem *last_para) DECLSPEC_HIDDEN;
 void ME_SendRequestResize(ME_TextEditor *editor, BOOL force) DECLSPEC_HIDDEN;
 /* para.c */
@@ -201,8 +201,6 @@
 void ME_DumpParaStyleToBuf(const PARAFORMAT2 *pFmt, char buf[2048]) DECLSPEC_HIDDEN;
 BOOL ME_SetSelectionParaFormat(ME_TextEditor *editor, const PARAFORMAT2 *pFmt)
DECLSPEC_HIDDEN;
 void ME_GetSelectionParaFormat(ME_TextEditor *editor, PARAFORMAT2 *pFmt) DECLSPEC_HIDDEN;
-/* marks from first up to (but not including) last */
-void ME_MarkForPainting(ME_TextEditor *editor, ME_DisplayItem *first, const
ME_DisplayItem *last) DECLSPEC_HIDDEN;
 void ME_MarkAllForWrapping(ME_TextEditor *editor) DECLSPEC_HIDDEN;
 void ME_SetDefaultParaFormat(PARAFORMAT2 *pFmt) DECLSPEC_HIDDEN;
@@ -261,6 +259,7 @@
 ME_DisplayItem *ME_InsertTableRowEndFromCursor(ME_TextEditor *editor) DECLSPEC_HIDDEN;
 ME_DisplayItem *ME_GetTableRowEnd(ME_DisplayItem *para) DECLSPEC_HIDDEN;
 ME_DisplayItem *ME_GetTableRowStart(ME_DisplayItem *para) DECLSPEC_HIDDEN;
+ME_DisplayItem *ME_GetOuterParagraph(ME_DisplayItem *para) DECLSPEC_HIDDEN;
 void ME_CheckTablesForCorruption(ME_TextEditor *editor) DECLSPEC_HIDDEN;
 void ME_ProtectPartialTableDeletion(ME_TextEditor *editor, ME_Cursor *c, int *nChars)
DECLSPEC_HIDDEN;
 ME_DisplayItem* ME_AppendTableRow(ME_TextEditor *editor, ME_DisplayItem *table_row)
DECLSPEC_HIDDEN;
Modified: trunk/reactos/dll/win32/riched20/editstr.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/editstr…
==============================================================================
--- trunk/reactos/dll/win32/riched20/editstr.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/riched20/editstr.h [iso-8859-1] Thu Dec 13 13:10:17 2012
@@ -67,7 +67,6 @@
   HFONT hFont; /* cached font for the style */
   TEXTMETRICW tm; /* cached font metrics for the style */
   int nRefs; /* reference count */
-  int nSequence; /* incremented when cache needs to be rebuilt, ie. every screen redraw
*/
 } ME_Style;
 typedef enum {
@@ -139,7 +138,6 @@
 /* this paragraph was already wrapped and hasn't changed, every change resets that
flag */
 #define MEPF_REWRAP   0x01
-#define MEPF_REPAINT  0x02
 /* v4.1 */
 #define MEPF_CELL     0x04 /* The paragraph is nested in a cell */
 #define MEPF_ROWSTART 0x08 /* Hidden empty paragraph at the start of the row */
@@ -186,7 +184,6 @@
   int nFlags;
   POINT pt;
   int nHeight, nWidth;
-  int nLastPaintYPos, nLastPaintHeight;
   int nRows;
   struct tagME_DisplayItem *prev_para, *next_para;
 } ME_Paragraph;
@@ -335,7 +332,6 @@
   int nTotalWidth, nLastTotalWidth;
   int nAvailWidth; /* 0 = wrap to client area, else wrap width in twips */
   int nUDArrowX;
-  int nSequence;
   COLORREF rgbBackColor;
   HBRUSH hbrBackground;
   BOOL bCaretAtEnd;
@@ -385,16 +381,12 @@
 {
   HDC hDC;
   POINT pt;
-  POINT ptRowOffset;
   RECT rcView;
-  HBRUSH hbrMargin;
   SIZE dpi;
   int nAvailWidth;
   /* those are valid inside ME_WrapTextParagraph and related */
-  POINT ptFirstRun;
   ME_TextEditor *editor;
-  int nSequence;
 } ME_Context;
 typedef struct tagME_WrapContext
Modified: trunk/reactos/dll/win32/riched20/paint.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/paint.c…
==============================================================================
--- trunk/reactos/dll/win32/riched20/paint.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/riched20/paint.c [iso-8859-1] Thu Dec 13 13:10:17 2012
@@ -41,7 +41,6 @@
   IntersectClipRect(hDC, rcUpdate->left, rcUpdate->top,
                      rcUpdate->right, rcUpdate->bottom);
-  editor->nSequence++;
   ME_InitContext(&c, editor, hDC);
   SetBkMode(hDC, TRANSPARENT);
   ME_MoveCaret(editor);
@@ -1275,32 +1274,29 @@
    * they can point past the end of the document */
   if (editor->nLastSelStart > len || editor->nLastSelEnd > len) {
     repaint_start = ME_FindItemFwd(editor->pBuffer->pFirst, diParagraph);
-    repaint_end = editor->pBuffer->pLast;
-    ME_MarkForPainting(editor, repaint_start, repaint_end);
+    repaint_end = editor->pBuffer->pLast->member.para.prev_para;
   } else {
     /* if the start part of selection is being expanded or contracted... */
     if (nStart < editor->nLastSelStart) {
       repaint_start = sel_start;
-      repaint_end = editor->pLastSelStartPara->member.para.next_para;
+      repaint_end = editor->pLastSelStartPara;
     } else if (nStart > editor->nLastSelStart) {
       repaint_start = editor->pLastSelStartPara;
-      repaint_end = sel_start->member.para.next_para;
-    }
-    ME_MarkForPainting(editor, repaint_start, repaint_end);
+      repaint_end = sel_start;
+    }
     /* if the end part of selection is being contracted or expanded... */
     if (nEnd < editor->nLastSelEnd) {
       if (!repaint_start) repaint_start = sel_end;
-      repaint_end = editor->pLastSelEndPara->member.para.next_para;
-      ME_MarkForPainting(editor, sel_end, repaint_end);
+      repaint_end = editor->pLastSelEndPara;
     } else if (nEnd > editor->nLastSelEnd) {
       if (!repaint_start) repaint_start = editor->pLastSelEndPara;
-      repaint_end = sel_end->member.para.next_para;
-      ME_MarkForPainting(editor, editor->pLastSelEndPara, repaint_end);
-    }
-  }
-
-  ME_InvalidateMarkedParagraphs(editor, repaint_start, repaint_end);
+      repaint_end = sel_end;
+    }
+  }
+
+  if (repaint_start)
+    ME_InvalidateParagraphRange(editor, repaint_start, repaint_end);
   /* remember the last invalidated position */
   ME_GetSelectionOfs(editor, &editor->nLastSelStart, &editor->nLastSelEnd);
   ME_GetSelectionParas(editor, &editor->pLastSelStartPara,
&editor->pLastSelEndPara);
Modified: trunk/reactos/dll/win32/riched20/para.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/para.c?…
==============================================================================
--- trunk/reactos/dll/win32/riched20/para.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/riched20/para.c [iso-8859-1] Thu Dec 13 13:10:17 2012
@@ -92,15 +92,6 @@
 void ME_MarkAllForWrapping(ME_TextEditor *editor)
 {
   ME_MarkForWrapping(editor, editor->pBuffer->pFirst->member.para.next_para,
editor->pBuffer->pLast);
-}
-
-void ME_MarkForPainting(ME_TextEditor *editor, ME_DisplayItem *first, const
ME_DisplayItem *last)
-{
-  while(first != last && first)
-  {
-    first->member.para.nFlags |= MEPF_REPAINT;
-    first = first->member.para.next_para;
-  }
 }
 static void ME_UpdateTableFlags(ME_DisplayItem *para)
Modified: trunk/reactos/dll/win32/riched20/reader.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/reader.…
==============================================================================
--- trunk/reactos/dll/win32/riched20/reader.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/riched20/reader.c [iso-8859-1] Thu Dec 13 13:10:17 2012
@@ -2397,8 +2397,11 @@
                 font = RTFGetFont(info, info->rtfParam);
                 if (font)
                 {
-                        if (info->ansiCodePage != CP_UTF8)
+                        if (info->ansiCodePage != CP_UTF8 && info->codePage
!= font->rtfFCodePage)
+                        {
+                                RTFFlushOutputBuffer(info);
                                 info->codePage = font->rtfFCodePage;
+                        }
                         TRACE("font %d codepage %d\n", info->rtfParam,
info->codePage);
                 }
                 else
Modified: trunk/reactos/dll/win32/riched20/style.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/style.c…
==============================================================================
--- trunk/reactos/dll/win32/riched20/style.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/riched20/style.c [iso-8859-1] Thu Dec 13 13:10:17 2012
@@ -41,7 +41,7 @@
     CopyMemory(to, f, FIELD_OFFSET(CHARFORMATA, szFaceName));
     to->cbSize = sizeof(CHARFORMAT2W);
     if (f->dwMask & CFM_FACE) {
-      MultiByteToWideChar(0, 0, f->szFaceName, -1, to->szFaceName,
sizeof(to->szFaceName)/sizeof(WCHAR));
+      MultiByteToWideChar(CP_ACP, 0, f->szFaceName, -1, to->szFaceName,
sizeof(to->szFaceName)/sizeof(WCHAR));
     }
     return to;
   }
@@ -61,7 +61,7 @@
     CopyMemory(to, f, FIELD_OFFSET(CHARFORMATA, szFaceName));
     /* convert face name */
     if (f->dwMask & CFM_FACE)
-      MultiByteToWideChar(0, 0, f->szFaceName, -1, to->szFaceName,
sizeof(to->szFaceName)/sizeof(WCHAR));
+      MultiByteToWideChar(CP_ACP, 0, f->szFaceName, -1, to->szFaceName,
sizeof(to->szFaceName)/sizeof(WCHAR));
     /* copy the rest of the 2A structure to 2W */
     CopyMemory(&to->wWeight, &f->wWeight,
sizeof(CHARFORMAT2A)-FIELD_OFFSET(CHARFORMAT2A, wWeight));
     to->cbSize = sizeof(CHARFORMAT2W);
@@ -78,7 +78,7 @@
   {
     CHARFORMATA *t = (CHARFORMATA *)to;
     CopyMemory(t, from, FIELD_OFFSET(CHARFORMATA, szFaceName));
-    WideCharToMultiByte(0, 0, from->szFaceName, -1, t->szFaceName,
sizeof(t->szFaceName), 0, 0);
+    WideCharToMultiByte(CP_ACP, 0, from->szFaceName, -1, t->szFaceName,
sizeof(t->szFaceName), NULL, NULL);
     if (from->dwMask & CFM_UNDERLINETYPE)
     {
         switch (from->bUnderlineType)
@@ -123,7 +123,7 @@
     /* copy the A structure without face name */
     CopyMemory(t, from, FIELD_OFFSET(CHARFORMATA, szFaceName));
     /* convert face name */
-    WideCharToMultiByte(0, 0, from->szFaceName, -1, t->szFaceName,
sizeof(t->szFaceName), 0, 0);
+    WideCharToMultiByte(CP_ACP, 0, from->szFaceName, -1, t->szFaceName,
sizeof(t->szFaceName), NULL, NULL);
     /* copy the rest of the 2A structure to 2W */
     CopyMemory(&t->wWeight, &from->wWeight,
sizeof(CHARFORMAT2W)-FIELD_OFFSET(CHARFORMAT2W,wWeight));
     t->cbSize = sizeof(*t); /* it was overwritten by CopyMemory */
@@ -145,7 +145,6 @@
   assert(style->cbSize == sizeof(CHARFORMAT2W));
   s->fmt = *style;
-  s->nSequence = -2;
   s->nRefs = 1;
   s->hFont = NULL;
   memset(&s->tm, 0, sizeof(s->tm));
Modified: trunk/reactos/dll/win32/riched20/table.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/table.c…
==============================================================================
--- trunk/reactos/dll/win32/riched20/table.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/riched20/table.c [iso-8859-1] Thu Dec 13 13:10:17 2012
@@ -169,6 +169,20 @@
   para = ME_FindItemBack(cell, diParagraph);
   assert(para && para->member.para.nFlags & MEPF_ROWSTART);
+  return para;
+}
+
+ME_DisplayItem* ME_GetOuterParagraph(ME_DisplayItem *para)
+{
+  if (para->member.para.nFlags & MEPF_ROWEND)
+    para = para->member.para.prev_para;
+  while (para->member.para.pCell)
+  {
+    para = ME_GetTableRowStart(para);
+    if (!para->member.para.pCell)
+      break;
+    para = ME_FindItemBack(para->member.para.pCell, diParagraph);
+  }
   return para;
 }
Modified: trunk/reactos/dll/win32/riched20/txthost.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/txthost…
==============================================================================
--- trunk/reactos/dll/win32/riched20/txthost.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/riched20/txthost.c [iso-8859-1] Thu Dec 13 13:10:17 2012
@@ -141,8 +141,7 @@
 DECLSPEC_HIDDEN BOOL WINAPI ITextHostImpl_TxSetScrollPos(ITextHost *iface, INT fnBar, INT
nPos, BOOL fRedraw)
 {
     ITextHostImpl *This = impl_from_ITextHost(iface);
-    int pos = SetScrollPos(This->hWnd, fnBar, nPos, fRedraw);
-    return (pos ? TRUE : FALSE);
+    return SetScrollPos(This->hWnd, fnBar, nPos, fRedraw) != 0;
 }
 DECLSPEC_HIDDEN void WINAPI ITextHostImpl_TxInvalidateRect(ITextHost *iface, LPCRECT prc,
BOOL fMode)
Modified: trunk/reactos/dll/win32/riched20/wrap.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/wrap.c?…
==============================================================================
--- trunk/reactos/dll/win32/riched20/wrap.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/riched20/wrap.c [iso-8859-1] Thu Dec 13 13:10:17 2012
@@ -589,8 +589,7 @@
 {
     if (!*repaint_start)
       *repaint_start = para;
-    *repaint_end = para->member.para.next_para;
-    para->member.para.nFlags |= MEPF_REPAINT;
+    *repaint_end = para;
 }
 BOOL ME_WrapMarkedParagraphs(ME_TextEditor *editor)
@@ -738,42 +737,35 @@
   ME_DestroyContext(&c);
   if (repaint_start || editor->nTotalLength < editor->nLastTotalLength)
-  {
-    if (!repaint_start) repaint_start = editor->pBuffer->pFirst;
-    ME_InvalidateMarkedParagraphs(editor, repaint_start, repaint_end);
-  }
+    ME_InvalidateParagraphRange(editor, repaint_start, repaint_end);
   return !!repaint_start;
 }
-void ME_InvalidateMarkedParagraphs(ME_TextEditor *editor,
-                                   ME_DisplayItem *start_para,
-                                   ME_DisplayItem *end_para)
+void ME_InvalidateParagraphRange(ME_TextEditor *editor,
+                                 ME_DisplayItem *start_para,
+                                 ME_DisplayItem *last_para)
 {
   ME_Context c;
   RECT rc;
   int ofs;
-  ME_DisplayItem *item;
   ME_InitContext(&c, editor, ITextHost_TxGetDC(editor->texthost));
   rc = c.rcView;
   ofs = editor->vert_si.nPos;
-  item = start_para;
-  while(item && item != end_para) {
-    if (item->member.para.nFlags & MEPF_REPAINT) {
-      rc.top = c.rcView.top + item->member.para.pt.y - ofs;
-      rc.bottom = max(rc.top + item->member.para.nHeight, c.rcView.bottom);
-      ITextHost_TxInvalidateRect(editor->texthost, &rc, TRUE);
-      item->member.para.nFlags &= ~MEPF_REPAINT;
-    }
-    item = item->member.para.next_para;
+  if (start_para) {
+    start_para = ME_GetOuterParagraph(start_para);
+    last_para = ME_GetOuterParagraph(last_para);
+    rc.top = c.rcView.top + start_para->member.para.pt.y - ofs;
+  } else {
+    rc.top = c.rcView.top + editor->nTotalLength - ofs;
   }
   if (editor->nTotalLength < editor->nLastTotalLength)
-  {
-    rc.top = c.rcView.top + editor->nTotalLength - ofs;
     rc.bottom = c.rcView.top + editor->nLastTotalLength - ofs;
-    ITextHost_TxInvalidateRect(editor->texthost, &rc, TRUE);
-  }
+  else
+    rc.bottom = c.rcView.top + last_para->member.para.pt.y +
last_para->member.para.nHeight - ofs;
+  ITextHost_TxInvalidateRect(editor->texthost, &rc, TRUE);
+
   ME_DestroyContext(&c);
 }
Modified: trunk/reactos/dll/win32/riched20/writer.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/writer.…
==============================================================================
--- trunk/reactos/dll/win32/riched20/writer.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/riched20/writer.c [iso-8859-1] Thu Dec 13 13:10:17 2012
@@ -251,11 +251,8 @@
   } while (item);
   item = ME_GetParagraph(pFirstRun);
   do {
-    if (item->member.para.pCell && item->member.para.pCell)
+    if ((pCell = item->member.para.pCell))
     {
-      pCell = item->member.para.pCell;
-      if (pCell)
-      {
         ME_Border* borders[4] = { &pCell->member.cell.border.top,
                                   &pCell->member.cell.border.left,
                                   &pCell->member.cell.border.bottom,
@@ -275,7 +272,6 @@
             }
           }
         }
-      }
     }
     if (item == pLastPara)
       break;
Modified: trunk/reactos/media/doc/README.WINE
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
==============================================================================
--- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original)
+++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Thu Dec 13 13:10:17 2012
@@ -148,7 +148,7 @@
 reactos/dll/win32/query           # Synced to Wine-1.5.19
 reactos/dll/win32/rasapi32        # Synced to Wine-1.5.4
 reactos/dll/win32/resutils        # Synced to Wine-1.5.19
-reactos/dll/win32/riched20        # Synced to Wine-1.5.4
+reactos/dll/win32/riched20        # Synced to Wine-1.5.19
 reactos/dll/win32/riched32        # Synced to Wine-1.5.19
 reactos/dll/win32/rpcrt4          # Synced to Wine-1.3.26
 reactos/dll/win32/rsabase         # Autosync