summaryrefslogtreecommitdiff
path: root/src/polkitbackend/polkitbackendjsauthority.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/polkitbackend/polkitbackendjsauthority.cpp')
-rw-r--r--src/polkitbackend/polkitbackendjsauthority.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp
index 11e91c0..660407f 100644
--- a/src/polkitbackend/polkitbackendjsauthority.cpp
+++ b/src/polkitbackend/polkitbackendjsauthority.cpp
@@ -53,6 +53,13 @@
/* ---------------------------------------------------------------------------------------------------- */
+static class JsInitHelperType
+{
+public:
+ JsInitHelperType() { JS_Init(); }
+ ~JsInitHelperType() { JS_ShutDown(); }
+} JsInitHelper;
+
struct _PolkitBackendJsAuthorityPrivate
{
gchar **rules_dirs;
@@ -458,7 +465,6 @@ polkit_backend_common_js_authority_finalize (GObject *object)
delete authority->priv->js_polkit;
JS_DestroyContext (authority->priv->cx);
- /* JS_ShutDown (); */
G_OBJECT_CLASS (polkit_backend_js_authority_parent_class)->finalize (object);
}
@@ -490,7 +496,6 @@ polkit_backend_js_authority_class_init (PolkitBackendJsAuthorityClass *klass)
polkit_backend_common_js_authority_class_init_common (klass);
g_type_class_add_private (klass, sizeof (PolkitBackendJsAuthorityPrivate));
- JS_Init ();
}
/* ---------------------------------------------------------------------------------------------------- */