[mutter] backend: Add a backend release function
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] backend: Add a backend release function
- Date: Tue, 6 Oct 2020 15:52:32 +0000 (UTC)
commit 6db7d8f830974fd6e542afeef1299c84da10e6b1
Author: Olivier Fourdan <ofourdan redhat com>
Date: Fri Sep 11 12:14:13 2020 +0200
backend: Add a backend release function
Mutter still relies heavily on singletons such as its MetaBackend.
For that, the backend implementation has a meta_init_backend() function
which is called at startup from meta_init(), which creates the desired
backend and sets the singleton which is returned by meta_get_backend().
Unfortunately, that means that the backend is never actually freed, and
all the code from the backend finalize function never actually get
called.
Add a meta_release_backend() to free the backend singleton.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1438
src/backends/meta-backend-private.h | 1 +
src/backends/meta-backend.c | 6 ++++++
2 files changed, 7 insertions(+)
---
diff --git a/src/backends/meta-backend-private.h b/src/backends/meta-backend-private.h
index 6d7d3ad758..168dae453d 100644
--- a/src/backends/meta-backend-private.h
+++ b/src/backends/meta-backend-private.h
@@ -108,6 +108,7 @@ struct _MetaBackendClass
};
void meta_init_backend (GType backend_gtype);
+void meta_release_backend (void);
#ifdef HAVE_WAYLAND
MetaWaylandCompositor * meta_backend_get_wayland_compositor (MetaBackend *backend);
diff --git a/src/backends/meta-backend.c b/src/backends/meta-backend.c
index 97c7714076..c4bba30006 100644
--- a/src/backends/meta-backend.c
+++ b/src/backends/meta-backend.c
@@ -1393,6 +1393,12 @@ meta_init_backend (GType backend_gtype)
}
}
+void
+meta_release_backend (void)
+{
+ g_clear_object (&_backend);
+}
+
/**
* meta_is_stage_views_enabled:
*
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]