Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits: 203ae3b9 by Claudio Cambra at 2026-06-07T07:07:28+00:00 macosx: Instantiate media tree with vlc_media_tree_New() Signed-off-by: Claudio Cambra <[email protected]> - - - - - 1 changed file: - modules/gui/macosx/library/media-source/VLCMediaSource.m Changes: ===================================== modules/gui/macosx/library/media-source/VLCMediaSource.m ===================================== @@ -115,7 +115,7 @@ static const char *const remoteBrowseDescription = "Remote Browse"; } _p_mediaSource->description = localDevicesDescription; - _p_mediaSource->tree = calloc(1, sizeof(vlc_media_tree_t)); + _p_mediaSource->tree = vlc_media_tree_New(); if (_p_mediaSource->tree == NULL) { free(_p_mediaSource); @@ -159,7 +159,7 @@ static const char *const remoteBrowseDescription = "Remote Browse"; } _p_mediaSource->description = myFoldersDescription; - _p_mediaSource->tree = calloc(1, sizeof(vlc_media_tree_t)); + _p_mediaSource->tree = vlc_media_tree_New(); if (_p_mediaSource->tree == NULL) { free(_p_mediaSource); @@ -234,7 +234,7 @@ static const char *const remoteBrowseDescription = "Remote Browse"; if (isFileUrl) { _category = SD_CAT_MYCOMPUTER; _p_mediaSource->description = myFoldersDescription; - _p_mediaSource->tree = calloc(1, sizeof(vlc_media_tree_t)); + _p_mediaSource->tree = vlc_media_tree_New(); BOOL mrlTargetIsDirectory = NO; const BOOL mrlTargetExists = [NSFileManager.defaultManager @@ -264,8 +264,9 @@ static const char *const remoteBrowseDescription = "Remote Browse"; isFileUrl ? ITEM_LOCAL : ITEM_NET); if (isFileUrl) { - input_item_node_t * const directoryNode = input_item_node_Create(directoryItem); - _p_mediaSource->tree->root = *directoryNode; + // vlc_media_tree_New already initialised root with empty children; + // just set the root item directly. + _p_mediaSource->tree->root.p_item = directoryItem; } else { input_item_node_t * const directoryNode = input_item_node_Create(directoryItem); input_item_node_AppendNode(&_p_mediaSource->tree->root, directoryNode); @@ -289,6 +290,10 @@ static const char *const remoteBrowseDescription = "Remote Browse"; if (_p_mediaSource->description == localDevicesDescription || _p_mediaSource->description == myFoldersDescription) { _p_mediaSource->description = NULL; + if (_p_mediaSource->tree->root.p_item != NULL) { + input_item_Release(_p_mediaSource->tree->root.p_item); + _p_mediaSource->tree->root.p_item = NULL; + } vlc_media_tree_Release(_p_mediaSource->tree); free(_p_mediaSource); _p_mediaSource = NULL; View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/203ae3b908c32ee9e357c27bf5f2998e8dc55629 -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/203ae3b908c32ee9e357c27bf5f2998e8dc55629 You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help
_______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
