Nikolay Sivov : user32/edit: Invalidate if style changed after EM_SETREADONLY.

Alexandre Julliard julliard at winehq.org
Tue Sep 22 13:55:51 CDT 2009


Module: wine
Branch: master
Commit: 0209b02f47a13274ca4f26efff2842466b43e673
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0209b02f47a13274ca4f26efff2842466b43e673

Author: Nikolay Sivov <bunglehead at 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);




More information about the wine-cvs mailing list