http://bugs.winehq.org/show_bug.cgi?id=15227
--- Comment #2 from Dylan Smith dylan.ah.smith@gmail.com 2008-09-10 20:19:04 --- What is happening currently, is that the control word \itap4 is changing the nesting level, and thus creating a table. However, all of the \itap4 control words are contained within an optional destination {*\pgptbl ... } which isn't recognized, and thus it is skipped. This leads us to issue number one, the fact that skipped control words are not actually skipped.
The reason for the above issue happening is that a lot of logic is happening in the read hook for the RTF parser. Most of This logic should be moved to class callbacks so skipped groups are actually skipped.
The above issue ended up causing the RTF document to appear as if it had an unterminated table, which it is supposed to delete. Issue number two is the bugs in handling this case that caused the program to crash.