Branch: master

687b1460 2014-12-05 09:37:05 Timothy Pearson
Fix rare incorrect section display on load request when khelpcenter instance already running
This resolves Bug 2188
M khelpcenter/mainwindow.cpp
diff --git a/khelpcenter/mainwindow.cpp b/khelpcenter/mainwindow.cpp
index c224623..d99dfcb 100644
--- a/khelpcenter/mainwindow.cpp
+++ b/khelpcenter/mainwindow.cpp
@@ -293,6 +293,8 @@
 
 void MainWindow::viewUrl( const KURL &url, const KParts::URLArgs &args )
 {
+    KParts::URLArgs urlArgs = args;
+
     stop();
 
     TQString proto = url.protocol().lower();
@@ -323,7 +325,15 @@
 
     History::self().createEntry();
 
-    mDoc->browserExtension()->setURLArgs( args );
+    if (mDoc->baseURL() != url) {
+        if ( proto == "help" ) {
+            // Ensure that changing the handbook section works by forcing a reload of the page,
+            // thereby allowing the help tdeioslave to re-parse the fragment identifier
+            urlArgs.reload = true;
+            mDoc->gotoAnchor("");
+        }
+    }
+    mDoc->browserExtension()->setURLArgs( urlArgs );
 
     if ( proto == TQString::fromLatin1("glossentry") ) {
         TQString decodedEntryId = KURL::decode_string( url.encodedPathAndQuery() );