From dad0707d0e7ea3f612dd14a5e35b5af163cedf82 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Tue, 22 Nov 2016 13:36:43 -0800 Subject: M55: Invalidate a slightly larger rect when updating popup annotations. It looks like sometimes there are rounding errors in the display pipeline when displaying / hiding popup annotations. Compensate by rouding up the damaged rect slightly. BUG=chromium:662804 Review-Url: https://codereview.chromium.org/2492733002 (cherry picked from commit c75dcd253d75ea93608410d90a3ce1b605590af0) Review URL: https://codereview.chromium.org/2523023002 . --- fpdfsdk/cpdfsdk_baannothandler.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/fpdfsdk/cpdfsdk_baannothandler.cpp b/fpdfsdk/cpdfsdk_baannothandler.cpp index a9e24fb71a..7ed42a7d98 100644 --- a/fpdfsdk/cpdfsdk_baannothandler.cpp +++ b/fpdfsdk/cpdfsdk_baannothandler.cpp @@ -28,6 +28,11 @@ void UpdateAnnotRects(CPDFSDK_PageView* pPageView, CPDFSDK_BAAnnot* pBAAnnot) { rects.push_back(pBAAnnot->GetRect()); if (CPDF_Annot* pPopupAnnot = pBAAnnot->GetPDFPopupAnnot()) rects.push_back(pPopupAnnot->GetRect()); + + // Make the rects round up to avoid https://crbug.com/662804 + for (CFX_FloatRect& rect : rects) + rect.Inflate(1, 1); + pPageView->UpdateRects(rects); } -- cgit v1.2.3