Skip to content
Commit f57da29d authored by Philip Chimento's avatar Philip Chimento
Browse files

arg: Don't convert GHashTable keys via GIArgument

This caused problems with sign extension. An example would be a hash
table with key-type int on the GObject introspection side, and inserting
the key "-1" into it. The key that actually gets passed to
g_hash_table_insert() is 0xffffffff, whereas when you try to look up the
key on the C side, GINT_TO_POINTER(-1) is 0xffffffffffffffff, so the
lookup fails.

Moreover, JavaScript only has string properties on its objects (which can
be represented as int32 or string JS::Values internally) so we can cut
out a lot of code to deal with other value types, as well as issue a
clear message that we don't support certain key-types for hashtables in
GObject introspection.

(We could move to using Map objects for the unsupported types in the
future.)

https://bugzilla.gnome.org/show_bug.cgi?id=773763
parent de5dd654
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment