Deactivate event handler when webgui is hidden

This commit is contained in:
Emil Axelsson
2018-11-14 17:06:45 +01:00
parent 4ce29842d3
commit a5e8a5a4d2

View File

@@ -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<std::string>(GuiUrlInfo.identifier);
_enabled = configuration.hasValue<bool>(EnabledInfo.identifier) &&