{"push_id":2930674114,"size":1,"distinct_size":1,"ref":"refs/heads/5.11","head":"d56c193eb4ceb640611d66f22e1f26aae91cd7d1","before":"d923dd467c1aeb3e195a09949b04862084002f88","commits":[{"sha":"d56c193eb4ceb640611d66f22e1f26aae91cd7d1","author":{"name":"Mitch Curtis","email":"a74594a5101269175fe1b140badc4c0b6f699d25@qt.io"},"message":"QQuickPopupPositioner: avoid adding duplicate item change listeners\n\nThe issue is that QQuickPopupPositioner::setParentItem() is called when\nthe delegate has been created and assigned to the Repeater, then the\nancestor listeners are added, and then straight after that, the\nbenchmark item itself is parented to benchmarkRoot, which causes\nQQuickPopupPositioner::itemParentChanged() to be called, which adds a\nsingle ancestor listener: the QQuickRootItem (which was just added\npreviously as a result of QQuickPopupPositioner::setParentItem()\nbeing called).\n\nThe item could be arbitrarily high up in the ancestry tree, so there's\nno nice (i.e. fast) way of checking for duplicates in Controls 2\nitself. Instead, use the new\nQQuickItemPrivate::updateOrAddItemChangeListener() function which only\nadds the listener if it doesn't already exist.\n\nThis avoids a heap-use-after-free in qmlbench when creating Menus.\n\nTask-number: QTBUG-70729\nChange-Id: I0efaa10167c4c9a9c4c1b65a5c34e683c3ec5732\nFixes: QTBUG-70729\nReviewed-by: Michael Brasser <michael.brasser@live.com>\nReviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>","distinct":true,"url":"https://api.github.com/repos/qt/qtquickcontrols2/commits/d56c193eb4ceb640611d66f22e1f26aae91cd7d1"}]}
{"actor":{"display_login":"qtprojectorg"}}