diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-28 20:34:43 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-28 20:34:43 +0000 |
commit | 91ed28c27936e69df445346476daeb588066c83e (patch) | |
tree | 4a495290ea1268e10a48cddd6e1e254ab863e9be /views | |
parent | a84396ed6fbc374b1d6096ab96794798dc450008 (diff) | |
download | chromium_src-91ed28c27936e69df445346476daeb588066c83e.zip chromium_src-91ed28c27936e69df445346476daeb588066c83e.tar.gz chromium_src-91ed28c27936e69df445346476daeb588066c83e.tar.bz2 |
Fix one case where default Non-client painting can occur... before a window is fully activated, WM_NCPAINT can be called and if we do not suppress default handling in that case then Windows will attempt to draw the standard border/controls resulting in an intermittent flicker.
BUG=none
TEST=alt+tab quickly to and from Chrome in custom frame mode (Vista basic). Should be no non-client window flicker.
Review URL: http://codereview.chromium.org/6905099
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83391 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views')
-rw-r--r-- | views/window/window_win.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/views/window/window_win.cc b/views/window/window_win.cc index be8db6d..e1817e4 100644 --- a/views/window/window_win.cc +++ b/views/window/window_win.cc @@ -684,7 +684,8 @@ LRESULT WindowWin::OnNCHitTest(const CPoint& point) { void WindowWin::OnNCPaint(HRGN rgn) { // When using a custom frame, we want to avoid calling DefWindowProc() since // that may render artifacts. - SetMsgHandled(is_in_size_move_ && !delegate_->IsUsingNativeFrame()); + SetMsgHandled((!IsActive() || is_in_size_move_) && + !delegate_->IsUsingNativeFrame()); } LRESULT WindowWin::OnNCUAHDrawCaption(UINT msg, WPARAM w_param, |