Skip to content

Commit a9d326d

Browse files
committed
Dispose transient RelayPropertyFor subscriptions
1 parent e8c4ef6 commit a9d326d

2 files changed

Lines changed: 19 additions & 12 deletions

File tree

StabilityMatrix.Avalonia/ViewModels/Inference/ImageFolderCardViewModel.cs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ namespace StabilityMatrix.Avalonia.ViewModels.Inference;
3636
[View(typeof(ImageFolderCard))]
3737
[ManagedService]
3838
[Transient]
39-
public partial class ImageFolderCardViewModel : ViewModelBase
39+
public partial class ImageFolderCardViewModel : DisposableViewModelBase
4040
{
4141
private readonly ILogger<ImageFolderCardViewModel> logger;
4242
private readonly IImageIndexService imageIndexService;
@@ -86,11 +86,13 @@ ServiceManager<ViewModelBase> vmFactory
8686
.Bind(LocalImages)
8787
.Subscribe();
8888

89-
settingsManager.RelayPropertyFor(
90-
this,
91-
vm => vm.ImageSize,
92-
settings => settings.InferenceImageSize,
93-
delay: TimeSpan.FromMilliseconds(250)
89+
AddDisposable(
90+
settingsManager.RelayPropertyFor(
91+
this,
92+
vm => vm.ImageSize,
93+
settings => settings.InferenceImageSize,
94+
delay: TimeSpan.FromMilliseconds(250)
95+
)
9496
);
9597
}
9698

StabilityMatrix.Avalonia/ViewModels/Inference/PromptCardViewModel.cs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ namespace StabilityMatrix.Avalonia.ViewModels.Inference;
2828
[View(typeof(PromptCard))]
2929
[ManagedService]
3030
[Transient]
31-
public partial class PromptCardViewModel : LoadableViewModelBase, IParametersLoadableState, IComfyStep
31+
public partial class PromptCardViewModel
32+
: DisposableLoadableViewModelBase,
33+
IParametersLoadableState,
34+
IComfyStep
3235
{
3336
private readonly IModelIndexService modelIndexService;
3437
private readonly ISettingsManager settingsManager;
@@ -75,11 +78,13 @@ SharedState sharedState
7578
vm.AvailableModules = [typeof(PromptExpansionModule)];
7679
});
7780

78-
settingsManager.RelayPropertyFor(
79-
this,
80-
vm => vm.IsAutoCompletionEnabled,
81-
settings => settings.IsPromptCompletionEnabled,
82-
true
81+
AddDisposable(
82+
settingsManager.RelayPropertyFor(
83+
this,
84+
vm => vm.IsAutoCompletionEnabled,
85+
settings => settings.IsPromptCompletionEnabled,
86+
true
87+
)
8388
);
8489
}
8590

0 commit comments

Comments
 (0)