[Libreoffice-commits] core.git: vcl/qt5

Jan-Marek Glogowski (via logerrit) logerrit at kemper.freedesktop.org
Mon Feb 15 19:44:56 UTC 2021


 vcl/qt5/Qt5Widget.cxx |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit 41cffc379259fec626a282ca243a9750d96d1c63
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Mon Feb 15 17:46:37 2021 +0100
Commit:     Jan-Marek Glogowski <glogow at fbihome.de>
CommitDate: Mon Feb 15 20:44:08 2021 +0100

    tdf#140207 Qt downscale the ExtTextInputPos
    
    Qt reports the unscaled pixel values to the IM, so simply divide
    all values reported by SalEvent::ExtTextInputPos by the window's
    scale factor. This correctly positions the IM window on a scaled
    LO window.
    
    Change-Id: Ia639ee3e5fc0e47f7017896b34730bbda7f06a16
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110945
    Tested-by: Jenkins
    Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>

diff --git a/vcl/qt5/Qt5Widget.cxx b/vcl/qt5/Qt5Widget.cxx
index 68742b07c51e..4608482627be 100644
--- a/vcl/qt5/Qt5Widget.cxx
+++ b/vcl/qt5/Qt5Widget.cxx
@@ -681,10 +681,11 @@ QVariant Qt5Widget::inputMethodQuery(Qt::InputMethodQuery property) const
         }
         case Qt::ImCursorRectangle:
         {
+            const qreal fRatio = m_rFrame.devicePixelRatioF();
             SalExtTextInputPosEvent aPosEvent;
             m_rFrame.CallCallback(SalEvent::ExtTextInputPos, &aPosEvent);
-            return QVariant(
-                QRect(aPosEvent.mnX, aPosEvent.mnY, aPosEvent.mnWidth, aPosEvent.mnHeight));
+            return QVariant(QRect(aPosEvent.mnX / fRatio, aPosEvent.mnY / fRatio,
+                                  aPosEvent.mnWidth / fRatio, aPosEvent.mnHeight / fRatio));
         }
         case Qt::ImAnchorPosition:
         {


More information about the Libreoffice-commits mailing list