Alexandre Julliard : server: Trigger a repaint on layered windows the first time the attributes are set .
Alexandre Julliard
julliard at winehq.org
Mon Sep 16 16:57:22 CDT 2013
Module: wine
Branch: master
Commit: f9c76be08437c8360722374066a672d8338b0e85
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f9c76be08437c8360722374066a672d8338b0e85
Author: Alexandre Julliard <julliard at winehq.org>
Date: Sat Sep 14 13:53:08 2013 +0200
server: Trigger a repaint on layered windows the first time the attributes are set.
---
server/window.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/server/window.c b/server/window.c
index e141f93..1696fce 100644
--- a/server/window.c
+++ b/server/window.c
@@ -2794,12 +2794,16 @@ DECL_HANDLER(set_window_layered_info)
if (win->ex_style & WS_EX_LAYERED)
{
+ int was_layered = win->is_layered;
+
if (req->flags & LWA_ALPHA) win->alpha = req->alpha;
else if (!win->is_layered) win->alpha = 0; /* alpha init value is 0 */
win->color_key = req->color_key;
win->layered_flags = req->flags;
win->is_layered = 1;
+ /* repaint since we know now it's not going to use UpdateLayeredWindow */
+ if (!was_layered) redraw_window( win, 0, 1, RDW_INVALIDATE | RDW_ERASE | RDW_FRAME );
}
else set_win32_error( ERROR_INVALID_WINDOW_HANDLE );
}
More information about the wine-cvs
mailing list