From: Rémi Bernon rbernon@codeweavers.com
--- server/window.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/server/window.c b/server/window.c index 914d376a44a..988ddf7f0b3 100644 --- a/server/window.c +++ b/server/window.c @@ -1617,14 +1617,14 @@ static void validate_parents( struct window *child )
/* add/subtract a region (in client coordinates) to the update region of the window */ -static void redraw_window( struct window *win, struct region *region, int frame, unsigned int flags ) +static void redraw_window( struct window *win, struct region *region, unsigned int flags ) { struct region *child_rgn, *tmp; struct window *child;
if (flags & RDW_INVALIDATE) { - if (!(tmp = crop_region_to_win_rect( win, region, frame ))) return; + if (!(tmp = crop_region_to_win_rect( win, region, (flags & RDW_FRAME) ))) return;
if (!add_update_region( win, tmp )) return;
@@ -1639,7 +1639,7 @@ static void redraw_window( struct window *win, struct region *region, int frame, } else if (win->update_region) { - if ((tmp = crop_region_to_win_rect( win, region, frame ))) + if ((tmp = crop_region_to_win_rect( win, region, (flags & RDW_FRAME) ))) { if (!subtract_region( tmp, win->update_region, tmp )) { @@ -1676,7 +1676,7 @@ static void redraw_window( struct window *win, struct region *region, int frame, offset_region( tmp, win->window_rect.left - win->client_rect.left, win->window_rect.top - win->client_rect.top );
- if (flags & RDW_INVALIDATE) flags |= RDW_FRAME | RDW_ERASE; + if (flags & RDW_INVALIDATE) flags |= RDW_ERASE;
LIST_FOR_EACH_ENTRY( child, &win->children, struct window, entry ) { @@ -1688,7 +1688,7 @@ static void redraw_window( struct window *win, struct region *region, int frame, if (rect_in_region( child_rgn, &child->window_rect )) { offset_region( child_rgn, -child->client_rect.left, -child->client_rect.top ); - redraw_window( child, child_rgn, 1, flags ); + redraw_window( child, child_rgn, flags | RDW_FRAME ); } } free_region( child_rgn ); @@ -1885,7 +1885,7 @@ static struct region *expose_window( struct window *win, const struct rectangle { /* make it relative to parent */ offset_region( new_vis_rgn, old_window_rect->left, old_window_rect->top ); - redraw_window( win->parent, new_vis_rgn, 0, RDW_INVALIDATE | RDW_ERASE | RDW_ALLCHILDREN ); + redraw_window( win->parent, new_vis_rgn, RDW_INVALIDATE | RDW_ERASE | RDW_ALLCHILDREN ); } } } @@ -2056,7 +2056,7 @@ static void set_window_pos( struct window *win, struct window *previous, }
if (exposed_rgn) - redraw_window( win, exposed_rgn, 1, RDW_INVALIDATE | RDW_ERASE | RDW_FRAME | RDW_ALLCHILDREN ); + redraw_window( win, exposed_rgn, RDW_INVALIDATE | RDW_ERASE | RDW_FRAME | RDW_ALLCHILDREN );
done: if (old_vis_rgn) free_region( old_vis_rgn ); @@ -2081,7 +2081,7 @@ static void set_window_region( struct window *win, struct region *region, int re /* expose anything revealed by the change */ if (old_vis_rgn && ((exposed_rgn = expose_window( win, &win->window_rect, old_vis_rgn, 0 )))) { - redraw_window( win, exposed_rgn, 1, RDW_INVALIDATE | RDW_ERASE | RDW_FRAME | RDW_ALLCHILDREN ); + redraw_window( win, exposed_rgn, RDW_INVALIDATE | RDW_ERASE | RDW_FRAME | RDW_ALLCHILDREN ); free_region( exposed_rgn ); }
@@ -2985,7 +2985,7 @@ DECL_HANDLER(redraw_window) } }
- redraw_window( win, region, (flags & RDW_INVALIDATE) && (flags & RDW_FRAME), flags ); + redraw_window( win, region, flags ); if (region) free_region( region ); }
@@ -3161,7 +3161,7 @@ DECL_HANDLER(set_window_layered_info) 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_ALLCHILDREN | RDW_INVALIDATE | RDW_ERASE | RDW_FRAME ); + if (!was_layered) redraw_window( win, 0, RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_ERASE | RDW_FRAME ); } else set_win32_error( ERROR_INVALID_WINDOW_HANDLE ); }