Don't show migration warnings if we don't have old settings to migrate
[quassel.git] / src / core / core.cpp
index 9c92faf..aa4f692 100644 (file)
@@ -71,8 +71,7 @@ Core::Core() : storage(0) {
     QSettings newSettings(newFilePath, format);
 #endif /* Q_WS_MAC */
 
-  if(newSettings.value("Config/Version").toUInt() != 1) {
-    qWarning() << "\n\n*** IMPORTANT: Config and data file locations have changed. Attempting to auto-migrate your core settings...";
+  if(newSettings.value("Config/Version").toUInt() == 0) {
 #   ifdef Q_WS_MAC
     QString org = "quassel-irc.org";
 #   else
@@ -80,6 +79,7 @@ Core::Core() : storage(0) {
 #   endif
     QSettings oldSettings(org, "Quassel Core");
     if(oldSettings.allKeys().count()) {
+      qWarning() << "\n\n*** IMPORTANT: Config and data file locations have changed. Attempting to auto-migrate your core settings...";
       foreach(QString key, oldSettings.allKeys())
         newSettings.setValue(key, oldSettings.value(key));
       newSettings.setValue("Config/Version", 1);
@@ -122,6 +122,14 @@ Core::Core() : storage(0) {
 #endif /* !Q_WS_MAC */
   // MIGRATION end
 
+  // check settings version
+  // so far, we only have 1
+  CoreSettings s;
+  if(s.version() != 1) {
+    qCritical() << "Invalid core settings version, terminating!";
+    exit(EXIT_FAILURE);
+  }
+
   // Register storage backends here!
   registerStorageBackend(new SqliteStorage(this));