New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pvr][fix] users are trapped in the splash screen while start into a pvr window + no connection to backend #7664
[pvr][fix] users are trapped in the splash screen while start into a pvr window + no connection to backend #7664
Conversation
ac9b1f5
to
7c078f3
Compare
b51f905
to
55e7540
Compare
@ronie mind taking a look at the commit for confluence. We are able to specify if we want to display/hide the progressbar in the progress dialog with |
@xhaggi wouldnt DialogOK be more appropriate to display a short message or do you need the progress bar? |
nope won't work because you can't specify what happen if you click on the ok button. And it will block the gfx render thread/lock gfx context which is a no-go too. edit: to be clear what happens here - the progress dialog automatically disappear if the pvr manager is ready or you can interact and cancel the waiting process |
@@ -39,6 +40,7 @@ | |||
#include "pvr/dialogs/GUIDialogPVRTimerSettings.h" | |||
#include "pvr/timers/PVRTimers.h" | |||
#include "epg/Epg.h" | |||
#include "epg/EpgContainer.h" |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Not runtime-tested, but the code changes look reasonable to me. If I find the time I will do a runtime test tonight or during the weekend. |
55e7540
to
64b7f5f
Compare
jenkins build this please |
Set TV as startup window, disabled tvheadend . Runtime tested. Crashes reliably :-( Crash log: http://paste.ubuntu.com/11975859/ |
thanks will take a look at it. |
I can't really reproduce the issue. I wonder which version you run, because in master we don't have the method
|
Latest 15.1 which the PR backport. |
could you please try the master. |
Look at the crashing method. It seems to access PVR stuff that is not yet available at that moment? for me, the crash occurs not sporadically, but on every startup. |
sure we can check for |
we need to know which message is triggered in |
I do very sorry. I have no time today. |
np, let me know if you found time. have a nice day 😎 |
Just a short update (will be offline after writing until late night/tomorrow ;-) Happens also on master, same callstack. Crash gets caused here: https://github.com/xbmc/xbmc/blob/master/xbmc/windows/GUIMediaWindow.cpp#L337 No idea though, why message GUI_MSG_REMOVED_MEDIA is generated on startup. I definitely do not remove any media myself on startup. ;-) |
thanks for the investigation. that explain why i can't reproduce the issue. we neee to protect the update method and do a earlier return if pvr manager is not started. this should fix it. |
@ksooo I've pushed a new commit which will protect the pvr windows against illegal gui messages if the manager is not started. It would be nice if you take a look and do some tests thanks ;) |
b12f9d8
to
bced7e9
Compare
Confirming that it works now. Another story is that I find the dialog in front of the half populated PVR window is very ugly. See @xhaggi's screenshot. It really looks exactly like this while one is waiting for PVR to get ready. But as I have no ides how to do it better, I'd rather shut up, I guess. |
@ksooo better as trapped in the splash and you can't interrupt it ;) jenkins build this please |
bced7e9
to
97f912a
Compare
is blocked by #7667 |
97f912a
to
b0961a2
Compare
jenkins build and merge |
This happens if you choose a PVR window as startup window and Kodi can't connect to the PVR backend. You are trapped in the splash screen and you need to kill the app and your GUI settings to reset the startup window configuration. It happens because the PVR Manager will handle the activation of the startup window after it has been started, but this fails (no connected clients). This PR will remove the startup window activation stuff from the PVR manager and let CApplication handle it like it's done for every other window. To activate a PVR window only if the PVR manager has been started, i've introduced a busy dialog into CGUIWindowPVRBase and wait until the manager has been started. You are able to cancel the waiting process and you'll be returned to the previous window (usually the home window).
The mouse pointer issue is related to the splash window issue we already addressed with #7650.
@ksooo @Jalle19 mind taking a look and should we consider a backport?