richedit: Avoid acting on control words in skipped RTF groups (Bug 15227) [try 2]

Dylan Smith dylan.ah.smith at
Thu Sep 11 09:34:07 CDT 2008

Previously the control words in skipped groups were being processed by
the read hook on the RTF parser.  By moving this code into the class
callbacks for the parser, the skipped groups actually remain skipped.

An example of a skipped group is a optional destination that isn't
recognized by the parser.  The RTF specifications say to ignore these
groups, and native richedit controls act accordingly.

This patch fixes bug 15227 which was caused by the \itap4 control word
in a destination which caused an unterminated table, since this control
word changes the nesting level by starting nested tables to reach that
nesting level.

Changes for try 2:
Added in a destination callback for nesttableprops to avoid it being
ignored.  Otherwise this patch would cause a regression where the
default table properties would be used for nested tables.
 dlls/riched20/editor.c |    3 +++
 dlls/riched20/reader.c |   10 ++++++++++
 dlls/riched20/rtf.h    |    1 +
 3 files changed, 14 insertions(+), 0 deletions(-)
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0001-richedit-Avoid-acting-on-control-words-in-skippe.diff.txt

More information about the wine-patches mailing list