[education/rkward] rkward/windows: Trigger only one refresh per page

Thomas Friedrichsmeier null at kde.org
Thu Apr 21 14:20:25 BST 2022


Git commit 6befbab61b5b5ec9330448ee1b70f59777dfb77d by Thomas Friedrichsmeier.
Committed on 21/04/2022 at 13:20.
Pushed by tfry into branch 'master'.

Trigger only one refresh per page

M  +3    -1    rkward/windows/rkhtmlwindow.cpp

https://invent.kde.org/education/rkward/commit/6befbab61b5b5ec9330448ee1b70f59777dfb77d

diff --git a/rkward/windows/rkhtmlwindow.cpp b/rkward/windows/rkhtmlwindow.cpp
index 8c9a155f..70c77c29 100644
--- a/rkward/windows/rkhtmlwindow.cpp
+++ b/rkward/windows/rkhtmlwindow.cpp
@@ -1103,6 +1103,7 @@ bool RKHelpRenderer::renderRKHelp (const QUrl &url, RKHTMLWindow* container) {
 		writeHTML(endSection());
 	}
 
+	bool container_refresh_connected = false;
 	XMLChildList section_elements = help_xml_helper.getChildElements (help_doc_element, "section", DL_INFO);
 	for (XMLChildList::iterator it = section_elements.begin (); it != section_elements.end (); ++it) {
 		QString title = help_xml_helper.i18nStringAttribute (*it, "title", QString (), DL_WARNING);
@@ -1120,7 +1121,8 @@ bool RKHelpRenderer::renderRKHelp (const QUrl &url, RKHTMLWindow* container) {
 				}
 				writeHTML(QString("<li><<a href=\"rkward://open/%1/\">%2</a>></li>\n").arg(category, i18n("Choose another file")));
 				writeHTML("</ul>\n");
-				if (container) {
+				if (container && !container_refresh_connected) {
+					container_refresh_connected = true;
 					auto connection = new QMetaObject::Connection;
 					*connection = QObject::connect(RKRecentUrls::notifier(), &RKRecentUrls::recentUrlsChanged, container, [connection, container](){
 						// connection must self-destruct, as it will be re-created from refresh()


More information about the rkward-tracker mailing list