Commit d43cddcc authored by Dylan Smith's avatar Dylan Smith Committed by Alexandre Julliard

richedit: Clear non-default style when changing to plain text mode.

Although the text must be empty for the mode to change to plain text mode, there still may be a non-default style for the temporary insert style and style for the end of text run.
parent e72a37e9
......@@ -4332,6 +4332,18 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
{
mask |= TM_RICHTEXT | TM_PLAINTEXT;
changes |= wParam & (TM_RICHTEXT | TM_PLAINTEXT);
if (wParam & TM_PLAINTEXT) {
/* Clear selection since it should be possible to select the
* end of text run for rich text */
ME_InvalidateSelection(editor);
ME_SetCursorToStart(editor, &editor->pCursors[0]);
editor->pCursors[1] = editor->pCursors[0];
/* plain text can only have the default style. */
ME_ClearTempStyle(editor);
ME_AddRefStyle(editor->pBuffer->pDefaultStyle);
ME_ReleaseStyle(editor->pCursors[0].pRun->member.run.style);
editor->pCursors[0].pRun->member.run.style = editor->pBuffer->pDefaultStyle;
}
}
/* FIXME: Currently no support for undo level and code page options */
editor->mode = (editor->mode & ~mask) | changes;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment