user32: Don't invalidate DCEs for sibling top-level windows since they are not clipped.
This commit is contained in:
parent
8b64a2f13c
commit
1dba866e61
|
@ -425,18 +425,17 @@ void invalidate_dce( HWND hwnd, const RECT *extra_rect )
|
||||||
if (dce->hwnd == hwnd || IsChild( hwnd, dce->hwnd ))
|
if (dce->hwnd == hwnd || IsChild( hwnd, dce->hwnd ))
|
||||||
{
|
{
|
||||||
make_dc_dirty( dce );
|
make_dc_dirty( dce );
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
else /* otherwise check if the window rectangle intersects this DCE window */
|
|
||||||
|
/* otherwise check if the window rectangle intersects this DCE window */
|
||||||
|
if (hwndScope == dce->hwnd || IsChild( hwndScope, dce->hwnd ))
|
||||||
{
|
{
|
||||||
if (hwndScope == GetDesktopWindow() ||
|
RECT dce_rect, tmp;
|
||||||
hwndScope == dce->hwnd || IsChild( hwndScope, dce->hwnd ))
|
GetWindowRect( dce->hwnd, &dce_rect );
|
||||||
{
|
if (IntersectRect( &tmp, &dce_rect, &window_rect ) ||
|
||||||
RECT dce_rect, tmp;
|
(extra_rect && IntersectRect( &tmp, &dce_rect, extra_rect )))
|
||||||
GetWindowRect( dce->hwnd, &dce_rect );
|
make_dc_dirty( dce );
|
||||||
if (IntersectRect( &tmp, &dce_rect, &window_rect ) ||
|
|
||||||
(extra_rect && IntersectRect( &tmp, &dce_rect, extra_rect )))
|
|
||||||
make_dc_dirty( dce );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
USER_Unlock();
|
USER_Unlock();
|
||||||
|
|
Loading…
Reference in New Issue