Chromium Code Reviews| Index: ui/views/win/hwnd_message_handler.cc |
| diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc |
| index 0e513db03d740ecc6d42ab23db1240f497c686eb..52d64131d8fb564a600083b240491202586c3e27 100644 |
| --- a/ui/views/win/hwnd_message_handler.cc |
| +++ b/ui/views/win/hwnd_message_handler.cc |
| @@ -817,7 +817,11 @@ void HWNDMessageHandler::FrameTypeChanged() { |
| SetWindowPos(hwnd(), NULL, 0, 0, 0, 0, flags | SWP_SHOWWINDOW); |
| // Invalidate the window to force a paint. There may be child windows which |
| // could resize in this context. Don't paint right away. |
| - ::InvalidateRect(hwnd(), NULL, FALSE); |
| + base::MessageLoop::current()->PostDelayedTask( |
| + FROM_HERE, |
| + base::Bind(base::IgnoreResult(&::InvalidateRect), hwnd(), |
| + reinterpret_cast<const RECT*>(NULL), FALSE), |
| + base::TimeDelta::FromMilliseconds(500)); |
|
ananta
2014/08/05 00:24:03
It now appears that the bug was never fixed. We ne
sky
2014/08/05 01:30:56
This is a total hack. Why do we need to delay?
Als
|
| } |
| // WM_DWMCOMPOSITIONCHANGED is only sent to top level windows, however we want |
| @@ -841,7 +845,7 @@ void HWNDMessageHandler::SchedulePaintInRect(const gfx::Rect& rect) { |
| waiting_for_redraw_layered_window_contents_ = true; |
| base::MessageLoop::current()->PostTask( |
| FROM_HERE, |
| - base::Bind(&HWNDMessageHandler::RedrawLayeredWindowContents, |
| + base::Bind(base::IgnoreResult(&HWNDMessageHandler::RedrawLayeredWindowContents), |
| weak_factory_.GetWeakPtr())); |
| } |
| } else { |