[Spice-devel] [PATCH spice-server] Initialize earlier GLib type system if necessary
Frediano Ziglio
fziglio at redhat.com
Thu Mar 30 12:27:45 UTC 2017
Before GLib 2.36 you should call g_type_init before attempting
any GLib type usage.
As constructor function are called before even main we need
to call g_type_init much before do_spice_init.
Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
server/red-channel-capabilities.c | 4 ++++
server/reds.c | 3 ---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/server/red-channel-capabilities.c b/server/red-channel-capabilities.c
index c08cc1a..5a3984a 100644
--- a/server/red-channel-capabilities.c
+++ b/server/red-channel-capabilities.c
@@ -61,6 +61,10 @@ static void red_channel_capabilities_free(RedChannelCapabilities *caps)
SPICE_CONSTRUCTOR_FUNC(red_channel_capabilities_construct)
{
+#if !GLIB_CHECK_VERSION(2,36,0)
+ g_type_init();
+#endif
+
red_channel_capabilities_type =
g_boxed_type_register_static("RedChannelCapabilities",
(GBoxedCopyFunc) red_channel_capabilities_dup,
diff --git a/server/reds.c b/server/reds.c
index c730daa..0b6ca12 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -3401,9 +3401,6 @@ static int do_spice_init(RedsState *reds, SpiceCoreInterface *core_interface)
{
spice_debug("starting %s", VERSION);
-#if !GLIB_CHECK_VERSION(2,36,0)
- g_type_init();
-#endif
if (core_interface->base.major_version != SPICE_INTERFACE_CORE_MAJOR) {
spice_warning("bad core interface version");
goto err;
--
2.9.3
More information about the Spice-devel
mailing list