Module: wine Branch: master Commit: f9c76be08437c8360722374066a672d8338b0e85 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f9c76be08437c8360722374066...
Author: Alexandre Julliard julliard@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 ); }