diff --git a/modules/gui/macosx/library/VLCLibraryAbstractGroupingDataSource.h b/modules/gui/macosx/library/VLCLibraryAbstractGroupingDataSource.h
index e14c6274f19d75500c3e8ffc42e7526ac5f83171..9c9e73d51459e8696e8664dfd2ba81a8944fd354 100644
--- a/modules/gui/macosx/library/VLCLibraryAbstractGroupingDataSource.h
+++ b/modules/gui/macosx/library/VLCLibraryAbstractGroupingDataSource.h
@@ -33,9 +33,9 @@ NS_ASSUME_NONNULL_BEGIN
 
 @property (readonly) NSArray<id<VLCMediaLibraryItemProtocol>> *backingArray;
 
-@property (readwrite) NSCollectionView *collectionView;
-@property (readwrite) NSTableView *masterTableView;
-@property (readwrite) NSTableView *detailTableView;
+@property (readwrite, weak) NSCollectionView *collectionView;
+@property (readwrite, weak) NSTableView *masterTableView;
+@property (readwrite, weak) NSTableView *detailTableView;
 
 - (void)reloadData;
 
diff --git a/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDataSource.h b/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDataSource.h
index 779cb7d62e5f73b71fbd3a5cce85d09a28971477..88d7c3eb8a5cde81c1429c047afa1e5cf29023be 100644
--- a/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDataSource.h
+++ b/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDataSource.h
@@ -28,8 +28,8 @@ NS_ASSUME_NONNULL_BEGIN
 
 @protocol VLCLibraryMasterDetailViewTableViewDataSource <VLCLibraryTableViewDataSource>
 
-@property (readwrite) NSTableView *masterTableView;
-@property (readwrite) NSTableView *detailTableView;
+@property (readwrite, weak) NSTableView *masterTableView;
+@property (readwrite, weak) NSTableView *detailTableView;
 
 @end
 
diff --git a/modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.h b/modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.h
index a9a46b5f080960fcad6ba5011a5ed60accb3a554..0ac4aee354865f5924c51dd6345ab93ef9380cdc 100644
--- a/modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.h
+++ b/modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.h
@@ -62,15 +62,15 @@ extern NSString * const VLCLibraryAudioDataSourceDisplayedCollectionChangedNotif
 
 @interface VLCLibraryAudioDataSource : NSObject <VLCLibraryTableViewDataSource, VLCLibraryCollectionViewDataSource, iCarouselDataSource>
 
-@property (readwrite, assign) VLCLibraryAudioGroupDataSource *audioGroupDataSource;
-@property (readwrite, assign) NSTableView *collectionSelectionTableView;
-@property (readwrite, assign) NSTableView *songsTableView;
-@property (readwrite, assign) NSCollectionView *collectionView;
-@property (readwrite, assign) iCarousel *carouselView;
-@property (readwrite, assign) NSTableView *gridModeListTableView;
 @property (readwrite, weak) VLCLibraryModel *libraryModel;
+@property (readwrite, weak) NSTableView *collectionSelectionTableView;
+@property (readwrite, weak) NSTableView *songsTableView;
+@property (readwrite, weak) NSCollectionView *collectionView;
+@property (readwrite, weak) iCarousel *carouselView;
+@property (readwrite, weak) NSTableView *gridModeListTableView;
 
 @property (nonatomic, readwrite, assign) VLCAudioLibrarySegment audioLibrarySegment;
+@property (readwrite, strong) VLCLibraryAudioGroupDataSource *audioGroupDataSource;
 
 @property (readonly) size_t collectionToDisplayCount;
 @property (readonly) NSInteger displayedCollectionCount;
diff --git a/modules/gui/macosx/library/home-library/VLCLibraryHomeViewVideoContainerViewDataSource.h b/modules/gui/macosx/library/home-library/VLCLibraryHomeViewVideoContainerViewDataSource.h
index ed9699a3939c85ad9fe38bc03939710ee7d74487..634b76c5a2b21de8935bfb7c63b96929af1bbfe2 100644
--- a/modules/gui/macosx/library/home-library/VLCLibraryHomeViewVideoContainerViewDataSource.h
+++ b/modules/gui/macosx/library/home-library/VLCLibraryHomeViewVideoContainerViewDataSource.h
@@ -34,8 +34,8 @@ extern NSString * const VLCLibraryVideoCollectionViewDataSourceDisplayedCollecti
 
 @interface VLCLibraryHomeViewVideoContainerViewDataSource : NSObject <VLCLibraryCollectionViewDataSource, iCarouselDataSource>
 
-@property (readwrite, assign) NSCollectionView *collectionView;
-@property (readwrite, assign) iCarousel *carouselView;
+@property (readwrite, weak) NSCollectionView *collectionView;
+@property (readwrite, weak) iCarousel *carouselView;
 @property (readwrite, assign, nonatomic) VLCLibraryVideoCollectionViewGroupDescriptor *groupDescriptor;
 @property (readwrite, assign) VLCLibraryHomeViewVideoGridContainerView *parentCell;
 
