static void g_filename_completer_finalize (GObject *object) { GFilenameCompleter *completer; completer = G_FILENAME_COMPLETER (object); cancel_load_basenames (completer); if (completer->basenames_dir) g_object_unref (completer->basenames_dir); g_list_free_full (completer->basenames, g_free); G_OBJECT_CLASS (g_filename_completer_parent_class)->finalize (object); }
static void schedule_load_basenames (GFilenameCompleter *completer, GFile *dir, gboolean should_escape) { LoadBasenamesData *data; cancel_load_basenames (completer); data = g_new0 (LoadBasenamesData, 1); data->completer = completer; data->cancellable = g_cancellable_new (); data->dir = g_object_ref (dir); data->should_escape = should_escape; data->dirs_only = completer->dirs_only; completer->basename_loader = data; g_file_enumerate_children_async (dir, G_FILE_ATTRIBUTE_STANDARD_NAME "," G_FILE_ATTRIBUTE_STANDARD_TYPE, 0, 0, data->cancellable, got_enum, data); }