All pastes #384264 Raw Edit

Mine

public text v1 · immutable
·published 2007-03-06 23:19 UTC
rendered paste body
class ThreadedDelete : public QThread
{
public:
	void take(QObject *o)
	{
		ThreadedDelete* td = new ThreadedDelete;
		td->deleteThreaded(o);
	}

protected:
	ThreadedDelete() : QThread() {};
	~ThreadedDelete() { printf("~ThreadedDelete\n");}

	deleteThreaded(QObject *o)
	{
		obj = o;
		connect(this, SIGNAL(finished ()), SLOT(deleteLater ()));
		obj->setParent(0); // unparent the target or the move will fail
		obj->moveToThread(this);
		start();
	}

	virtual void run()
	{
		printf("~ThreadedDelete run1\n";
		delete obj;
		printf("~ThreadedDelete run2\n";
	}
protected:
	QObject obj;
};