Module: wine Branch: master Commit: 0209b02f47a13274ca4f26efff2842466b43e673 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0209b02f47a13274ca4f26efff...
Author: Nikolay Sivov bunglehead@gmail.com Date: Sat Sep 19 22:32:04 2009 +0400
user32/edit: Invalidate if style changed after EM_SETREADONLY.
---
dlls/user32/edit.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/dlls/user32/edit.c b/dlls/user32/edit.c index 5a62bc2..8ad945b 100644 --- a/dlls/user32/edit.c +++ b/dlls/user32/edit.c @@ -5011,6 +5011,9 @@ static LRESULT EditWndProc_common( HWND hwnd, UINT msg,
case EM_SETREADONLY16: case EM_SETREADONLY: + { + DWORD old_style = es->style; + if (wParam) { SetWindowLongW( hwnd, GWL_STYLE, GetWindowLongW( hwnd, GWL_STYLE ) | ES_READONLY ); @@ -5020,8 +5023,13 @@ static LRESULT EditWndProc_common( HWND hwnd, UINT msg, GetWindowLongW( hwnd, GWL_STYLE ) & ~ES_READONLY ); es->style &= ~ES_READONLY; } - result = 1; + + if (old_style ^ es->style) + InvalidateRect(es->hwndSelf, NULL, TRUE); + + result = 1; break; + }
case EM_SETWORDBREAKPROC16: EDIT_EM_SetWordBreakProc16(es, (EDITWORDBREAKPROC16)lParam);