From 3ee1cf38fab94df46efacf7cf9b6120504abd802 Mon Sep 17 00:00:00 2001 From: david-swift Date: Sun, 4 Feb 2024 21:26:32 +0100 Subject: [PATCH] Fix ComboRow's values not updating properly --- Sources/Adwaita/View/Forms/ComboRow+.swift | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Sources/Adwaita/View/Forms/ComboRow+.swift b/Sources/Adwaita/View/Forms/ComboRow+.swift index 1286d13..3e4201d 100644 --- a/Sources/Adwaita/View/Forms/ComboRow+.swift +++ b/Sources/Adwaita/View/Forms/ComboRow+.swift @@ -40,10 +40,8 @@ extension ComboRow { updateFunctions.append { storage in if let list = storage.fields[Self.stringList] as? OpaquePointer { let old = storage.fields[Self.values] as? [Element] ?? [] - var new = values.filter { element in !old.contains { $0.id == element.id } } - new = old + new old.identifiableTransform( - to: new, + to: values, functions: .init { index, element in gtk_string_list_remove(list, .init(index)) gtk_string_list_append(list, element.description) @@ -53,7 +51,7 @@ extension ComboRow { gtk_string_list_append(list, element.description) } ) - storage.fields[Self.values] = new + storage.fields[Self.values] = values } } }