diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/application.cpp | 11 | 
1 files changed, 9 insertions, 2 deletions
| diff --git a/src/application.cpp b/src/application.cpp index 14e34686..27dca44f 100644 --- a/src/application.cpp +++ b/src/application.cpp @@ -414,18 +414,25 @@ void Application::loadUrl(const KUrl& url, const Rekonq::OpenType& type)          return;      } +    Rekonq::OpenType newType = type; +    // Don't open useless tabs or windows for actions in about: pages +    if(url.url().contains("about:") && url.url().contains("/")) +        newType = Rekonq::CurrentTab; +      // first, create the webview(s) to not let hangs UI..      WebTab *tab = 0;      MainWindow *w = 0; -    w = (type == Rekonq::NewWindow) +    w = (newType == Rekonq::NewWindow)          ? newMainWindow()          : mainWindow(); -    switch (type) +    switch (newType)      {      case Rekonq::NewTab:          if (ReKonfig::openTabNoWindow()) +        {              tab = w->mainView()->newWebTab(!ReKonfig::openTabsBack()); +        }          else          {              w = newMainWindow(); | 
