Dylan Smith : richedit: Make sure the nested tables' RTF properties are not skipped.

Alexandre Julliard julliard at winehq.org
Fri Sep 12 07:01:41 CDT 2008


Module: wine
Branch: master
Commit: 0d8e9e622ff74c0083e70722aa0352acdef1c45b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0d8e9e622ff74c0083e70722aa0352acdef1c45b

Author: Dylan Smith <dylan.ah.smith at gmail.com>
Date:   Thu Sep 11 13:32:06 2008 -0400

richedit: Make sure the nested tables' RTF properties are not skipped.

---

 dlls/riched20/editor.c |    3 +++
 dlls/riched20/reader.c |   10 ++++++++++
 dlls/riched20/rtf.h    |    1 +
 3 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
index 0ae8844..01ef9c1 100644
--- a/dlls/riched20/editor.c
+++ b/dlls/riched20/editor.c
@@ -1476,7 +1476,10 @@ static LRESULT ME_StreamIn(ME_TextEditor *editor, DWORD format, EDITSTREAM *stre
       RTFSetDestinationCallback(&parser, rtfPict, ME_RTFReadPictGroup);
       RTFSetDestinationCallback(&parser, rtfObject, ME_RTFReadObjectGroup);
       if (!parser.editor->bEmulateVersion10) /* v4.1 */
+      {
         RTFSetDestinationCallback(&parser, rtfNoNestTables, RTFSkipGroup);
+        RTFSetDestinationCallback(&parser, rtfNestTableProps, RTFReadGroup);
+      }
       BeginFile(&parser);
 
       /* do the parsing */
diff --git a/dlls/riched20/reader.c b/dlls/riched20/reader.c
index 95d88f7..c455c57 100644
--- a/dlls/riched20/reader.c
+++ b/dlls/riched20/reader.c
@@ -406,6 +406,16 @@ void RTFSkipGroup(RTF_Info *info)
 	}
 }
 
+/*
+ * Do no special processing on the group.
+ *
+ * This acts as a placeholder for a callback in order to indicate that it
+ * shouldn't be ignored.  Instead it will fallback on the loop in RTFRead.
+ */
+void RTFReadGroup (RTF_Info *info)
+{
+}
+
 
 /*
  * Read one token.  Call the read hook if there is one.  The
diff --git a/dlls/riched20/rtf.h b/dlls/riched20/rtf.h
index ec08161..8fc8abc 100644
--- a/dlls/riched20/rtf.h
+++ b/dlls/riched20/rtf.h
@@ -1211,6 +1211,7 @@ void		RTFSetReadHook (RTF_Info *, RTFFuncPtr);
 RTFFuncPtr	RTFGetReadHook (const RTF_Info *);
 void		RTFRouteToken (RTF_Info *);
 void		RTFSkipGroup (RTF_Info *);
+void		RTFReadGroup (RTF_Info *);
 void		RTFExpandStyle (RTF_Info *, int);
 int		RTFCheckCM (const RTF_Info *, int, int);
 int		RTFCheckCMM (const RTF_Info *, int, int, int);




More information about the wine-cvs mailing list