Code: Alles auswählen
// Ogre initialisieren
// Ogre wird im schon im Workerthread initialisiert
m_pOgreManager = new OgreManager();
m_pOgreThread = new OgreThread(m_pOgreManager);
m_pOgreManager->moveToThread(m_pOgreThread);
m_pOgreThread->start();
QMetaObject::invokeMethod(m_pOgreManager, "initialize", Q_ARG(unsigned long, (unsigned long)renderWidget->winId()), Q_ARG(int, renderWidget->width()), Q_ARG(int, renderWidget->height()));So sieht meine run Methode im OgreThread aus:
Code: Alles auswählen
void OgreThread::run()
{
// Wir wollen eine Nachrichtenschleife in unserem Thread
exec();
}Das Problem jetzt: Die Methode initialize wird niemals aufgerufen obwohl sie ja per QuedConnection dann von exec() aufgerufen werden sollte. Sehr komisch.