4#ifndef QANIMATIONJOBUTIL_P_H
5#define QANIMATIONJOBUTIL_P_H
18#include <QtCore/qcompilerdetection.h>
19#include <QtCore/qtconfigmacros.h>
27#if defined(Q_CC_GNU_ONLY) && Q_CC_GNU_ONLY >= 1300
28# define ACTION_IF_DISABLE_DANGLING_POINTER_WARNING QT_WARNING_DISABLE_GCC("-Wdangling-pointer")
30# define ACTION_IF_DISABLE_DANGLING_POINTER_WARNING
41 bool *m_wasDeleted =
nullptr;
47#define ACTION_IF_DELETED(p, func, action) do
51 static_assert(std::is_same<decltype((p)->m_selfDeletable), SelfDeletable>::value, "m_selfDeletable must be SelfDeletable");
52 bool *prevWasDeleted = (p)->m_selfDeletable.m_wasDeleted;
53 bool wasDeleted = false;
54 (p)->m_selfDeletable.m_wasDeleted = &wasDeleted;
58 *prevWasDeleted = true;
61 (p)->m_selfDeletable.m_wasDeleted = prevWasDeleted;
63}while (false)
65#define RETURN_IF_DELETED(func) ACTION_IF_DELETED
#define ACTION_IF_DISABLE_DANGLING_POINTER_WARNING
QT_REQUIRE_CONFIG(qml_animation)