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