diff -Nru qtwayland-opensource-src-5.15.10/debian/changelog qtwayland-opensource-src-5.15.10/debian/changelog
--- qtwayland-opensource-src-5.15.10/debian/changelog	2024-12-13 10:45:43.000000000 +0800
+++ qtwayland-opensource-src-5.15.10/debian/changelog	2025-01-22 16:08:30.000000000 +0800
@@ -1,3 +1,22 @@
+qtwayland-opensource-src (5.15.10-2ok30) huanghe; urgency=medium
+
+  * Only use keyboard focus window as transisentparent for popup and tooltip type windows
+
+ -- Jie Liu <liujie01@kylinos.cn>  Wed, 22 Jan 2025 16:08:30 +0800
+
+qtwayland-opensource-src (5.15.10-2ok29) huanghe; urgency=medium
+
+  * Use keyboard focus window as transisentparent if QGuiapplication::focuswindow() is null
+
+ -- Jie Liu <liujie01@kylinos.cn>  Wed, 08 Jan 2025 18:24:39 +0800
+
+qtwayland-opensource-src (5.15.10-2ok28) huanghe; urgency=medium
+
+  * set_constraint_adjustment in setPopup
+  * update wayland cursor pos when data device moving
+
+ -- Jie Liu <liujie01@kylinos.cn>  Thu, 02 Jan 2025 17:21:28 +0800
+
 qtwayland-opensource-src (5.15.10-2ok27) huanghe; urgency=medium
 
   * add support for kde-primary-output protocol
