From aaf3231fc75d7b4177549fec4aa7e672bfe84015 Mon Sep 17 00:00:00 2001 From: Stypox Date: Sat, 30 Dec 2023 23:23:19 +0100 Subject: [PATCH] [MediaCCC] Fix lambda link handler keeping reference to extractor This caused problems in NewPipe, because extractors are not serializable, and well, keeping references to them is a bad idea anyway. --- .../media_ccc/extractors/MediaCCCConferenceExtractor.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCConferenceExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCConferenceExtractor.java index aab587bf2..30cab066f 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCConferenceExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCConferenceExtractor.java @@ -95,9 +95,11 @@ public class MediaCCCConferenceExtractor extends ChannelExtractor { @Nonnull @Override public List getTabs() throws ParsingException { + // avoid keeping a reference to MediaCCCConferenceExtractor inside the lambda + final JsonObject theConferenceData = conferenceData; return List.of(new ReadyChannelTabListLinkHandler(getUrl(), getId(), ChannelTabs.VIDEOS, (service, linkHandler) -> - new MediaCCCChannelTabExtractor(service, linkHandler, conferenceData))); + new MediaCCCChannelTabExtractor(service, linkHandler, theConferenceData))); } @Override