Jacek Caban : winex11: Call create_tooltip from WM_CREATE handler.
Alexandre Julliard
julliard at winehq.org
Wed May 4 16:14:45 CDT 2022
Module: wine
Branch: master
Commit: 17afa305777a2cced2fa77f937ecb2216fda3e3c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=17afa305777a2cced2fa77f937ecb2216fda3e3c
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Apr 29 15:53:02 2022 +0200
winex11: Call create_tooltip from WM_CREATE handler.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winex11.drv/systray.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/dlls/winex11.drv/systray.c b/dlls/winex11.drv/systray.c
index c6d12b21c28..45ad0617246 100644
--- a/dlls/winex11.drv/systray.c
+++ b/dlls/winex11.drv/systray.c
@@ -322,14 +322,13 @@ static void add_to_standalone_tray( struct tray_icon *icon )
icon->display = nb_displayed;
pos = get_icon_pos( icon );
- icon->window = CreateWindowW( icon_classname, NULL, WS_CHILD | WS_VISIBLE,
- pos.x, pos.y, icon_cx, icon_cy, standalone_tray, NULL, NULL, icon );
+ CreateWindowW( icon_classname, NULL, WS_CHILD | WS_VISIBLE,
+ pos.x, pos.y, icon_cx, icon_cy, standalone_tray, NULL, NULL, icon );
if (!icon->window)
{
icon->display = -1;
return;
}
- create_tooltip( icon );
nb_displayed++;
size = get_window_size();
@@ -474,6 +473,11 @@ static LRESULT WINAPI tray_icon_wndproc(HWND hwnd, UINT msg, WPARAM wparam, LPAR
switch (msg)
{
+ case WM_CREATE:
+ icon->window = hwnd;
+ create_tooltip( icon );
+ break;
+
case WM_SIZE:
if (icon->window && icon->layered) repaint_tray_icon( icon );
break;
@@ -643,10 +647,10 @@ static void dock_systray_icon( Display *display, struct tray_icon *icon, Window
get_systray_visual_info( display, systray_window, &visual );
icon->layered = (visual.depth == 32);
- icon->window = CreateWindowExW( icon->layered ? WS_EX_LAYERED : 0,
- icon_classname, NULL, WS_CLIPSIBLINGS | WS_POPUP,
- CW_USEDEFAULT, CW_USEDEFAULT, icon_cx, icon_cy,
- NULL, NULL, NULL, icon );
+ CreateWindowExW( icon->layered ? WS_EX_LAYERED : 0,
+ icon_classname, NULL, WS_CLIPSIBLINGS | WS_POPUP,
+ CW_USEDEFAULT, CW_USEDEFAULT, icon_cx, icon_cy,
+ NULL, NULL, NULL, icon );
if (!(data = get_win_data( icon->window ))) return;
if (icon->layered) set_window_visual( data, &visual, TRUE );
@@ -654,7 +658,6 @@ static void dock_systray_icon( Display *display, struct tray_icon *icon, Window
window = data->whole_window;
release_win_data( data );
- create_tooltip( icon );
ShowWindow( icon->window, SW_SHOWNA );
TRACE( "icon window %p/%lx\n", icon->window, window );
More information about the wine-cvs
mailing list