Commit 93233889 authored by Alexandre Julliard's avatar Alexandre Julliard

Removed no longer used WIN_InternalShowOwnedPopups function.

parent cc3cf401
......@@ -74,7 +74,6 @@ typedef struct tagWND
#define WIN_ISDIALOG 0x0010 /* Window is a dialog */
#define WIN_ISWIN32 0x0020 /* Understands Win32 messages */
#define WIN_NEEDS_SHOW_OWNEDPOPUP 0x0040 /* WM_SHOWWINDOW:SC_SHOW must be sent in the next ShowOwnedPopup call */
#define WIN_NEEDS_INTERNALSOP 0x0080 /* Window was hidden by WIN_InternalShowOwnedPopups */
/* Window functions */
extern WND *WIN_GetPtr( HWND hwnd );
......@@ -97,7 +96,6 @@ extern BOOL WIN_CreateDesktopWindow(void);
extern BOOL WIN_IsWindowDrawable( HWND hwnd, BOOL );
extern HWND *WIN_ListParents( HWND hwnd );
extern HWND *WIN_ListChildren( HWND hwnd );
extern BOOL WIN_InternalShowOwnedPopups( HWND owner, BOOL fShow, BOOL unmanagedOnly );
extern void MDI_CalcDefaultChildPos( HWND hwndClient, INT total, LPPOINT lpPos, INT delta );
/* internal SendInput codes (FIXME) */
......
......@@ -2769,70 +2769,6 @@ HWND WINAPI GetWindow( HWND hwnd, UINT rel )
}
/***********************************************************************
* WIN_InternalShowOwnedPopups
*
* Internal version of ShowOwnedPopups; Wine functions should use this
* to avoid interfering with application calls to ShowOwnedPopups
* and to make sure the application can't prevent showing/hiding.
*
* Set unmanagedOnly to TRUE to show/hide unmanaged windows only.
*
*/
BOOL WIN_InternalShowOwnedPopups( HWND owner, BOOL fShow, BOOL unmanagedOnly )
{
int count = 0;
WND *pWnd;
HWND *win_array = WIN_ListChildren( GetDesktopWindow() );
if (!win_array) return TRUE;
/*
* Show windows Lowest first, Highest last to preserve Z-Order
*/
while (win_array[count]) count++;
while (--count >= 0)
{
if (GetWindow( win_array[count], GW_OWNER ) != owner) continue;
if (!(pWnd = WIN_FindWndPtr( win_array[count] ))) continue;
if (pWnd->dwStyle & WS_POPUP)
{
if (fShow)
{
/* check in window was flagged for showing in previous WIN_InternalShowOwnedPopups call */
if (pWnd->flags & WIN_NEEDS_INTERNALSOP)
{
/*
* Call ShowWindow directly because an application can intercept WM_SHOWWINDOW messages
*/
ShowWindow(pWnd->hwndSelf,SW_SHOW);
pWnd->flags &= ~WIN_NEEDS_INTERNALSOP; /* remove the flag */
}
}
else
{
if ( IsWindowVisible(pWnd->hwndSelf) && /* hide only if window is visible */
!( pWnd->flags & WIN_NEEDS_INTERNALSOP ) && /* don't hide if previous call already did it */
!( unmanagedOnly && (pWnd->dwExStyle & WS_EX_MANAGED) ) ) /* don't hide managed windows if unmanagedOnly is TRUE */
{
/*
* Call ShowWindow directly because an application can intercept WM_SHOWWINDOW messages
*/
ShowWindow(pWnd->hwndSelf,SW_HIDE);
/* flag the window for showing on next WIN_InternalShowOwnedPopups call */
pWnd->flags |= WIN_NEEDS_INTERNALSOP;
}
}
}
WIN_ReleaseWndPtr( pWnd );
}
HeapFree( GetProcessHeap(), 0, win_array );
return TRUE;
}
/*******************************************************************
* ShowOwnedPopups (USER32.@)
*/
......
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