[Spice-devel] [PATCH spice-server] Initialize earlier GLib type system if necessary

Christophe Fergeau cfergeau at redhat.com
Thu Mar 30 15:21:51 UTC 2017


On Thu, Mar 30, 2017 at 01:27:45PM +0100, Frediano Ziglio wrote:
> 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,

How does this interact with SPICE_CONSTRUCTOR_FUNC(spice_log_init) in
spice-common/log.c? Which one is going to get called first? Ideally, the
logging one, but in this case, should the g_type_init() got there
instead?

Acked-by: Christophe Fergeau <cfergeau at redhat.com>

if you think this is fine.

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20170330/ea9e40a0/attachment.sig>


More information about the Spice-devel mailing list