summaryrefslogtreecommitdiffstats
path: root/views
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-28 20:34:43 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-28 20:34:43 +0000
commit91ed28c27936e69df445346476daeb588066c83e (patch)
tree4a495290ea1268e10a48cddd6e1e254ab863e9be /views
parenta84396ed6fbc374b1d6096ab96794798dc450008 (diff)
downloadchromium_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.cc3
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,