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.
This commit is contained in:
parent
e72a37e960
commit
d43cddcc83
|
@ -4332,6 +4332,18 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
|
||||||
{
|
{
|
||||||
mask |= TM_RICHTEXT | TM_PLAINTEXT;
|
mask |= TM_RICHTEXT | TM_PLAINTEXT;
|
||||||
changes |= wParam & (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 */
|
/* FIXME: Currently no support for undo level and code page options */
|
||||||
editor->mode = (editor->mode & ~mask) | changes;
|
editor->mode = (editor->mode & ~mask) | changes;
|
||||||
|
|
Loading…
Reference in New Issue