avoid changing scenegraph while traversing it

This commit is contained in:
wmayer
2017-01-13 22:01:47 +01:00
parent 09d80342d6
commit 8924cb194e
3 changed files with 77 additions and 3 deletions

View File

@@ -112,4 +112,45 @@ void ActionFunction::hovered()
}
}
// ----------------------------------------------------------------------------
namespace Gui {
class TimerFunctionPrivate
{
public:
boost::function<void()> timeoutFunc;
bool autoDelete;
};
}
TimerFunction::TimerFunction(QObject* parent)
: QObject(parent), d_ptr(new TimerFunctionPrivate())
{
d_ptr->autoDelete = false;
}
TimerFunction::~TimerFunction()
{
}
void TimerFunction::setFunction(boost::function<void()> func)
{
Q_D(TimerFunction);
d->timeoutFunc = func;
}
void TimerFunction::setAutoDelete(bool on)
{
Q_D(TimerFunction);
d->autoDelete = on;
}
void TimerFunction::timeout()
{
Q_D(TimerFunction);
d->timeoutFunc();
if (d->autoDelete)
deleteLater();
}
#include "moc_ActionFunction.cpp"