Commit Graph

548 Commits

Author SHA1 Message Date
Dylan Smith 2aa69c6c9e richedit: Prevent buffer overrun for tab stops buffer. 2008-09-12 12:35:29 +02:00
Dylan Smith fab258022e richedit: Fixed bugs in handling unterminated nested tables in RTF. 2008-09-12 11:55:43 +02:00
Dylan Smith 0d8e9e622f richedit: Make sure the nested tables' RTF properties are not skipped. 2008-09-12 11:55:30 +02:00
Dylan Smith d7ff24378a richedit: Enter inserts newline before table at start of document. 2008-09-12 11:55:22 +02:00
Dylan Smith 0843768919 richedit: Enter at the end of a table row appends a new row. 2008-09-12 11:55:14 +02:00
Dylan Smith 88a3a8a9c0 richedit: Don't put cursor in the table row start paragraph. 2008-09-12 11:55:08 +02:00
Dylan Smith 9a7d475db8 richedit: Avoid acting on control words in skipped RTF groups.
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.
2008-09-11 12:38:20 +02:00
Juan Lang fb30d61c97 riched20: Use helper function rather than goto to return found position. 2008-09-11 11:45:23 +02:00
James Hawkins ce8e69d4b1 riched20: Fix two typos that cause a failing test. 2008-09-09 11:46:14 +02:00
Reece Dunn 5740ad6432 richedit20: Fixed building the tests on msvc. 2008-09-08 14:08:21 +02:00
James Hawkins 898dd57f5d riched20: Fix several failing test across several platforms. 2008-09-08 12:47:22 +02:00
Marcus Meissner 96412ee564 Annotate with allocation size attribute. 2008-09-05 11:22:26 +02:00
James Hawkins 6b1c6eebab riched20: Trace the result of a failing test. 2008-09-03 13:14:51 +02:00
Francois Gouget 4823b2c7bf Assorted spelling fixes. 2008-09-02 13:58:21 +02:00
Dylan Smith b5e9aed268 richedit: Prevent integer overflow in wrapping code with no wrap. 2008-09-02 11:57:14 +02:00
Dylan Smith f11fe1c7a9 richedit: Prevent typing text at end of table row. 2008-08-29 13:42:47 +02:00
Dylan Smith 36be721027 richedit: Prevent streaming in rich text at end of table row. 2008-08-29 13:41:41 +02:00
Dylan Smith ff1f3d76b7 richedit: Copy cell border properties when appending a row to the table. 2008-08-29 13:41:34 +02:00
Dylan Smith ab6ca01471 richedit: Fixed a bug in protecting table cell boundaries. 2008-08-29 13:41:27 +02:00
Dylan Smith 238fd58a09 richedit: Pressing tab with selection back to start of table. 2008-08-29 13:41:18 +02:00
Michael Stefaniuc 9c62181a38 riched20: Remove redundant NULL check before HeapFree (Smatch). 2008-08-19 12:55:00 +02:00
Dylan Smith ddc107bd26 richedit: Added support for changing cell border colours. 2008-08-18 17:15:57 +02:00
Dylan Smith 421c5b0e02 richedit: Borders are now drawn for tables and nested tables. 2008-08-18 17:15:57 +02:00
Dylan Smith 967c148a68 richedit: Borders are drawn for simple tables. 2008-08-18 17:15:57 +02:00
Dylan Smith a47d4a4c3a richedit: Adjust table spacing with horizontal gap and left edge. 2008-08-18 17:15:57 +02:00
Dylan Smith b628482d68 richedit: Removed an unused local variable and assignments to it. 2008-08-18 17:15:57 +02:00
Dylan Smith fe1a24ff88 richedit: Substitute space for \tab and \par control words for simple tables.
For simple tables cells are represented with tabs, and a table row is
ended at the end of the paragraph, so native richedit controls
substitute spaces for \tab and \par rich text format control words.
2008-08-18 17:15:57 +02:00
Dylan Smith a382e35600 richedit: EM_[SG]ETPARAFORMAT returned the wrong value.
The values returned by EM_SETPARAFORMAT and EM_GETPARAFORMAT previously
indicated an error, and the included tests shows that Windows behaves as
documented.
2008-08-18 17:15:57 +02:00
Dylan Smith 59195ed2ec richedit: Added in support for streaming in and out nested tables. 2008-08-18 14:34:35 +02:00
Dylan Smith 300db3765f richedit: Each cell can contain multiple paragraphs in msftedit. 2008-08-18 14:34:11 +02:00
Dylan Smith bc61a637b9 richedit: Reversed deletion direction so tables are inserted forwards. 2008-08-18 14:34:10 +02:00
Dylan Smith d29f671d1a richedit: Protect deletion of cell boundaries when not deleting row. 2008-08-18 14:34:10 +02:00
Dylan Smith bf5ccefc4c richedit: Handle tab key properly within table cells.
Within table cells the tab key moves to the next cell in the table, or creates
a new table row when at the end of the table.
2008-08-18 14:34:10 +02:00
Dylan Smith 608c54ee69 richedit: Word/Line/Paragraph selection had selection anchor on wrong side.
After selection a word, line, or paragraph with multi click selection or using
the selection bar, then shift can be held and the arrows can be used to move
one of the ends of the selection.
2008-08-18 14:34:10 +02:00
Dylan Smith e568e15142 richedit: Removed assumption about the order of rtf indent control words.
Previously the calculations of dxStartIdent and dxOffset depended on
their order.
2008-08-18 14:34:10 +02:00
Dylan Smith 6a65f3b38e richedit: Fixed rtf reader bug that caused large start indents.
The problem was that the paragraph format was being retrieved,
slightly modified and then used to set the paragraph format, without
limiting the mask to what was being set.  The PFM_OFFSETINDENT mask flag
being valid meant that dxStartIndent specifies a relative offset, thus
dxStartIndent was doubled.
2008-08-18 14:34:10 +02:00
Dylan Smith 4e56a3cda9 richedit: Joined paragraph format depends on number of characters deleted. 2008-08-05 14:09:37 +02:00
Dylan Smith 11c8039699 richedit: Use tabstops to store cell positions. 2008-08-05 14:09:37 +02:00
Dylan Smith edb6304379 richedit: Added OleInitialize for clipboard operations. 2008-07-31 13:01:27 +02:00
Hongbo Ni 3cb685c861 riched32: Implement WM_UNICHAR support. 2008-07-29 14:09:23 +02:00
Dustin Brody 3a805d289e riched20: EM_SETTEXTTEX obeys ST_SELECTION with RTF inputs. 2008-07-29 12:50:35 +02:00
Alex Villacís Lasso acfb6ea210 richedit: Do not read actual scrollbar state for scrollbar update, use internal state instead. 2008-07-23 13:05:27 +02:00
Alex Villacís Lasso 9d39754e93 richedit: Tests for WM_SIZE/scrollbar recursion bug, with todo_wine.
This is a minimal model of what happens in Corman Lisp 3.0 -
subclassed window class that unconditionally calls ShowScrollBar() to
force scrollbar visibility.
2008-07-23 13:04:56 +02:00
Alex Villacís Lasso 47871f69a1 richedit: More tests for visibility behavior of richedit scrollbars, with todo_wine.
Alternate method of forcing (in)visibility of scrollbars, with SetWindowLongA().
2008-07-23 13:04:41 +02:00
Alex Villacís Lasso 86e9e0720c richedit: Tests for visibility behavior of richedit scrollbars, with todo_wine.
Some applications have never heard of ES_DISABLENOSCROLL and attempt
to force scrollbars to be always shown (with ShowScrollBar() or
similar) when otherwise richedit would hide them. If richedit attempts
to wrestle control back, a recursive loop of requests can result if
app overrides WM_SIZE behavior. Apparently native never reads the
scrollbar state, and operates from some sort of internal state, so
that scrollbars can be modified externally without native trying to
wrestle back control. This is confirmed by attached tests. An
exception: EM_SCROLL will restore visibility to a scrollbar that was
forcibly hidden.
2008-07-23 13:04:30 +02:00
Alex Villacís Lasso 43cf3b80af richedit: Shorten EM_AUTOURLDETECT tests.
EM_AUTOURLDETECT tests are taking too much time, so this patch tests
just one URL and one non-URL for all messages but WM_SETTEXT. Also,
remove one trace that spams the output needlessly.
2008-07-22 13:01:57 +02:00
Dylan Smith e86a1d623a richedit: Fixed regression that caused endless loop. 2008-07-18 11:32:38 +02:00
Eric Pouech 6ef6f7167d richedit: Add an assert to point out what we're expecting. 2008-07-17 10:53:41 +02:00
Dylan Smith 97d56caafe richedit: Fixed regression caused by destroying the caret.
The regression was caused by destroying the caret when it didn't need to
be shown in the richedit control, but this affected other controls.
2008-07-16 19:56:24 +02:00
Dylan Smith e3efa88c45 richedit: Cannot undo setting of default character format.
This also reverts commit 2b52dd845097f16076c0185b02a003f63898dcab:
wordpad: Empty the richedit undo buffer on creation.

The reverted commit I created to fix an issue that only applied to Wine,
but it just masked the issue which was in richedit controls.  The
default character format was set in two places while wordpad was
starting up, and caused wordpad to have two undo items at startup.
2008-07-14 12:22:44 +02:00