Removed WIN_GetDesktop().

This commit is contained in:
Alexandre Julliard 2001-08-21 17:13:55 +00:00
parent 588ff3743a
commit fa42aa81e4
5 changed files with 13 additions and 91 deletions

View File

@ -1284,22 +1284,20 @@ static HWND query_zorder( Display *display, HWND hWndCheck)
{
HWND hwndInsertAfter = HWND_TOP;
WND *pWndCheck = WIN_FindWndPtr(hWndCheck);
WND *pDesktop = WIN_GetDesktop();
WND *pWnd, *pWndZ = WIN_LockWndPtr(pDesktop->child);
WND *top = WIN_FindWndPtr( GetTopWindow(0) );
WND *pWnd, *pWndZ = top;
Window w, parent, *children = NULL;
unsigned total, check, pos, best;
if( !__check_query_condition(&pWndZ, &pWnd) )
{
WIN_ReleaseWndPtr(pWndCheck);
WIN_ReleaseWndPtr(pDesktop->child);
WIN_ReleaseDesktop();
WIN_ReleaseWndPtr(top);
return hwndInsertAfter;
}
WIN_LockWndPtr(pWndZ);
WIN_LockWndPtr(pWnd);
WIN_ReleaseWndPtr(pDesktop->child);
WIN_ReleaseDesktop();
WIN_ReleaseWndPtr(top);
parent = __get_common_ancestor( display, get_whole_window(pWndZ),
get_whole_window(pWnd), &children, &total );

View File

@ -84,8 +84,6 @@ extern WND* WIN_FindWndPtr( HWND hwnd );
extern WND* WIN_LockWndPtr(WND *wndPtr);
extern void WIN_ReleaseWndPtr(WND *wndPtr);
extern void WIN_UpdateWndPtr(WND **oldPtr,WND *newPtr);
extern WND* WIN_GetDesktop(void);
extern void WIN_ReleaseDesktop(void);
extern void WIN_DumpWindow( HWND hwnd );
extern void WIN_WalkWindows( HWND hwnd, int indent );
extern BOOL WIN_UnlinkWindow( HWND hwnd );

View File

@ -165,7 +165,7 @@ static HRGN WIN_UpdateNCRgn(WND* wnd, HRGN hRgn, UINT uncFlags )
wnd->hwndSelf, wnd->hrgnUpdate, hRgn, uncFlags, wnd->flags & WIN_NEEDS_NCPAINT);
/* desktop window doesn't have a nonclient area */
if(wnd == WIN_GetDesktop())
if(wnd->hwndSelf == GetDesktopWindow())
{
wnd->flags &= ~WIN_NEEDS_NCPAINT;
if( wnd->hrgnUpdate > 1 )
@ -174,10 +174,8 @@ static HRGN WIN_UpdateNCRgn(WND* wnd, HRGN hRgn, UINT uncFlags )
{
hrgnRet = wnd->hrgnUpdate;
}
WIN_ReleaseDesktop();
return hrgnRet;
}
WIN_ReleaseDesktop();
if ((wnd->hwndSelf == GetForegroundWindow()) &&
!(wnd->flags & WIN_NCACTIVATED) )
@ -498,7 +496,6 @@ HBRUSH16 WINAPI GetControlBrush16( HWND16 hwnd, HDC16 hdc, UINT16 ctlType )
static void RDW_ValidateParent(WND *wndChild)
{
WND *wndParent = WIN_LockWndPtr(wndChild->parent);
WND *wndDesktop = WIN_GetDesktop();
HRGN hrg;
if (wndChild->hrgnUpdate == 1 ) {
@ -511,7 +508,7 @@ static void RDW_ValidateParent(WND *wndChild)
} else
hrg = wndChild->hrgnUpdate;
while ((wndParent) && (wndParent != wndDesktop) ) {
while ((wndParent) && (wndParent->hwndSelf != GetDesktopWindow()) ) {
if (!(wndParent->dwStyle & WS_CLIPCHILDREN))
{
if (wndParent->hrgnUpdate != 0)
@ -543,7 +540,6 @@ static void RDW_ValidateParent(WND *wndChild)
}
if (hrg != wndChild->hrgnUpdate) DeleteObject( hrg );
WIN_ReleaseWndPtr(wndParent);
WIN_ReleaseDesktop();
}
/***********************************************************************

View File

@ -215,44 +215,6 @@ void WIN_DumpWindow( HWND hwnd )
}
/***********************************************************************
* WIN_WalkWindows
*
* Walk the windows tree and print each window on stderr.
*/
void WIN_WalkWindows( HWND hwnd, int indent )
{
WND *ptr;
char className[80];
ptr = hwnd ? WIN_FindWndPtr( hwnd ) : WIN_GetDesktop();
if (!ptr)
{
WARN("Invalid window handle %04x\n", hwnd );
return;
}
if (!indent) /* first time around */
DPRINTF( "%-16.16s %-8.8s %-6.6s %-17.17s %-8.8s %s\n",
"hwnd", " wndPtr", "queue", "Class Name", " Style", " WndProc"
" Text");
while (ptr)
{
DPRINTF( "%*s%04x%*s", indent, "", ptr->hwndSelf, 13-indent,"");
GetClassNameA( ptr->hwndSelf, className, sizeof(className) );
DPRINTF( "%08lx %-6.4x %-17.17s %08x %08x %.14s\n",
(DWORD)ptr, ptr->hmemTaskQ, className,
(UINT)ptr->dwStyle, (UINT)ptr->winproc,
ptr->text ? debugstr_w(ptr->text) : "<null>");
if (ptr->child) WIN_WalkWindows( ptr->child->hwndSelf, indent+1 );
WIN_UpdateWndPtr(&ptr,ptr->next);
}
}
/***********************************************************************
* WIN_UnlinkWindow
*
@ -1206,12 +1168,8 @@ BOOL WINAPI DestroyWindow( HWND hwnd )
/* Initialization */
if (hwnd == GetDesktopWindow()) return FALSE; /* Can't destroy desktop */
if (!(wndPtr = WIN_FindWndPtr( hwnd ))) return FALSE;
if (wndPtr == pWndDesktop)
{
retvalue = FALSE; /* Can't destroy desktop */
goto end;
}
/* Look whether the focus is within the tree of windows we will
* be destroying.
@ -1547,24 +1505,6 @@ HWND WINAPI FindWindowW( LPCWSTR className, LPCWSTR title )
}
/**********************************************************************
* WIN_GetDesktop
* returns a locked pointer
*/
WND *WIN_GetDesktop(void)
{
return WIN_LockWndPtr(pWndDesktop);
}
/**********************************************************************
* WIN_ReleaseDesktop
* unlock the desktop pointer
*/
void WIN_ReleaseDesktop(void)
{
WIN_ReleaseWndPtr(pWndDesktop);
}
/**********************************************************************
* GetDesktopWindow (USER.286)
*/
@ -2433,15 +2373,8 @@ HWND16 WINAPI GetTopWindow16( HWND16 hwnd )
*/
HWND WINAPI GetTopWindow( HWND hwnd )
{
HWND retval = 0;
WND * wndPtr = (hwnd) ?
WIN_FindWndPtr( hwnd ) : WIN_GetDesktop();
if (wndPtr && wndPtr->child)
retval = wndPtr->child->hwndSelf;
WIN_ReleaseWndPtr(wndPtr);
return retval;
if (!hwnd) hwnd = GetDesktopWindow();
return GetWindow( hwnd, GW_CHILD );
}

View File

@ -1550,14 +1550,11 @@ BOOL WINPOS_SetActiveWindow( HWND hWnd, BOOL fMouse, BOOL fChangeFocus)
if (wndPtr && !(wndPtr->dwStyle & WS_CHILD) && !(wndPtr->dwExStyle & WS_EX_MANAGED))
{
/* check Z-order and bring hWnd to the top */
for (wndTemp = WIN_LockWndPtr(WIN_GetDesktop()->child); wndTemp; WIN_UpdateWndPtr(&wndTemp,wndTemp->next))
{
if (wndTemp->dwStyle & WS_VISIBLE) break;
}
WIN_ReleaseDesktop();
WIN_ReleaseWndPtr(wndTemp);
HWND tmp = GetTopWindow(0);
while (tmp && !(GetWindowLongA( tmp, GWL_STYLE ) & WS_VISIBLE))
tmp = GetWindow( tmp, GW_HWNDNEXT );
if( wndTemp != wndPtr )
if( tmp != hWnd )
SetWindowPos(hWnd, HWND_TOP, 0,0,0,0,
SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE );
if (!IsWindow(hWnd))