Problems with IceTV fetch when IceTV is disabled

Issue #763 resolved
prl created an issue

If MENU>IceTV>Fetch EPG and timer updates now is selected when IceTV is disabled, the IceTV fetch runs. This shouldn't happen, because it can overwrite (parts of) the FTA EPG, and because disabling IceTV switches off the IceTV genre lists, you also get a flurry of spurious errors in the IceTV log complaining about non-existent problems with the genre mapping, like this:

Code: Select all

2021-09-24 10:43:08: [EPGFetcher] ERROR: lookup of 0x11 "Crime" returned "Movie"
2021-09-24 10:43:08: [EPGFetcher] ERROR: lookup of 0x11 (remapped to 0x1c) "Murder" returned "Movie"
2021-09-24 10:43:08: [EPGFetcher] ERROR: lookup of 0x11 (remapped to 0x1b) "Mystery" returned "Movie"

The ability to fetch manually should be disabled when IceTV is disabled (background fetches are disabled when IceTV is disabled). The “Fetch EPG and update timers now” menu entry should also be removed when IceTV is disabled.

Replication

Configure IceTV using MENU>IceTV>IceTV setup wizard, and then disable it with MENU>IceTV>Disable IceTV.

The EPG will be empties. Fill it with the FTA EPG by visiting a channel from each broadcaster for ;long enough to fill that part of the EPG. Then, if necessary, change to any channel other than one provided by SBS.

Then MENU>IceTV>Fetch EPG and update timers now (having disabled IceTV will force a full EPG fetch). The IceTV EPG will fill, even though IceTV is disabled,. The overwriting of the FTA EPG by IceTV can be checked by looking at the SBS EPG and looking for IceTV’s tell-tale mangling of many right quotation marks and other non-ASCII characters. The genre lookup error messages will also be found in the debug log.

Comments (2)

  1. prl reporter

    Fix bug #763: Problems with IceTV fetch when IceTV is disabled

    Only show the "Fetch EPG and update timers now" MENU>IceTV menu entry when IceTV is enabled.

    There is no interface in ChoiceBox (which IceTVMain inherits from) to change the ChoiceBox menu list, so a new instance of IceTVMain is created when the enable/disable status is changed and the old instance is closed.

    The default parameter selection is used to pass the old selection position to the new instance so that thbe selected position is maintained acrtoss instances of IceTVMain.

    The old instance of IceTVMain is hidden before the new one is created - this prevents old instances of IceTVMain on the dialog stack being briefly displayed when the top instance is closed.

    Move the "Fetch EPG and update timers now" to the end of the menu list where its appearance and removal will be less visually disruptive. "Fetch EPG and update timers now" vcan be reached with a single UP from the top of the list (it was previously reached with a single DOWN.

    Move the "IceTV setup wizard" entry after the "Login to IceTV server" entry, because the former is used less frequently than the latter.

    → <<cset 12b3ef0f250b>>

  2. Log in to comment