Module: wine Branch: master Commit: 740b0e646b37b49de1989195a0fe45f74c415438 URL: http://source.winehq.org/git/wine.git/?a=commit;h=740b0e646b37b49de1989195a0...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Apr 9 16:22:57 2008 +0200
winex11: Get rid of the useless systray hidden flag.
---
dlls/winex11.drv/systray.c | 33 +++++++++++---------------------- 1 files changed, 11 insertions(+), 22 deletions(-)
diff --git a/dlls/winex11.drv/systray.c b/dlls/winex11.drv/systray.c index 25d0e60..460fd47 100644 --- a/dlls/winex11.drv/systray.c +++ b/dlls/winex11.drv/systray.c @@ -55,7 +55,6 @@ struct tray_icon HWND tooltip; /* Icon tooltip */ UINT id; /* the unique id given by the app */ UINT callback_message; - BOOL hidden; /* icon display state */ WCHAR tiptext[128]; /* Tooltip text. If empty => tooltip disabled */ };
@@ -259,14 +258,12 @@ static BOOL hide_icon( struct tray_icon *icon ) { TRACE( "id=0x%x, hwnd=%p\n", icon->id, icon->owner );
- if (!icon->window || icon->hidden) return TRUE; /* already hidden */ + if (!icon->window) return TRUE; /* already hidden */
- if (icon->window) - { - DestroyWindow(icon->window); - DestroyWindow(icon->tooltip); - } - icon->hidden = TRUE; + DestroyWindow(icon->window); + DestroyWindow(icon->tooltip); + icon->window = 0; + icon->tooltip = 0; return TRUE; }
@@ -279,7 +276,7 @@ static BOOL show_icon( struct tray_icon *icon )
TRACE( "id=0x%x, hwnd=%p\n", icon->id, icon->owner );
- if (icon->window && !icon->hidden) return TRUE; /* already shown */ + if (icon->window) return TRUE; /* already shown */
if (!class_registered) { @@ -315,7 +312,6 @@ static BOOL show_icon( struct tray_icon *icon ) dock_systray_window( icon->window, systray_window ); SetTimer( icon->window, 1, 1000, NULL ); ShowWindow( icon->window, SW_SHOWNA ); - icon->hidden = FALSE; return TRUE; }
@@ -330,15 +326,11 @@ static BOOL modify_icon( struct tray_icon *icon, NOTIFYICONDATAW *nid ) else show_icon( icon ); }
- /* startup case*/ - if (!icon->window && !icon->hidden) show_icon( icon ); - if (nid->uFlags & NIF_ICON) { if (icon->image) DestroyIcon(icon->image); icon->image = CopyIcon(nid->hIcon); - - if (!icon->hidden) + if (icon->window) { struct x11drv_win_data *data = X11DRV_get_win_data( icon->window ); if (data) XClearArea( gdi_display, data->client_window, 0, 0, 0, 0, True ); @@ -352,8 +344,7 @@ static BOOL modify_icon( struct tray_icon *icon, NOTIFYICONDATAW *nid ) if (nid->uFlags & NIF_TIP) { lstrcpynW(icon->tiptext, nid->szTip, sizeof(icon->tiptext)/sizeof(WCHAR)); - if (!icon->hidden) - update_tooltip_text(icon); + if (icon->tooltip) update_tooltip_text(icon); } if (nid->uFlags & NIF_INFO && nid->cbSize >= NOTIFYICONDATAA_V2_SIZE) { @@ -387,11 +378,9 @@ static BOOL add_icon(NOTIFYICONDATAW *nid)
list_add_tail(&icon_list, &icon->entry);
- /* - * Both icon->window and icon->hidden are zero. modify_icon function - * will treat this case as a startup, i.e. icon window will be created if - * NIS_HIDDEN flag is not set. - */ + /* if hidden state is specified, modify_icon will take care of it */ + if (!((nid->uFlags & NIF_STATE) && (nid->dwStateMask & NIS_HIDDEN))) + show_icon( icon );
return modify_icon( icon, nid ); }