aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quick/items/qquickwindow.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp
index 6d602a3810..c3fd4560d2 100644
--- a/src/quick/items/qquickwindow.cpp
+++ b/src/quick/items/qquickwindow.cpp
@@ -1370,7 +1370,12 @@ bool QQuickWindow::event(QEvent *e)
if (danpit == deliveryAgentsNeedingPoints.end()) {
deliveryAgentsNeedingPoints.insert(ptda, QList<QEventPoint>() << pt);
} else {
- danpit.value().append(pt);
+ auto &ptList = danpit.value();
+ auto ptid = pt.id();
+ auto alreadyThere = std::find_if(ptList.constBegin(), ptList.constEnd(),
+ [ptid] (const QEventPoint &pep) { return pep.id() == ptid; });
+ if (alreadyThere == ptList.constEnd())
+ danpit.value().append(pt);
}
};