Alexandre Julliard : user32: Don't show the icon title for off-screen icons .
Alexandre Julliard
julliard at winehq.org
Mon Oct 15 14:29:07 CDT 2012
Module: wine
Branch: master
Commit: 49a5db38696d5c768ec5e2a4add25c264844c8c3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=49a5db38696d5c768ec5e2a4add25c264844c8c3
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Oct 15 16:17:46 2012 +0200
user32: Don't show the icon title for off-screen icons.
---
dlls/user32/winpos.c | 57 +++++++++++++++++++++++++------------------------
1 files changed, 29 insertions(+), 28 deletions(-)
diff --git a/dlls/user32/winpos.c b/dlls/user32/winpos.c
index a04bf2c..5a2f1f2 100644
--- a/dlls/user32/winpos.c
+++ b/dlls/user32/winpos.c
@@ -660,42 +660,43 @@ BOOL WINPOS_RedrawIconTitle( HWND hWnd )
/***********************************************************************
* WINPOS_ShowIconTitle
*/
-static BOOL WINPOS_ShowIconTitle( HWND hwnd, BOOL bShow )
+static void WINPOS_ShowIconTitle( HWND hwnd, BOOL bShow )
{
- if (!GetPropA( hwnd, "__wine_x11_managed" ))
- {
- WND *win = WIN_GetPtr( hwnd );
- HWND title = 0;
+ WND *win = WIN_GetPtr( hwnd );
+ HWND title = 0;
- TRACE("%p %i\n", hwnd, (bShow != 0) );
+ TRACE("%p %i\n", hwnd, (bShow != 0) );
- if (!win || win == WND_OTHER_PROCESS || win == WND_DESKTOP) return FALSE;
- title = win->icon_title;
- WIN_ReleasePtr( win );
+ if (!win || win == WND_OTHER_PROCESS || win == WND_DESKTOP) return;
+ if (win->rectWindow.left == -32000 || win->rectWindow.top == -32000)
+ {
+ TRACE( "not showing title for hidden icon %p\n", hwnd );
+ bShow = FALSE;
+ }
+ else title = win->icon_title;
+ WIN_ReleasePtr( win );
- if( bShow )
+ if (bShow)
+ {
+ if (!title)
{
- if (!title)
- {
- title = ICONTITLE_Create( hwnd );
- if (!(win = WIN_GetPtr( hwnd )) || win == WND_OTHER_PROCESS)
- {
- DestroyWindow( title );
- return FALSE;
- }
- win->icon_title = title;
- WIN_ReleasePtr( win );
- }
- if (!IsWindowVisible(title))
+ title = ICONTITLE_Create( hwnd );
+ if (!(win = WIN_GetPtr( hwnd )) || win == WND_OTHER_PROCESS)
{
- SendMessageW( title, WM_SHOWWINDOW, TRUE, 0 );
- SetWindowPos( title, 0, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE |
- SWP_NOACTIVATE | SWP_NOZORDER | SWP_SHOWWINDOW );
+ DestroyWindow( title );
+ return;
}
- }
- else if (title) ShowWindow( title, SW_HIDE );
+ win->icon_title = title;
+ WIN_ReleasePtr( win );
+ }
+ if (!IsWindowVisible(title))
+ {
+ SendMessageW( title, WM_SHOWWINDOW, TRUE, 0 );
+ SetWindowPos( title, 0, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE |
+ SWP_NOACTIVATE | SWP_NOZORDER | SWP_SHOWWINDOW );
+ }
}
- return FALSE;
+ else if (title) ShowWindow( title, SW_HIDE );
}
/*******************************************************************
More information about the wine-cvs
mailing list