embeddedintoforeignindow test: port itemwindow.h away from Q_FOREACH

As a header, it would otherwise make all TUs that include it (with
PCH: all) incompatible with QT_NO_FOREACH.

Without deeper analysis (which economy of time forbids in this case,
given this is just a manual test that's probably run 10 times per
year), and seeing as this is in an event handler, I opted to play it
safe and iterate over a copy (which is exactly what Q_FOREACH
does). Added a comment to indicate it may not be needed.

Pick-to: 6.6 6.5
Task-number: QTBUG-115839
Change-Id: I7db75321dd34888f6dd7a64cccb7462ff35935fa
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
This commit is contained in:
Marc Mutz 2023-08-08 10:11:19 +02:00
parent b7c6b670ba
commit cc15e42e2c

View File

@ -65,7 +65,8 @@ private:
#define PROPAGATE_EVENT(windowHandler, eventClass, itemHandler) \
void windowHandler(eventClass *e) override \
{ \
foreach (Item *i, m_items) \
const auto copy = m_items; /* needed? */ \
for (Item *i : copy) \
i->itemHandler(e); \
}