Commit 1191f057 authored by Alexandre Julliard's avatar Alexandre Julliard

Get rid of window region on the client side.

parent 4616dcb9
...@@ -53,7 +53,6 @@ typedef struct tagWND ...@@ -53,7 +53,6 @@ typedef struct tagWND
void *pHScroll; /* Horizontal scroll-bar info */ void *pHScroll; /* Horizontal scroll-bar info */
struct tagDCE *dce; /* Window DCE (if CS_OWNDC or CS_CLASSDC) */ struct tagDCE *dce; /* Window DCE (if CS_OWNDC or CS_CLASSDC) */
HRGN hrgnUpdate; /* Update region */ HRGN hrgnUpdate; /* Update region */
HRGN hrgnWnd; /* window's region */
DWORD dwStyle; /* Window style (from CreateWindow) */ DWORD dwStyle; /* Window style (from CreateWindow) */
DWORD dwExStyle; /* Extended style (from CreateWindowEx) */ DWORD dwExStyle; /* Extended style (from CreateWindowEx) */
DWORD clsStyle; /* Class style at window creation */ DWORD clsStyle; /* Class style at window creation */
......
...@@ -1149,7 +1149,6 @@ static HWND WIN_CreateWindowEx( CREATESTRUCTA *cs, ATOM classAtom, ...@@ -1149,7 +1149,6 @@ static HWND WIN_CreateWindowEx( CREATESTRUCTA *cs, ATOM classAtom,
wndPtr->hInstance = cs->hInstance; wndPtr->hInstance = cs->hInstance;
wndPtr->text = NULL; wndPtr->text = NULL;
wndPtr->hrgnUpdate = 0; wndPtr->hrgnUpdate = 0;
wndPtr->hrgnWnd = 0;
wndPtr->dwStyle = cs->style & ~WS_VISIBLE; wndPtr->dwStyle = cs->style & ~WS_VISIBLE;
wndPtr->dwExStyle = cs->dwExStyle; wndPtr->dwExStyle = cs->dwExStyle;
wndPtr->wIDmenu = 0; wndPtr->wIDmenu = 0;
......
...@@ -227,7 +227,6 @@ int WINAPI GetWindowRgn ( HWND hwnd, HRGN hrgn ) ...@@ -227,7 +227,6 @@ int WINAPI GetWindowRgn ( HWND hwnd, HRGN hrgn )
int WINAPI SetWindowRgn( HWND hwnd, HRGN hrgn, BOOL bRedraw ) int WINAPI SetWindowRgn( HWND hwnd, HRGN hrgn, BOOL bRedraw )
{ {
static const RECT empty_rect; static const RECT empty_rect;
WND *wndPtr;
BOOL ret; BOOL ret;
if (hrgn) if (hrgn)
...@@ -263,35 +262,7 @@ int WINAPI SetWindowRgn( HWND hwnd, HRGN hrgn, BOOL bRedraw ) ...@@ -263,35 +262,7 @@ int WINAPI SetWindowRgn( HWND hwnd, HRGN hrgn, BOOL bRedraw )
SERVER_END_REQ; SERVER_END_REQ;
} }
if (!ret) return FALSE; if (ret && USER_Driver.pSetWindowRgn)
if ((wndPtr = WIN_GetPtr( hwnd )) == WND_OTHER_PROCESS)
{
if (IsWindow( hwnd ))
FIXME( "not properly supported on other process window %p\n", hwnd );
wndPtr = NULL;
}
if (!wndPtr)
{
SetLastError( ERROR_INVALID_WINDOW_HANDLE );
return FALSE;
}
if (wndPtr->hrgnWnd == hrgn)
{
WIN_ReleasePtr( wndPtr );
return TRUE;
}
if (wndPtr->hrgnWnd)
{
/* delete previous region */
DeleteObject(wndPtr->hrgnWnd);
wndPtr->hrgnWnd = 0;
}
wndPtr->hrgnWnd = hrgn;
WIN_ReleasePtr( wndPtr );
if (USER_Driver.pSetWindowRgn)
ret = USER_Driver.pSetWindowRgn( hwnd, hrgn, bRedraw ); ret = USER_Driver.pSetWindowRgn( hwnd, hrgn, bRedraw );
if (ret && bRedraw) RedrawWindow( hwnd, NULL, 0, RDW_FRAME | RDW_INVALIDATE | RDW_ERASE ); if (ret && bRedraw) RedrawWindow( hwnd, NULL, 0, RDW_FRAME | RDW_INVALIDATE | RDW_ERASE );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment