From f5b4de67c4b3cb59e1d88d5ed57b6465500f2884 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Thu, 7 Aug 2014 18:05:46 +0200 Subject: [PATCH] Properly load module config files with an explicit config path. --- src/libcalamaresui/modulesystem/Module.cpp | 28 +++++++++++++++------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/libcalamaresui/modulesystem/Module.cpp b/src/libcalamaresui/modulesystem/Module.cpp index 82f843fb7..abe872635 100644 --- a/src/libcalamaresui/modulesystem/Module.cpp +++ b/src/libcalamaresui/modulesystem/Module.cpp @@ -117,9 +117,9 @@ Module::fromDescriptorFile( const QString& path ) QFileInfo mfi( path ); m->m_directory = mfi.absoluteDir().absolutePath(); + m->initFrom( doc ); m->loadConfigurationFile(); - m->initFrom( doc ); return m; } catch ( YAML::Exception& e ) @@ -138,17 +138,27 @@ void Module::loadConfigurationFile() //throws YAML::Exception { QStringList configFilesByPriority; - configFilesByPriority.append( - QString( "/etc/calamares/modules/%1.conf" ).arg( m_name ) ); - configFilesByPriority.append( - CalamaresUtils::appDataDir().absoluteFilePath( - QString( "modules/%1.conf" ).arg( m_name ) ) ); - if ( Settings::instance()->debugMode() ) + if ( CalamaresUtils::isAppDataDirOverridden() ) { configFilesByPriority.append( - QDir( QDir::currentPath() ).absoluteFilePath( - QString( "src/modules/%1/%1.conf" ).arg( m_name ) ) ); + CalamaresUtils::appDataDir().absoluteFilePath( + QString( "modules/%1.conf" ).arg( m_name ) ) ); + } + else + { + if ( Settings::instance()->debugMode() ) + { + configFilesByPriority.append( + QDir( QDir::currentPath() ).absoluteFilePath( + QString( "src/modules/%1/%1.conf" ).arg( m_name ) ) ); + } + + configFilesByPriority.append( + QString( "/etc/calamares/modules/%1.conf" ).arg( m_name ) ); + configFilesByPriority.append( + CalamaresUtils::appDataDir().absoluteFilePath( + QString( "modules/%1.conf" ).arg( m_name ) ) ); } foreach ( const QString& path, configFilesByPriority )