Opened 13 years ago
Closed 3 years ago
#10407 closed Developer Task (Trac EOL)
Jump point redesign
Reported by: | Jim Stichnoth | Owned by: | Jim Stichnoth |
---|---|---|---|
Priority: | minor | Milestone: | needs_triage |
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.
Change History (6)
comment:1 Changed 13 years ago by
Owner: | set to Jim Stichnoth |
---|---|
Status: | new → accepted |
comment:2 Changed 13 years ago by
comment:3 Changed 13 years ago by
Fix a crash when executing a jump point during a playlist.
Refs #10407.
Branch: master Changeset: 343022203cdf6948428187e8f1fb6337ca7b0de0
comment:4 Changed 12 years ago by
Milestone: | 0.26 → 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.
comment:5 Changed 4 years ago by
Milestone: | unknown → needs_triage |
---|
#8045 another media handler issue with a patch.