update debian/changelog.
Signed-off-by: hanpinlong <hanpinlong@kylinos.cn>
This commit is contained in:
parent
55541ce913
commit
d862c62840
|
@ -1,3 +1,14 @@
|
|||
qtbase-opensource-src (5.15.8+dfsg-ok1.6) yangtze; urgency=medium
|
||||
|
||||
* BUG号:
|
||||
#I72DC0:【X】【触摸】【次要】文件管理器界面触控笔偏移
|
||||
#I72CCL:【X】【触摸】触摸屏pc模式下触控笔单击功能失效
|
||||
#I729NF:【X】【触摸】触控笔点击按钮时画面按钮动画卡顿不生效
|
||||
* 需求号:无
|
||||
* 其他更改: 修复 xcb 上高 dpi 时触控笔坐标异常
|
||||
|
||||
-- hanpinlong <hanpinlong@kylinos.cn> Thu, 25 May 2023 11:15:52 +0800
|
||||
|
||||
qtbase-opensource-src (5.15.8+dfsg-ok1.5build1) yangtze; urgency=medium
|
||||
|
||||
* BUG号:
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
From: hanpinlong <hanpinlong@kylinos.cn>
|
||||
Date: Thu, 25 May 2023 03:18:13 +0000
|
||||
Subject: update debian/changelog.
|
||||
|
||||
Signed-off-by: hanpinlong <hanpinlong@kylinos.cn>
|
||||
---
|
||||
src/gui/kernel/qplatformwindow.cpp | 7 +++++++
|
||||
src/gui/kernel/qplatformwindow.h | 1 +
|
||||
src/plugins/platforms/xcb/qxcbconnection_xi2.cpp | 8 ++++----
|
||||
3 files changed, 12 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/gui/kernel/qplatformwindow.cpp b/src/gui/kernel/qplatformwindow.cpp
|
||||
index 7207ff4..dfbd7d5 100644
|
||||
--- a/src/gui/kernel/qplatformwindow.cpp
|
||||
+++ b/src/gui/kernel/qplatformwindow.cpp
|
||||
@@ -266,6 +266,13 @@ QPoint QPlatformWindow::mapToGlobal(const QPoint &pos) const
|
||||
return result;
|
||||
}
|
||||
|
||||
+QPointF QPlatformWindow::mapFromGlobalF(const QPointF &pos) const
|
||||
+{
|
||||
+ const QPoint posPt = pos.toPoint();
|
||||
+ const QPointF delta = pos - posPt;
|
||||
+ return mapFromGlobal(posPt) + delta;
|
||||
+}
|
||||
+
|
||||
/*!
|
||||
Translates the global screen coordinate \a pos to window
|
||||
coordinates using native methods. This is required for embedded windows,
|
||||
diff --git a/src/gui/kernel/qplatformwindow.h b/src/gui/kernel/qplatformwindow.h
|
||||
index 7b85090..a92de4e 100644
|
||||
--- a/src/gui/kernel/qplatformwindow.h
|
||||
+++ b/src/gui/kernel/qplatformwindow.h
|
||||
@@ -114,6 +114,7 @@ public:
|
||||
virtual bool isForeignWindow() const { return false; };
|
||||
virtual QPoint mapToGlobal(const QPoint &pos) const;
|
||||
virtual QPoint mapFromGlobal(const QPoint &pos) const;
|
||||
+ QPointF mapFromGlobalF(const QPointF &pos) const;
|
||||
|
||||
virtual void propagateSizeHints();
|
||||
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
|
||||
index fb2a335..cfff36d 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
|
||||
@@ -1270,16 +1270,16 @@ void QXcbConnection::xi2ReportTabletEvent(const void *event, TabletData *tabletD
|
||||
if (Q_LIKELY(useValuators)) {
|
||||
const qreal value = scaleOneValuator(normalizedValue, physicalScreenArea.x(), physicalScreenArea.width());
|
||||
global.setX(value);
|
||||
- // mapFromGlobal is ok for nested/embedded windows, but works only with whole-number QPoint;
|
||||
- // so map it first, then add back the sub-pixel position
|
||||
- local.setX(window->mapFromGlobal(QPoint(int(value), 0)).x() + (value - int(value)));
|
||||
+ //! \note Fix QTBUG-77826
|
||||
+ local.setX(xcbWindow->mapFromGlobalF(global).x());
|
||||
}
|
||||
break;
|
||||
case QXcbAtom::AbsY:
|
||||
if (Q_LIKELY(useValuators)) {
|
||||
qreal value = scaleOneValuator(normalizedValue, physicalScreenArea.y(), physicalScreenArea.height());
|
||||
global.setY(value);
|
||||
- local.setY(window->mapFromGlobal(QPoint(0, int(value))).y() + (value - int(value)));
|
||||
+ //! \note Fix QTBUG-77826
|
||||
+ local.setY(xcbWindow->mapFromGlobalF(global).y());
|
||||
}
|
||||
break;
|
||||
case QXcbAtom::AbsPressure:
|
|
@ -30,3 +30,4 @@ revert_startBlocking_removal.diff
|
|||
0030-5-2.patch
|
||||
0031-10-changelog.patch
|
||||
0032-13-rebuild.patch
|
||||
0033-update-debian-changelog.patch
|
||||
|
|
Loading…
Reference in New Issue