diff options
| author | Andrea Diamantini <adjam7@gmail.com> | 2010-03-06 00:20:52 +0100 | 
|---|---|---|
| committer | Andrea Diamantini <adjam7@gmail.com> | 2010-03-06 00:20:52 +0100 | 
| commit | 215274abfcbe43e5d64ae8104481dc46cd618952 (patch) | |
| tree | aa96f29127198e282724f81326c62f597e9f5b25 /src | |
| parent | Ok, things seem working well now. (diff) | |
| download | rekonq-215274abfcbe43e5d64ae8104481dc46cd618952.tar.xz | |
Just another crash recovery fix.
Now rekonq tries just 1 time to recover from crash. In Italy
we say "Perseverare e' diabolico"...
Diffstat (limited to 'src')
| -rw-r--r-- | src/application.cpp | 7 | ||||
| -rw-r--r-- | src/rekonq.kcfg | 4 | ||||
| -rw-r--r-- | src/sessionmanager.cpp | 11 | 
3 files changed, 12 insertions, 10 deletions
diff --git a/src/application.cpp b/src/application.cpp index 31f0ab2e..efa7bc22 100644 --- a/src/application.cpp +++ b/src/application.cpp @@ -81,7 +81,7 @@ Application::~Application()  {      // ok, we are closing well.      // Don't recover on next load.. -    ReKonfig::setRecoverOnCrash(false); +    ReKonfig::setRecoverOnCrash(0);      saveConfiguration();      foreach( QWeakPointer<MainWindow> window, m_mainWindows) @@ -147,7 +147,7 @@ int Application::newInstance()          // is your app session restored? restore session...          // this mechanism also falls back to load usual plain rekonq          // if something goes wrong... -        if (ReKonfig::recoverOnCrash() && sessionManager()->restoreSession()) +        if (ReKonfig::recoverOnCrash() == 1 && sessionManager()->restoreSession())          {              kDebug() << "session restored";              return 1; @@ -205,7 +205,8 @@ void Application::postLaunch()              Application::instance(), SLOT(loadUrl(const KUrl&, const Rekonq::OpenType&)));      // crash recovering -    ReKonfig::setRecoverOnCrash(true); +    int n = ReKonfig::recoverOnCrash(); +    ReKonfig::setRecoverOnCrash(++n);      saveConfiguration();  } diff --git a/src/rekonq.kcfg b/src/rekonq.kcfg index f68dc7e8..bbf20ac1 100644 --- a/src/rekonq.kcfg +++ b/src/rekonq.kcfg @@ -25,8 +25,8 @@      <entry name="walletBlackList" type="StringList">          <default></default>      </entry> -    <entry name="recoverOnCrash" type="bool"> -        <default>false</default> +    <entry name="recoverOnCrash" type="Int"> +        <default>0</default>      </entry>  </group> diff --git a/src/sessionmanager.cpp b/src/sessionmanager.cpp index 72e1cc77..9e1f7baf 100644 --- a/src/sessionmanager.cpp +++ b/src/sessionmanager.cpp @@ -66,7 +66,7 @@ void SessionManager::saveSession()      QFile sessionFile(m_sessionFilePath);      if (!sessionFile.open(QFile::WriteOnly | QFile::Truncate))      { -        kWarning() << "Unable to open session file" << sessionFile.fileName(); +        kDebug() << "Unable to open session file" << sessionFile.fileName();          return;      }      QTextStream out(&sessionFile); @@ -93,7 +93,7 @@ bool SessionManager::restoreSession()          return false;      if (!sessionFile.open(QFile::ReadOnly))      { -        kWarning() << "Unable to open session file" << sessionFile.fileName(); +        kDebug() << "Unable to open session file" << sessionFile.fileName();          return false;      } @@ -104,16 +104,17 @@ bool SessionManager::restoreSession()          line = in.readLine();          if(line == QString("window"))          { -            Application::instance()->newMainWindow();              line = in.readLine(); -            Application::instance()->loadUrl(line); +            kDebug() << "New Window line: " << line; +            Application::instance()->loadUrl(line, Rekonq::NewWindow);          }          else          { +            kDebug() << "New Current Tab line: " << line;              Application::instance()->loadUrl(line, Rekonq::NewCurrentTab);          }      } -    while(!line.isNull()); +    while(!line.isEmpty());      return true;  }  | 
