listitemmanager: Handle null roots in get_nearest_tile
authortszymanski <tszymanski@google.com>
Thu, 27 Jul 2023 06:26:45 +0000 (23:26 -0700)
committertszymanski <tszymanski@google.com>
Sat, 29 Jul 2023 02:12:46 +0000 (19:12 -0700)
Rubberbanding still fails with "No item" warnings, but it no longer
crashes.

Closes #5970

gtk/gtklistitemmanager.c

index d2b7c237ec316836d8f516d0f899b26f884f3ef6..1ba0a2914876dab5079b488eee1643cbaab1ad4c 100644 (file)
@@ -575,9 +575,14 @@ gtk_list_item_manager_get_nearest_tile (GtkListItemManager *self,
                                         int                 x,
                                         int                 y)
 {
+  GtkListTile *root;
   int distance = G_MAXINT;
 
-  return gtk_list_tile_get_tile_at (self, gtk_list_item_manager_get_root (self), x, y, &distance);
+  root = gtk_list_item_manager_get_root (self);
+  if (root == NULL)
+    return NULL;
+
+  return gtk_list_tile_get_tile_at (self, root, x, y, &distance);
 }
 
 guint