Skip to content

Commit 0b2a7d7

Browse files
authored
Merge pull request #329 from Esri/mhd/BasemapGallery_Clone
Clone user-supplied basemap prior to setting
2 parents 91e4560 + 9aea01b commit 0b2a7d7

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

Sources/ArcGISToolkit/Components/BasemapGallery/BasemapGalleryViewModel.swift

+6-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,12 @@ import ArcGIS
8989
@Published private(set) var currentItem: BasemapGalleryItem? = nil {
9090
didSet {
9191
guard let item = currentItem else { return }
92-
geoModel?.basemap = item.basemap
92+
// If the portal is nil, the user passed in their own array
93+
// of basemaps, so clone the selected one prior to setting. This
94+
// prevents the "Object already owned" error.
95+
// If portal is non-nil, there's no need to clone the basemap
96+
// as the list of basemaps is reloaded from the portal each time.
97+
geoModel?.basemap = portal == nil ? item.basemap.clone() : item.basemap
9398
}
9499
}
95100

0 commit comments

Comments
 (0)