gdkseatdefault: Unref removed slave devices
authorSebastian Keller <skeller@gnome.org>
Sun, 26 Jan 2020 23:59:56 +0000 (00:59 +0100)
committerSebastian Keller <skeller@gnome.org>
Mon, 27 Jan 2020 00:37:14 +0000 (01:37 +0100)
Adding a slave device adds a ref, but removing it does not unref it.

https://gitlab.gnome.org/GNOME/gtk/merge_requests/1358

gdk/gdkseatdefault.c

index 22b4b64e9b3dd8fb3c21d91c77341ff6f4c31cdf..17253f2ac566d96c6bbf80c5b6e894e735d71afe 100644 (file)
@@ -417,6 +417,7 @@ gdk_seat_default_remove_slave (GdkSeatDefault *seat,
         priv->capabilities |= device_get_capability (GDK_DEVICE (l->data));
 
       gdk_seat_device_removed (GDK_SEAT (seat), device);
+      g_object_unref (device);
     }
   else if (g_list_find (priv->slave_keyboards, device))
     {
@@ -427,6 +428,7 @@ gdk_seat_default_remove_slave (GdkSeatDefault *seat,
         priv->capabilities |= device_get_capability (GDK_DEVICE (l->data));
 
       gdk_seat_device_removed (GDK_SEAT (seat), device);
+      g_object_unref (device);
     }
 }