Re: Librsvg 2.41.0 is released
- From: Federico Mena Quintero <federico gnome org>
- To: Christian Hergert <christian hergert me>, desktop-devel-list gnome org
- Subject: Re: Librsvg 2.41.0 is released
- Date: Thu, 12 Jan 2017 10:11:15 -0600
On Wed, 2017-01-11 at 18:18 -0800, Christian Hergert wrote:
Not sure, its a runtime error you would see when a downstream would
try
to register an already registered GType.
How does one get this to happen?
Is it only a problem if two threads race to pass the same type_name to
g_type_register_*()?
Or if a library defines a shitty foo_get_type() without the g_once
magic from G_DEFINE_TYPE(), and gets called from two threads?
It might work today, just something to consider. One example might be
if
the glib-rs marshaler decided to created a string boxed type for UTF-
8
strings to avoid further deep copies.
Nah, it's Rust-only magic to deal conveniently with passing/getting
arguments to/from glib. Where the GObject introspection annotations
say transfer-full, you can call String::from_glib_full(ptr_to_c_char);
where they say transfer-none, you can call String::from_glib_none(ptr).
It doesn't register new GTypes at all.
Federico
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]