Ticket #10407 (accepted Developer Task)
Opened 15 months ago
Last modified 10 months ago
Jump point redesign
|Reported by:||stichnot||Owned by:||stichnot|
|Component:||MythTV - General||Version:||Master Head|
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.