Jacek Caban : win32u: Move IsWindowEnabled implementation from user32.

Alexandre Julliard julliard at winehq.org
Thu Apr 7 16:19:08 CDT 2022


Module: wine
Branch: master
Commit: c31954dfa7b026bc13960d3c8184ee94e1b4b05c
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=c31954dfa7b026bc13960d3c8184ee94e1b4b05c

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Apr  7 15:26:25 2022 +0200

win32u: Move IsWindowEnabled implementation from user32.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/user32/win.c    |  9 ++-------
 dlls/win32u/window.c | 13 +++++++++++++
 include/ntuser.h     |  1 +
 3 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/dlls/user32/win.c b/dlls/user32/win.c
index 0a3f65e5aa4..881825b5510 100644
--- a/dlls/user32/win.c
+++ b/dlls/user32/win.c
@@ -915,14 +915,9 @@ BOOL WINAPI EnableWindow( HWND hwnd, BOOL enable )
 /***********************************************************************
  *		IsWindowEnabled (USER32.@)
  */
-BOOL WINAPI IsWindowEnabled(HWND hWnd)
+BOOL WINAPI IsWindowEnabled( HWND hwnd )
 {
-    LONG ret;
-
-    SetLastError(NO_ERROR);
-    ret = GetWindowLongW( hWnd, GWL_STYLE );
-    if (!ret && GetLastError() != NO_ERROR) return FALSE;
-    return !(ret & WS_DISABLED);
+    return NtUserCallHwnd( hwnd, NtUserIsWindowEnabled );
 }
 
 /***********************************************************************
diff --git a/dlls/win32u/window.c b/dlls/win32u/window.c
index 0b826644131..10c6ff4bf89 100644
--- a/dlls/win32u/window.c
+++ b/dlls/win32u/window.c
@@ -807,6 +807,17 @@ BOOL is_window_unicode( HWND hwnd )
     return ret;
 }
 
+/* see IsWindowEnabled */
+static BOOL is_window_enabled( HWND hwnd )
+{
+    LONG ret;
+
+    SetLastError( NO_ERROR );
+    ret = get_window_long( hwnd, GWL_STYLE );
+    if (!ret && GetLastError() != NO_ERROR) return FALSE;
+    return !(ret & WS_DISABLED);
+}
+
 /* see GetWindowDpiAwarenessContext */
 DPI_AWARENESS_CONTEXT get_window_dpi_awareness_context( HWND hwnd )
 {
@@ -4979,6 +4990,8 @@ ULONG_PTR WINAPI NtUserCallHwnd( HWND hwnd, DWORD code )
         return get_server_window_text( hwnd, NULL, 0 );
     case NtUserIsWindow:
         return is_window( hwnd );
+    case NtUserIsWindowEnabled:
+        return is_window_enabled( hwnd );
     case NtUserIsWindowUnicode:
         return is_window_unicode( hwnd );
     case NtUserIsWindowVisible:
diff --git a/include/ntuser.h b/include/ntuser.h
index 46da835e24b..38cc8f96057 100644
--- a/include/ntuser.h
+++ b/include/ntuser.h
@@ -198,6 +198,7 @@ enum
     NtUserGetWindowDpiAwarenessContext,
     NtUserGetWindowTextLength,
     NtUserIsWindow,
+    NtUserIsWindowEnabled,
     NtUserIsWindowUnicode,
     NtUserIsWindowVisible,
 };




More information about the wine-cvs mailing list