[gnome-builder/wip/gtk4-port: 1768/1774] libide/foundry: keep IdeTest objects around




commit 7a6b114440c4d7e0d80cf5be6833a48e37b2b69e
Author: Christian Hergert <chergert redhat com>
Date:   Sat Jul 9 16:43:51 2022 -0700

    libide/foundry: keep IdeTest objects around
    
    We want the IdeTest to be persistent when possible so that we can track the
    status of the test.

 src/libide/foundry/ide-test-manager.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
---
diff --git a/src/libide/foundry/ide-test-manager.c b/src/libide/foundry/ide-test-manager.c
index c35f3a8d0..db8a26043 100644
--- a/src/libide/foundry/ide-test-manager.c
+++ b/src/libide/foundry/ide-test-manager.c
@@ -56,7 +56,7 @@ struct _IdeTestManager
 {
   IdeObject           parent_instance;
   GtkFilterListModel *filtered;
-  GtkMapListModel    *tests;
+  IdeCachedListModel *tests;
   VtePty             *pty;
 };
 
@@ -233,17 +233,18 @@ ide_test_manager_class_init (IdeTestManagerClass *klass)
 static void
 ide_test_manager_init (IdeTestManager *self)
 {
-  g_autoptr(GtkFilterListModel) filtered = NULL;
-  g_autoptr(GtkCustomFilter) filter = NULL;
+  GtkCustomFilter *filter;
+  GtkMapListModel *map;
 
   self->pty = vte_pty_new_sync (VTE_PTY_DEFAULT, NULL, NULL);
   vte_pty_set_utf8 (self->pty, TRUE, NULL);
 
   filter = gtk_custom_filter_new (filter_tests_func, NULL, NULL);
-  self->filtered = gtk_filter_list_model_new (NULL, GTK_FILTER (g_steal_pointer (&filter)));
-  self->tests = gtk_map_list_model_new (g_object_ref (G_LIST_MODEL (self->filtered)),
-                                        map_run_command_to_test,
-                                        NULL, NULL);
+  self->filtered = gtk_filter_list_model_new (NULL, GTK_FILTER (filter));
+  map = gtk_map_list_model_new (g_object_ref (G_LIST_MODEL (self->filtered)),
+                                map_run_command_to_test,
+                                NULL, NULL);
+  self->tests = ide_cached_list_model_new (G_LIST_MODEL (map));
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]