diff -Nru qtwayland-opensource-src-5.15.10/debian/patches/0057-update-changelog-5.15.10-2ok27.patch qtwayland-opensource-src-5.15.10/debian/patches/0057-update-changelog-5.15.10-2ok27.patch
--- qtwayland-opensource-src-5.15.10/debian/patches/0057-update-changelog-5.15.10-2ok27.patch	1970-01-01 08:00:00.000000000 +0800
+++ qtwayland-opensource-src-5.15.10/debian/patches/0057-update-changelog-5.15.10-2ok27.patch	2025-01-22 16:08:30.000000000 +0800
@@ -0,0 +1,21 @@
+From: Jie Liu <liujie01@kylinos.cn>
+Date: Fri, 13 Dec 2024 10:46:01 +0800
+Subject: update changelog: 5.15.10-2ok27
+
+---
+ src/3rdparty/protocol/qt_attribution.json | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/3rdparty/protocol/qt_attribution.json b/src/3rdparty/protocol/qt_attribution.json
+index 54b31d3..569a1a7 100644
+--- a/src/3rdparty/protocol/qt_attribution.json
++++ b/src/3rdparty/protocol/qt_attribution.json
+@@ -291,7 +291,7 @@
+         "Name": "KDE Primary Output Protocol",
+         "QDocModule": "qtwaylandcompositor",
+         "QtUsage": "Used in the Qt Wayland platform plugin",
+-        "Files": "kde-primary-output-v1.xml.xml",
++        "Files": "kde-primary-output-v1.xml",
+ 
+         "Description": "Protocol for telling which is the primary display among the selection of enabled outputs",
+         "Homepage": "https://invent.kde.org/libraries/plasma-wayland-protocols/",
diff -Nru qtwayland-opensource-src-5.15.10/debian/patches/0058-update-wayland-cursor-pos-when-data-device-moving.patch qtwayland-opensource-src-5.15.10/debian/patches/0058-update-wayland-cursor-pos-when-data-device-moving.patch
--- qtwayland-opensource-src-5.15.10/debian/patches/0058-update-wayland-cursor-pos-when-data-device-moving.patch	1970-01-01 08:00:00.000000000 +0800
+++ qtwayland-opensource-src-5.15.10/debian/patches/0058-update-wayland-cursor-pos-when-data-device-moving.patch	2025-01-22 16:08:30.000000000 +0800
@@ -0,0 +1,58 @@
+From: Jie Liu <liujie01@kylinos.cn>
+Date: Thu, 2 Jan 2025 11:11:25 +0800
+Subject: update wayland cursor pos when data device moving
+
+---
+ src/client/qwaylandcursor.cpp     | 5 +++++
+ src/client/qwaylandcursor_p.h     | 1 +
+ src/client/qwaylanddatadevice.cpp | 2 ++
+ 3 files changed, 8 insertions(+)
+
+diff --git a/src/client/qwaylandcursor.cpp b/src/client/qwaylandcursor.cpp
+index e4eca9d..682d4ae 100644
+--- a/src/client/qwaylandcursor.cpp
++++ b/src/client/qwaylandcursor.cpp
+@@ -286,6 +286,11 @@ void QWaylandCursor::setPos(const QPoint &pos)
+     qCWarning(lcQpaWayland) << "Setting cursor position is not possible on wayland";
+ }
+ 
++void QWaylandCursor::updateDragCursorPos(const QPoint &pos)
++{
++    mLastPos = pos;
++}
++
+ } // namespace QtWaylandClient
+ 
+ QT_END_NAMESPACE
+diff --git a/src/client/qwaylandcursor_p.h b/src/client/qwaylandcursor_p.h
+index 751ffa6..a5e4231 100644
+--- a/src/client/qwaylandcursor_p.h
++++ b/src/client/qwaylandcursor_p.h
+@@ -127,6 +127,7 @@ public:
+     void pointerEvent(const QMouseEvent &event) override;
+     QPoint pos() const override;
+     void setPos(const QPoint &pos) override;
++    void updateDragCursorPos(const QPoint &pos);
+ 
+     static QSharedPointer<QWaylandBuffer> cursorBitmapBuffer(QWaylandDisplay *display, const QCursor *cursor);
+ 
+diff --git a/src/client/qwaylanddatadevice.cpp b/src/client/qwaylanddatadevice.cpp
+index e3e60ed..7f85aeb 100644
+--- a/src/client/qwaylanddatadevice.cpp
++++ b/src/client/qwaylanddatadevice.cpp
+@@ -48,6 +48,7 @@
+ #include "qwaylanddisplay_p.h"
+ #include "qwaylandabstractdecoration_p.h"
+ #include "qwaylandsurface_p.h"
++#include "qwaylandcursor_p.h"
+ 
+ #include <QtCore/QMimeData>
+ #include <QtGui/QGuiApplication>
+@@ -250,6 +251,7 @@ void QWaylandDataDevice::data_device_motion(uint32_t time, wl_fixed_t x, wl_fixe
+         return;
+ 
+     m_dragPoint = calculateDragPosition(x, y, m_dragWindow);
++    m_display->waylandCursor()->updateDragCursorPos(m_dragWindow->mapToGlobal(m_dragPoint));
+ 
+     QMimeData *dragData = nullptr;
+     Qt::DropActions supportedActions;
diff -Nru qtwayland-opensource-src-5.15.10/debian/patches/0059-update-changlog-5.15.10-2ok28.patch qtwayland-opensource-src-5.15.10/debian/patches/0059-update-changlog-5.15.10-2ok28.patch
--- qtwayland-opensource-src-5.15.10/debian/patches/0059-update-changlog-5.15.10-2ok28.patch	1970-01-01 08:00:00.000000000 +0800
+++ qtwayland-opensource-src-5.15.10/debian/patches/0059-update-changlog-5.15.10-2ok28.patch	2025-01-22 16:08:30.000000000 +0800
@@ -0,0 +1,21 @@
+From: Jie Liu <liujie01@kylinos.cn>
+Date: Thu, 2 Jan 2025 17:22:07 +0800
+Subject: update changlog: 5.15.10-2ok28
+
+---
+ src/plugins/shellintegration/ukui-shell/ukuishellsurface.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/plugins/shellintegration/ukui-shell/ukuishellsurface.cpp b/src/plugins/shellintegration/ukui-shell/ukuishellsurface.cpp
+index 594f37d..bd0dd23 100644
+--- a/src/plugins/shellintegration/ukui-shell/ukuishellsurface.cpp
++++ b/src/plugins/shellintegration/ukui-shell/ukuishellsurface.cpp
+@@ -371,6 +371,8 @@ void UkuiShellSurface::setPopup(QWaylandWindow *parent)
+     positioner->set_anchor(QtWayland::xdg_positioner::anchor_top_left);
+     positioner->set_gravity(QtWayland::xdg_positioner::gravity_bottom_right);
+     positioner->set_size(m_window->geometry().width(), m_window->geometry().height());
++    positioner->set_constraint_adjustment(QtWayland::xdg_positioner::constraint_adjustment_slide_x
++        | QtWayland::xdg_positioner::constraint_adjustment_slide_y);
+     m_popup = new Popup(this, parent, positioner);
+     positioner->destroy();
+ 
diff -Nru qtwayland-opensource-src-5.15.10/debian/patches/0060-update-changelog-5.15.10-2ok29.patch qtwayland-opensource-src-5.15.10/debian/patches/0060-update-changelog-5.15.10-2ok29.patch
--- qtwayland-opensource-src-5.15.10/debian/patches/0060-update-changelog-5.15.10-2ok29.patch	1970-01-01 08:00:00.000000000 +0800
+++ qtwayland-opensource-src-5.15.10/debian/patches/0060-update-changelog-5.15.10-2ok29.patch	2025-01-22 16:08:30.000000000 +0800
@@ -0,0 +1,22 @@
+From: Jie Liu <liujie01@kylinos.cn>
+Date: Wed, 8 Jan 2025 18:25:09 +0800
+Subject: update changelog: 5.15.10-2ok29
+
+---
+ src/client/qwaylandwindow.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
+index bd83953..cb86158 100644
+--- a/src/client/qwaylandwindow.cpp
++++ b/src/client/qwaylandwindow.cpp
+@@ -945,6 +945,9 @@ QWaylandWindow *QWaylandWindow::transientParent() const
+     if (QGuiApplication::focusWindow() && (window()->type() == Qt::ToolTip || window()->type() == Qt::Popup))
+         return closestShellSurfaceWindow(QGuiApplication::focusWindow());
+ 
++    if (mDisplay->lastInputDevice() && mDisplay->lastInputDevice()->keyboardFocus())
++        return closestShellSurfaceWindow(mDisplay->lastInputDevice()->keyboardFocus()->window());
++
+     return nullptr;
+ }
+ 
diff -Nru qtwayland-opensource-src-5.15.10/debian/patches/0061-update-changlog-5.15.10-2ok30.patch qtwayland-opensource-src-5.15.10/debian/patches/0061-update-changlog-5.15.10-2ok30.patch
--- qtwayland-opensource-src-5.15.10/debian/patches/0061-update-changlog-5.15.10-2ok30.patch	1970-01-01 08:00:00.000000000 +0800
+++ qtwayland-opensource-src-5.15.10/debian/patches/0061-update-changlog-5.15.10-2ok30.patch	2025-01-22 16:08:30.000000000 +0800
@@ -0,0 +1,30 @@
+From: Jie Liu <liujie01@kylinos.cn>
+Date: Wed, 22 Jan 2025 16:08:54 +0800
+Subject: update changlog: 5.15.10-2ok30
+
+---
+ src/client/qwaylandwindow.cpp | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
+index cb86158..ebe1e09 100644
+--- a/src/client/qwaylandwindow.cpp
++++ b/src/client/qwaylandwindow.cpp
+@@ -942,11 +942,12 @@ QWaylandWindow *QWaylandWindow::transientParent() const
+     if (auto transientParent = closestShellSurfaceWindow(window()->transientParent()))
+         return transientParent;
+ 
+-    if (QGuiApplication::focusWindow() && (window()->type() == Qt::ToolTip || window()->type() == Qt::Popup))
+-        return closestShellSurfaceWindow(QGuiApplication::focusWindow());
+-
+-    if (mDisplay->lastInputDevice() && mDisplay->lastInputDevice()->keyboardFocus())
+-        return closestShellSurfaceWindow(mDisplay->lastInputDevice()->keyboardFocus()->window());
++    if (window()->type() == Qt::ToolTip || window()->type() == Qt::Popup) {
++        if (QGuiApplication::focusWindow())
++            return closestShellSurfaceWindow(QGuiApplication::focusWindow());
++        if (mDisplay->lastInputDevice() && mDisplay->lastInputDevice()->keyboardFocus())
++            return closestShellSurfaceWindow(mDisplay->lastInputDevice()->keyboardFocus()->window());
++    }
+ 
+     return nullptr;
+ }
diff -Nru qtwayland-opensource-src-5.15.10/debian/patches/series qtwayland-opensource-src-5.15.10/debian/patches/series
--- qtwayland-opensource-src-5.15.10/debian/patches/series	2024-12-13 10:45:43.000000000 +0800
+++ qtwayland-opensource-src-5.15.10/debian/patches/series	2025-01-22 16:08:30.000000000 +0800
@@ -54,3 +54,8 @@
 skip_animated_cursor_test.diff
 0055-add-support-for-kde-primary-output-protocol.patch
 0056-add-support-for-kde-primary-output-protocol.patch
+0057-update-changelog-5.15.10-2ok27.patch
+0058-update-wayland-cursor-pos-when-data-device-moving.patch
+0059-update-changlog-5.15.10-2ok28.patch
+0060-update-changelog-5.15.10-2ok29.patch
+0061-update-changlog-5.15.10-2ok30.patch