diff --git a/src/app/main.cpp b/src/app/main.cpp index 4ceb99deb66..252f460d122 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -430,6 +430,9 @@ APP_EXPORT #endif int main( int argc, char *argv[] ) { + //log messages written before creating QgsApplicatoin + QStringList preApplicationLogMessages; + #ifdef Q_OS_MACX // Increase file resource limits (i.e., number of allowed open files) // (from code provided by Larry Biehl, Purdue University, USA, from 'MultiSpec' project) @@ -866,11 +869,11 @@ int main( int argc, char *argv[] ) { if ( !QgsSettings::setGlobalSettingsPath( globalsettingsfile ) ) { - QgsMessageLog::logMessage( QObject::tr( "Invalid globalsettingsfile path: %1" ).arg( globalsettingsfile ), QStringLiteral( "QGIS" ) ); + preApplicationLogMessages << QObject::tr( "Invalid globalsettingsfile path: %1" ).arg( globalsettingsfile ), QStringLiteral( "QGIS" ); } else { - QgsMessageLog::logMessage( QObject::tr( "Successfully loaded globalsettingsfile path: %1" ).arg( globalsettingsfile ), QStringLiteral( "QGIS" ) ); + preApplicationLogMessages << QObject::tr( "Successfully loaded globalsettingsfile path: %1" ).arg( globalsettingsfile ), QStringLiteral( "QGIS" ); } } @@ -970,6 +973,10 @@ int main( int argc, char *argv[] ) QgsApplication myApp( argc, argv, myUseGuiFlag ); + //write the log messages written before creating QgsApplicatoin + for ( QString const &preApplicationLogMessage : preApplicationLogMessages ) + QgsMessageLog::logMessage( preApplicationLogMessage ); + // Settings migration is only supported on the default profile for now. if ( profileName == QLatin1String( "default" ) ) { diff --git a/src/core/qgsproject.cpp b/src/core/qgsproject.cpp index 4def2414c71..4ed53707801 100644 --- a/src/core/qgsproject.cpp +++ b/src/core/qgsproject.cpp @@ -384,8 +384,8 @@ QgsProject::QgsProject( QObject *parent ) connect( mLayerStore.get(), &QgsMapLayerStore::allLayersRemoved, this, &QgsProject::removeAll ); connect( mLayerStore.get(), &QgsMapLayerStore::layersAdded, this, &QgsProject::layersAdded ); connect( mLayerStore.get(), &QgsMapLayerStore::layerWasAdded, this, &QgsProject::layerWasAdded ); - if ( QgsApplication::instance() ) - connect( QgsApplication::instance(), &QgsApplication::requestForTranslatableObjects, this, &QgsProject::registerTranslatableObjects ); + Q_ASSERT( QgsApplication::instance() ); + connect( QgsApplication::instance(), &QgsApplication::requestForTranslatableObjects, this, &QgsProject::registerTranslatableObjects ); connect( mLayerStore.get(), static_cast & )>( &QgsMapLayerStore::layersWillBeRemoved ), [ = ]( const QList &layers ) {