Creating the restart file leaked GFile objects. It also stored the path in the
object, which is unnecessary as it can just be generated on demand.
This leak has was introduced when the feature was in
db551f1c5d
There was a GCancellable used for IBus operations that was generated each time
an operation was done. The cancellable was only used to cancel such operations
when the panel is closed. We can just use the shared cancellable for this.
They're broken on my computer, and Python does a really
terrible job at communicating why. So after 8 hours of
debugging, I decided this is just a lost battle to me
and not important enough.
The timezone information is allocated with `tz_info_from_location` but
never deallocated.
LeakSanitizer complains about this memory leak.
```
Direct leak of 13568 byte(s) in 424 object(s) allocated from:
/build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:95
#1 0x7f63899bab21 in g_malloc0 (/usr/lib/libglib-2.0.so.0+0x51b21)
../tests/datetime/test-timezone-gfx.c:30
#3 0x7f63899dc76a (/usr/lib/libglib-2.0.so.0+0x7376a)
```
The directory opened with `g_dir_open` is never closed, so LeakSanitizer
complains about a memory leaks.
```
Direct leak of 8 byte(s) in 1 object(s) allocated from:
/build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
#1 0x7f2012908ac9 in g_malloc (/usr/lib/libglib-2.0.so.0+0x51ac9)
#2 0x7f2012922aac in g_memdup (/usr/lib/libglib-2.0.so.0+0x6baac)
#3 0x7f20128ed2d5 (/usr/lib/libglib-2.0.so.0+0x362d5)
#4 0x7f20128ed338 in g_dir_open (/usr/lib/libglib-2.0.so.0+0x36338)
../tests/datetime/test-endianess.c:29
#6 0x7f201292a76a (/usr/lib/libglib-2.0.so.0+0x7376a)
#7 0x7f201292a69a (/usr/lib/libglib-2.0.so.0+0x7369a)
(/usr/lib/libglib-2.0.so.0+0x73951)
#9 0x7f201292a972 in g_test_run (/usr/lib/libglib-2.0.so.0+0x73972)
#10 0x560ad630cbff in main ../tests/datetime/test-endianess.c:66
```
"warning: passing argument 1 of ‘gtk_widget_destroy’ from incompatible
pointer type" is printed from g_clear_pointer, because it is more
type-safe now. See https://gitlab.gnome.org/GNOME/glib/issues/1425 for
more info. Add the necessary casts to suppress the warnings.