diff --git a/modules/gui/macosx/library/media-source/VLCMediaSourceBaseDataSource.h b/modules/gui/macosx/library/media-source/VLCMediaSourceBaseDataSource.h
index 6d6d61a8c1422e498b2f942087a6efc6b85670fe..cee5c51beb320c6c64bc7227362f5f61d1ae82ad 100644
--- a/modules/gui/macosx/library/media-source/VLCMediaSourceBaseDataSource.h
+++ b/modules/gui/macosx/library/media-source/VLCMediaSourceBaseDataSource.h
@@ -40,13 +40,13 @@ extern NSString * const VLCMediaSourceBaseDataSourceNodeChanged;
                                                     NSTableViewDelegate,
                                                     NSTableViewDataSource>
 
-@property (readwrite) NSCollectionView *collectionView;
-@property (readwrite) NSScrollView *collectionViewScrollView;
-@property (readwrite) NSTableView *tableView;
-@property (readwrite) NSScrollView *tableViewScrollView;
-@property (readwrite) NSButton *homeButton;
-@property (readwrite) VLCInputNodePathControl *pathControl;
-@property (readwrite) NSVisualEffectView *pathControlVisualEffectView;
+@property (readwrite, weak) NSCollectionView *collectionView;
+@property (readwrite, weak) NSScrollView *collectionViewScrollView;
+@property (readwrite, weak) NSTableView *tableView;
+@property (readwrite, weak) NSScrollView *tableViewScrollView;
+@property (readwrite, weak) NSButton *homeButton;
+@property (readwrite, weak) VLCInputNodePathControl *pathControl;
+@property (readwrite, weak) NSVisualEffectView *pathControlVisualEffectView;
 @property (readwrite, nonatomic) VLCMediaSourceMode mediaSourceMode;
 @property (readwrite, nonatomic) VLCMediaSourceDataSource *childDataSource;
 
diff --git a/modules/gui/macosx/library/media-source/VLCMediaSourceDataSource.h b/modules/gui/macosx/library/media-source/VLCMediaSourceDataSource.h
index 4ab547d79fbe66cae8ff691bbb1766adb7983243..5147d6e7a5d463dceaa056333464e3b1697af41e 100644
--- a/modules/gui/macosx/library/media-source/VLCMediaSourceDataSource.h
+++ b/modules/gui/macosx/library/media-source/VLCMediaSourceDataSource.h
@@ -39,9 +39,9 @@ extern NSString * const VLCMediaSourceDataSourceNodeChanged;
 
 @property (readwrite, retain) VLCMediaSource *displayedMediaSource;
 @property (readwrite, retain, nonatomic) VLCInputNode *nodeToDisplay;
-@property (readwrite, assign) NSCollectionView *collectionView;
-@property (readwrite, assign) NSTableView *tableView;
-@property (readwrite) VLCInputNodePathControl *pathControl;
+@property (readwrite, weak) NSCollectionView *collectionView;
+@property (readwrite, weak) NSTableView *tableView;
+@property (readwrite, weak) VLCInputNodePathControl *pathControl;
 
 - (void)setupViews;
 - (VLCInputItem*)mediaSourceInputItemAtRow:(NSInteger)tableViewRow;
diff --git a/modules/gui/macosx/library/playlist-library/VLCLibraryPlaylistDataSource.h b/modules/gui/macosx/library/playlist-library/VLCLibraryPlaylistDataSource.h
index 8bc7ebe9828d954f155926c9df6d2b03c46a2339..42df4fe3e963378cf38503235f62c371db8ff7fb 100644
--- a/modules/gui/macosx/library/playlist-library/VLCLibraryPlaylistDataSource.h
+++ b/modules/gui/macosx/library/playlist-library/VLCLibraryPlaylistDataSource.h
@@ -33,9 +33,9 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface VLCLibraryPlaylistDataSource : NSObject<VLCLibraryCollectionViewDataSource, VLCLibraryMasterDetailViewTableViewDataSource>
 
-@property (readwrite) NSTableView *masterTableView;
-@property (readwrite) NSTableView *detailTableView;
 @property (readonly, weak) VLCLibraryModel *libraryModel;
+@property (readwrite, weak) NSTableView *masterTableView;
+@property (readwrite, weak) NSTableView *detailTableView;
 @property (readwrite, nonatomic) NSArray<NSCollectionView *> *collectionViews;
 @property (readwrite, nonatomic) vlc_ml_playlist_type_t playlistType;
 
diff --git a/modules/gui/macosx/library/video-library/VLCLibraryVideoDataSource.h b/modules/gui/macosx/library/video-library/VLCLibraryVideoDataSource.h
index cbf995b54efbadf561c4bb3ac038069c678be0c5..4f5508c4d0d674055bd4eaf5c8bf4013a2a211ca 100644
--- a/modules/gui/macosx/library/video-library/VLCLibraryVideoDataSource.h
+++ b/modules/gui/macosx/library/video-library/VLCLibraryVideoDataSource.h
@@ -33,10 +33,10 @@ NS_ASSUME_NONNULL_BEGIN
 
 extern NSString * const VLCLibraryVideoDataSourceDisplayedCollectionChangedNotification;
 
-@property (readwrite, assign) NSCollectionView *collectionView;
-@property (readwrite) NSTableView *masterTableView;
-@property (readwrite) NSTableView *detailTableView;
 @property (readwrite, weak) VLCLibraryModel *libraryModel;
+@property (readwrite, weak) NSCollectionView *collectionView;
+@property (readwrite, weak) NSTableView *masterTableView;
+@property (readwrite, weak) NSTableView *detailTableView;
 
 - (void)reloadData;