From 9e352be3b1698ee3607ca9c6760a82340d8b50b8 Mon Sep 17 00:00:00 2001
From: kh1 <qt-info@nokia.com>
Date: Mon, 23 Aug 2010 14:30:29 +0200
Subject: [PATCH] Fix jumping to an anchor once the page has been scrolled.

Task-number: QTCREATORBUG-2130
---
 src/plugins/help/helpplugin.cpp | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp
index 7a5e19dfea8..28142dc7101 100644
--- a/src/plugins/help/helpplugin.cpp
+++ b/src/plugins/help/helpplugin.cpp
@@ -804,16 +804,20 @@ void HelpPlugin::activateContext()
                 viewer->stop();
 #endif
                 viewer->setSource(source);
-            }
-            viewer->setFocus();
-            connect(viewer, SIGNAL(loadFinished(bool)), this,
-                SLOT(highlightSearchTerms()));
+                connect(viewer, SIGNAL(loadFinished(bool)), this,
+                    SLOT(highlightSearchTerms()));
 
-            if (source.toString().remove(source.fragment())
-                == oldSource.toString().remove(oldSource.fragment())) {
-                    highlightSearchTerms();
+                if (source.toString().remove(source.fragment())
+                    == oldSource.toString().remove(oldSource.fragment())) {
+                        highlightSearchTerms();
+                }
+            } else {
+#if !defined(QT_NO_WEBKIT)
+                viewer->page()->mainFrame()->scrollToAnchor(source.fragment());
+#endif
             }
         }
+        viewer->setFocus();
     }
 }
 
@@ -951,7 +955,7 @@ void HelpPlugin::highlightSearchTerms()
             if (attrValue == name || name.startsWith(attrValue + QLatin1Char('-'))) {
                 QWebElement parent = element.parent();
                 m_styleProperty = parent.styleProperty(property,
-                    QWebElement::InlineStyle);
+                    QWebElement::ComputedStyle);
                 parent.setStyleProperty(property, QLatin1String("yellow"));
             }
         }
-- 
GitLab