From 5d75cac480f1ab14b923137784a0a7583d986018 Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Mon, 15 Mar 2021 10:03:20 +0000 Subject: [PATCH] riched20: Implement EM_SETREADONLY using EM_SETOPTIONS. Signed-off-by: Huw Davies Signed-off-by: Alexandre Julliard --- dlls/riched20/editor.c | 8 -------- dlls/riched20/txthost.c | 11 ++++------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c index 994e91ce3d5..4988f6e0746 100644 --- a/dlls/riched20/editor.c +++ b/dlls/riched20/editor.c @@ -3779,14 +3779,6 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam, return 0; } - case EM_SETREADONLY: - { - if (wParam) - editor->styleFlags |= ES_READONLY; - else - editor->styleFlags &= ~ES_READONLY; - return 1; - } case EM_SETEVENTMASK: { DWORD nOldMask = editor->nEventMask; diff --git a/dlls/riched20/txthost.c b/dlls/riched20/txthost.c index 278b0a64379..5bd11c5aba2 100644 --- a/dlls/riched20/txthost.c +++ b/dlls/riched20/txthost.c @@ -1002,14 +1002,11 @@ static LRESULT RichEditWndProc_common( HWND hwnd, UINT msg, WPARAM wparam, } case EM_SETREADONLY: { - DWORD style; + DWORD op = wparam ? ECOOP_OR : ECOOP_AND; + DWORD mask = wparam ? ECO_READONLY : ~ECO_READONLY; - res = ME_HandleMessage( editor, msg, wparam, lparam, unicode, &hr ); - style = GetWindowLongW( hwnd, GWL_STYLE ); - style &= ~ES_READONLY; - if (wparam) style |= ES_READONLY; - SetWindowLongW( hwnd, GWL_STYLE, style ); - return res; + SendMessageW( hwnd, EM_SETOPTIONS, op, mask ); + return 1; } case WM_SETTEXT: { -- 2.11.4.GIT