Crash on zap in RecordTimer when timeshifted
If RecordTimerEntry
needs to zap live TV to a different channel (for a zap timer, zap+record timer or to avoid timer conflicts) and the user is currently timeshifted and has not saved timeshift, it crashes when self.InfoBarInstance.timeshiftActivated()
is called, because InfoBar
does not have a timeshiftActivated()
method.
Replication steps
This bug can be triggered by zap zap+record or record timer. In the latter case, it is only triggered if a zap is required to avoid timer conflicts for the recording. The zap case is simplest.
Esnure that timeshift is enabled in MENU>Setup>TV>Timeshift settings>Automatically start timeshift after.
Create a "zap" timer a short time in the future on some channel.
Change to a different channel for live TV, and when timeshift has started, enter timeshift (e.g. with PAUSE or LEFT). Do not save timeshift.
Wait for the zap timer to start.
Crash when the timer starts.
Comments (3)
-
reporter -
- changed status to resolved
Fix Bug
#592: Crash on zap in RecordTimer when timeshiftedRemoves the call to self.InfoBarInstance.timeshiftActivated() and always inserts "Save timeshift and zap" in the first choice slot if self.InfoBarInstance.save_timeshift_file is False (since openChoiceActionBeforeZap() is only called when timeshift is being viewed the test is redundant anyway).
Removes the "Save timeshift in movie dir and zap"/"save_movie" menu choice and its associated code, since it does nothing in OpenViX or easy-ui-4.
Replaces the code in the "save" choice in zapAction() to use self.InfoBarInstance.SaveTimeshift() instead of self.InfoBarInstance.saveTimeshiftFiles().
Resets InfoBarTimeshift.save_timeshift_file in self.InfoBarInstance.SaveTimeshift().
It's not entirely clear to me what the role of InfoBarTimeshift.save_timeshift_file is intended to be, and I suspect that it may not achieve what is intended.
→ <<cset d567dcb3a644>>
-
Merged in prl/easy-ui-4/Fix-bug-592 (pull request #366)
Fix Bug
#592: Crash on zap in RecordTimer when timeshifted→ <<cset c6edf1ed725e>>
- Log in to comment
The source of the issue seems to be in commit f90cfaa where it appears that code was imported from OpenPLi into OpenViX (and thence into easy-ui-4) and retained code that is specific to OpenPLi.
As well as the call to a non-existent
self.InfoBarInstance.timeshiftActivated()
above, the code also callsself.InfoBarInstance.saveTimeshiftFiles()
which is also missing in both OpenViX and easy-ui-4.The code has a "Save timeshift in movie dir and zap" choice, which does the same as "Save timeshift and zap", except for setting
self.InfoBarInstance.save_timeshift_in_movie_dir
, but neither the OpenViX nor easy-ui-4 code initialises or references that attribute.