62 u"%2 (%1:%3) is run from a different thread than the object '%4' lives in [0x%5 vs 0x%6]"_s.arg( QString( __FILE__ ), QString( __FUNCTION__ ), QString::number( __LINE__ ), objectName() ) \
189#define QGIS_CHECK_OTHER_QOBJECT_THREAD_ACCESS( other ) \
190 do \
191 { \
192 } while ( false ); \
193 ( void ) ( other );
194#endif
195
196#ifdef __clang_analyzer__
197#define QGIS_CHECK_MAIN_THREAD_ACCESS \
198 do \
199 { \
200 } while ( false );
201#elif defined( AGGRESSIVE_SAFE_MODE )
202#define QGIS_CHECK_MAIN_THREAD_ACCESS \
203 if ( QThread::currentThread() != QCoreApplication::instance()->thread() ) \
204 { \
205 qFatal( \
206 "%s", \
207 u"%2 (%1:%3) must be called from the main thread [current: 0x%4, main: 0x%5]"_s.arg( QString( __FILE__ ), QString( __FUNCTION__ ), QString::number( __LINE__ ) ) \
216 if ( QThread::currentThread() != QCoreApplication::instance()->thread() ) \
217 { \
218 qWarning() << u"%2 (%1:%3) must be called from the main thread [current: 0x%4, main: 0x%5]"_s.arg( QString( __FILE__ ), QString( __FUNCTION__ ), QString::number( __LINE__ ) ) \
251 Q_ASSERT_X( mObject->thread() == nullptr || mObject->thread() == QThread::currentThread(), "QgsScopedAssignObjectToCurrentThread", "QObject was already assigned to a different thread!" );