Merge branch 'leaks' into 'master'

Allocation problems

See merge request Librem5/squeekboard!327
This commit is contained in:
Guido Gunther
2020-02-05 09:24:46 +00:00
2 changed files with 9 additions and 1 deletions

View File

@ -91,6 +91,11 @@ mod variants {
unsafe {
let ret = glib_sys::g_variant_builder_end(builder);
glib_sys::g_variant_builder_unref(builder);
// HACK: This is to prevent C taking ownership
// of "floating" Variants,
// where Rust gets to keep a stale reference
// and crash when trying to drop it.
glib_sys::g_variant_ref_sink(ret);
glib::Variant::from_glib_full(ret)
}
}
@ -141,7 +146,7 @@ fn set_layout(kind: String, name: String) {
.chain(inputs).collect();
settings.set_value(
"sources",
&variants::ArrayPairString(inputs).to_variant()
&variants::ArrayPairString(inputs).to_variant(),
);
settings.apply();
}