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@fbihome.de>
diff --git a/vcl/qt5/Qt5Widget.cxx b/vcl/qt5/Qt5Widget.cxx
index 68742b0..46084826 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:
{