[PATCH v3 2/2] riched20: Only pass valid length to ME_InsertTextFromCursor
Fabian Maurer
dark.shadow4 at web.de
Mon Jan 9 11:08:12 CST 2017
This only affects ME_SetText and fnTextSrv_TxSetText,
should make it a bit more readable.
Signed-off-by: Fabian Maurer <dark.shadow4 at web.de>
---
dlls/riched20/caret.c | 2 --
dlls/riched20/editor.c | 4 +++-
dlls/riched20/txtsrv.c | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/riched20/caret.c b/dlls/riched20/caret.c
index 26af743518..94794890b6 100644
--- a/dlls/riched20/caret.c
+++ b/dlls/riched20/caret.c
@@ -526,8 +526,6 @@ void ME_InsertTextFromCursor(ME_TextEditor *editor, int nCursor,
assert(style);
assert(nCursor>=0 && nCursor<editor->nCursors);
- if (len == -1)
- len = lstrlenW(str);
/* grow the text limit to fit our text */
if(editor->nTextLimit < oldLen +len)
diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
index 1ce444e604..8873861aee 100644
--- a/dlls/riched20/editor.c
+++ b/dlls/riched20/editor.c
@@ -3323,7 +3323,9 @@ static void ME_SetText(ME_TextEditor *editor, void *text, BOOL unicode)
int len = -1;
/* uses default style! */
- if (!(editor->styleFlags & ES_MULTILINE))
+ if (editor->styleFlags & ES_MULTILINE)
+ len = lstrlenW(wszText);
+ else
{
WCHAR *p = wszText;
diff --git a/dlls/riched20/txtsrv.c b/dlls/riched20/txtsrv.c
index 307b484352..a21ef5a02f 100644
--- a/dlls/riched20/txtsrv.c
+++ b/dlls/riched20/txtsrv.c
@@ -288,7 +288,7 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxSetText(ITextServices *iface, LPCWSTR
ME_SetCursorToStart(This->editor, &cursor);
ME_InternalDeleteText(This->editor, &cursor, ME_GetTextLength(This->editor), FALSE);
if(pszText)
- ME_InsertTextFromCursor(This->editor, 0, pszText, -1, This->editor->pBuffer->pDefaultStyle);
+ ME_InsertTextFromCursor(This->editor, 0, pszText, lstrlenW(pszText), This->editor->pBuffer->pDefaultStyle);
ME_SetSelection(This->editor, 0, 0);
This->editor->nModifyStep = 0;
OleFlushClipboard();
--
2.11.0
More information about the wine-patches
mailing list