[PVR] Separate GUI from PVR core: remove CFileItem usage from core: step 1: directory listings. #16170
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #16154
That issue reported one of many possible deadlock due to PVR core using
CFileItem
andCFileItemList
. Those are GUI classes that might call at any time anywhere into PVR core, ignoring the PVR call dependency graph. Solution is to get rid of GUI classes in PVR core. This PR is the first step into that direction.Example deadlock:
T28: CPVRChannelGroups => CPVRChannelGroup (which is fine, call dependency-wise)
T1: CPVRChannelGroup => CFileItem => CPVRChannelManager => CPVRChannelGroupsContainer (not okay, call dependency-wise. group must not call groups container!)
@Jalle19 lots of code moved, but no functional changes. Good to go?