Modify

Opened 6 years ago

Last modified 5 years ago

#10407 accepted Developer Task

Jump point redesign

Reported by: stichnot Owned by: stichnot
Priority: minor Milestone: unknown
Component: MythTV - General Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

This ticket tracks the various issues related to re-implementing jump points.

The current implementation sends an explicit Escape key event to the top screen. Its handler is expected to check IsJumpingToMain?(), do any cleanup action, and cooperatively pass the event to the next screen until the Main Menu is reached. This requires full and active cooperation everywhere, and if any component fails to test for an in-progress jump point, the jump point execution will stall/stop at that point.

See http://code.mythtv.org/trac/ticket/7939#comment:13 for a pointer to the suggested approach: "iterate down the stacks closing screens until we reach the main menu." However, each screen needs the opportunity to execute cleanup/destructor code, e.g. the cutlist editor should cleanly leave edit mode.

Workarounds in place in #7322 and #8250 - explicit handling of Escape keypress while IsExitingToMain?(). #7939 sends an EXIT_TO_MAIN event, which a TV object receives and acts on do to cleanup, which is a step in the right direction.

#9537 shows more issues in the current design.

Attachments (0)

Change History (4)

comment:1 Changed 6 years ago by stichnot

  • Owner set to stichnot
  • Status changed from new to accepted

comment:2 Changed 6 years ago by stichnot

#8045 another media handler issue with a patch.

comment:3 Changed 6 years ago by Github

Fix a crash when executing a jump point during a playlist.

Refs #10407.

Branch: master Changeset: 343022203cdf6948428187e8f1fb6337ca7b0de0

comment:4 Changed 5 years ago by stichnot

  • Milestone changed from 0.26 to unknown

Discussion on IRC points out the silliness of executing the LiveTV jump point from within live TV -- the current live TV session exits out to the main menu and then reenters live TV, a process taking many agonizing seconds to complete.

Conversely, it is pointed out that executing the TV Recording Playback jump point from within the Watch Recordings screen is a convenient way to quickly get back to the top of the list.

A good approach might be to only invoke a reset/initialize method when the current context is the same as the jump point's target context.

Add Comment

Modify Ticket

Action
as accepted The owner will remain stichnot.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.