diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2022-06-22 22:30:53 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2022-06-28 06:08:16 +0200 |
commit | 9bf35536d577d5d86a1c1ba05d4ef7662150c238 (patch) | |
tree | 3b920a64f87fe8ce2221412c992af5c2057aaf66 /src/pdf | |
parent | 675674fcec744f4556c3685c4128afacb7e8d829 (diff) | |
download | qtwebengine-9bf35536d577d5d86a1c1ba05d4ef7662150c238.tar.gz |
QPdfLinkModel: deal with flipped rectangle coordinates
Chromium's pdf/pdfium/pdfium_page.cc provides us a clue that this can
happen: at least they seem to have found a need for a workaround there.
Task-number: QTBUG-100630
Change-Id: I8b6091389d63687b4c6d9d31252b9b5a873347bc
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'src/pdf')
-rw-r--r-- | src/pdf/qpdflinkmodel.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/pdf/qpdflinkmodel.cpp b/src/pdf/qpdflinkmodel.cpp index dc3c18c8e..4fc9d8aea 100644 --- a/src/pdf/qpdflinkmodel.cpp +++ b/src/pdf/qpdflinkmodel.cpp @@ -180,6 +180,12 @@ void QPdfLinkModelPrivate::update() qCWarning(qLcLink) << "skipping link with invalid bounding box"; continue; // while enumerating links } + // In case horizontal/vertical coordinates are flipped, swap them. + if (rect.right < rect.left) + std::swap(rect.right, rect.left); + if (rect.bottom > rect.top) + std::swap(rect.bottom, rect.top); + QPdfLink linkData; linkData.d->rects << QRectF(rect.left, pageHeight - rect.top, rect.right - rect.left, rect.top - rect.bottom); |