Nikolay Sivov : user32/edit: Invalidate if style changed after EM_SETREADONLY.
Module: wine Branch: master Commit: 0209b02f47a13274ca4f26efff2842466b43e673 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0209b02f47a13274ca4f26efff... Author: Nikolay Sivov <bunglehead(a)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);
participants (1)
-
Alexandre Julliard