Graphical EPG - first navigation after page up or page down leaves incorrect highlight

Issue #291 new
prl created an issue

In the graphical EPG, the first navigation after pressing 2/8 (page up/page down) using UP/DOWN/LEFT/RIGHT will often leave some of the previous highlighting in the event just navigated away from. This affects both the graphics and text view modess of the graphical EPG.

If the event selected just before the page up/down has the same start and end time as the event highlighted just after the page up/down, there is no incorrect highlighting left behind when UP/DOWN/LEFT/RIGHT are used.

This bug only seems to happen when 2 or 8 is used to page. It doesn't seem to happen if you use DOWN in the bottom line or UP in the top line of the display.

I still don't have an exactly reproducible recipe for this bug, so I've marked its reproducibility as "Often".

Reproduction steps

In the graphical EPG, press 2 or 8 to page up or down (the view must actually change to a new page to see the bug), then press UP, DOWN, RIGHT or LEFT to navigate away from the initially highlighted event. You must navigate so that the view does not page (e.g. don't use UP, if the selected event is shown in the top row of the EPG display).

After navigating with UP/DOWN/RIGHT/LEFT, there is often some highlighting left in the event navigated away from.

The highlighting error does not appear if the start and end times of the events selected immediately before and after the page up/down are the same. On my scan SBS ONE and SBS HD normally have the same schedule and have the 8-row separation in All Services that can be used to test this exception. If they are not separated by 8 rows in a test setup, it may be possible to reproduce this aspect of the problem by changing the number of rows displayed in the EPG settings page to match the separation between SBS and SBS HD.

Comments (1)

  1. prl reporter

    I think that the problem is being caused by the fact that eListbox::invalidate() call (which resolves to its default argument invalidate(invalidRegion) in eListbox::moveSelection(long dir), should clear the clipping region, by calling eListboxPythonMultiContent::updateClip(invalidRegion), but passing invalidRegion to updateClip() does not clear the clipping region.

  2. Log in to comment