cleanup: Use g_clear_signal_handler() where possible

This is inspired by 98892391d7 where the usage of
`g_signal_handler_disconnect()` without resetting the corresponding
handler id later resulted in a bug. Using `g_clear_signal_handler()`
makes sure we avoid similar bugs and is almost always the better
alternative. We use it for new code, let's clean up the old code to
also use it.

A further benefit is that it can get called even if the passed id is
0, allowing us to remove a lot of now unnessecary checks, and the fact
that `g_clear_signal_handler()` checks for the right type size, forcing us
to clean up all places where we used `guint` instead of `gulong`.

No functional changes intended here and all changes should be trivial,
thus bundled in one big commit.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/940
This commit is contained in:
Robert Mader
2019-11-16 01:25:52 +01:00
committed by Florian Müllner
parent 22d1febf3c
commit 92375c75f8
45 changed files with 168 additions and 303 deletions

View File

@ -360,9 +360,8 @@ meta_wayland_cursor_surface_set_renderer (MetaWaylandCursorSurface *cursor_surfa
if (priv->cursor_renderer)
{
g_signal_handler_disconnect (priv->cursor_renderer,
priv->cursor_painted_handler_id);
priv->cursor_painted_handler_id = 0;
g_clear_signal_handler (&priv->cursor_painted_handler_id,
priv->cursor_renderer);
g_object_unref (priv->cursor_renderer);
}
if (renderer)