From a5e8a5a4d2c2dde217c1695ba9d2a2b29bfd9892 Mon Sep 17 00:00:00 2001 From: Emil Axelsson Date: Wed, 14 Nov 2018 17:06:45 +0100 Subject: [PATCH] Deactivate event handler when webgui is hidden --- modules/cefwebgui/cefwebguimodule.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/cefwebgui/cefwebguimodule.cpp b/modules/cefwebgui/cefwebguimodule.cpp index 13b0fcca69..71a9e4531c 100644 --- a/modules/cefwebgui/cefwebguimodule.cpp +++ b/modules/cefwebgui/cefwebguimodule.cpp @@ -91,7 +91,9 @@ void CefWebGuiModule::startOrStopGui() { _instance->initialize(); _instance->loadUrl(_url); } - webBrowserModule->attachEventHandler(_instance.get()); + if (_visible) { + webBrowserModule->attachEventHandler(_instance.get()); + } webBrowserModule->addBrowser(_instance.get()); } else if (_instance) { _instance->close(true); @@ -121,6 +123,14 @@ void CefWebGuiModule::internalInitialize(const ghoul::Dictionary& configuration) } }); + _visible.onChange([this, webBrowserModule]() { + if (_visible && _instance) { + webBrowserModule->attachEventHandler(_instance.get()); + } else { + webBrowserModule->detachEventHandler(); + } + }); + _url = configuration.value(GuiUrlInfo.identifier); _enabled = configuration.hasValue(EnabledInfo.identifier) &&