Skip to content

Commit

Permalink
do not write logs before QgsApplication instace
Browse files Browse the repository at this point in the history
because otherwise it creates a QgsProject without a QgsApplication
and translation won't work anymore because it cannot connect the signal to the slot

this fixes #20561
  • Loading branch information
signedav committed Dec 4, 2018
1 parent dcba255 commit f3943f5
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
11 changes: 9 additions & 2 deletions src/app/main.cpp
Expand Up @@ -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)
Expand Down Expand Up @@ -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" );
}
}

Expand Down Expand Up @@ -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" ) )
{
Expand Down
4 changes: 2 additions & 2 deletions src/core/qgsproject.cpp
Expand Up @@ -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<void ( QgsMapLayerStore::* )( const QList<QgsMapLayer *> & )>( &QgsMapLayerStore::layersWillBeRemoved ),
[ = ]( const QList<QgsMapLayer *> &layers )
{
Expand Down

0 comments on commit f3943f5

Please sign in to comment.