{"action":"created","issue":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/7150","labels_url":"https://api.github.com/repos/xbmc/xbmc/issues/7150/labels{/name}","comments_url":"https://api.github.com/repos/xbmc/xbmc/issues/7150/comments","events_url":"https://api.github.com/repos/xbmc/xbmc/issues/7150/events","html_url":"https://github.com/xbmc/xbmc/pull/7150","id":77269805,"number":7150,"title":"[alternative] add logic to wait for the startup window to finish before showing information dialogs during startup","user":{"login":"Montellese","id":75864,"avatar_url":"https://avatars.githubusercontent.com/u/75864?v=3","gravatar_id":"","url":"https://api.github.com/users/Montellese","html_url":"https://github.com/Montellese","followers_url":"https://api.github.com/users/Montellese/followers","following_url":"https://api.github.com/users/Montellese/following{/other_user}","gists_url":"https://api.github.com/users/Montellese/gists{/gist_id}","starred_url":"https://api.github.com/users/Montellese/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Montellese/subscriptions","organizations_url":"https://api.github.com/users/Montellese/orgs","repos_url":"https://api.github.com/users/Montellese/repos","events_url":"https://api.github.com/users/Montellese/events{/privacy}","received_events_url":"https://api.github.com/users/Montellese/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/xbmc/xbmc/labels/Fix","name":"Fix","color":"02e10c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-05-17T09:56:56Z","updated_at":"2015-05-18T08:07:04Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/xbmc/xbmc/pulls/7150","html_url":"https://github.com/xbmc/xbmc/pull/7150","diff_url":"https://github.com/xbmc/xbmc/pull/7150.diff","patch_url":"https://github.com/xbmc/xbmc/pull/7150.patch"},"body":"This is an alternative (and IMO cleaner) approach to #6666.\r\n\r\nThis is an attempt at solving the problem that when we try to show a modal dialog during startup to provide the user with some information, the dialog isn't really shown to the user most of the time because by the time the dialog becomes visible, Confluence's Startup.xml kicks in and executes a ReplaceWindow() call to go to the home window. That ReplaceWindow() call changes the active window and basically hides the modal dialog in the background.\r\n\r\nThe difference to #6666 is that this doesn't add an ugly busy loop on the window manager to know when the user interface is really ready for these dialogs but instead uses a new GUI message `GUI_MSG_UI_READY`. That message is sent out in one of these cases:\r\n* Kodi has started without the login window and the startup window is not `CGUIWindowStartup` / `Startup.xml`\r\n* Kodi has started with the login window, the user has logged into one of the profiles and the startup window is not `CGUIWindowStartup` / `Startup.xml`\r\n* Kodi has started (with or without the login window) and the startup window is `CGUIWindowStartup` / `Startup.xml` and has been closed"},"comment":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/comments/102958419","html_url":"https://github.com/xbmc/xbmc/pull/7150#issuecomment-102958419","issue_url":"https://api.github.com/repos/xbmc/xbmc/issues/7150","id":102958419,"user":{"login":"Montellese","id":75864,"avatar_url":"https://avatars.githubusercontent.com/u/75864?v=3","gravatar_id":"","url":"https://api.github.com/users/Montellese","html_url":"https://github.com/Montellese","followers_url":"https://api.github.com/users/Montellese/followers","following_url":"https://api.github.com/users/Montellese/following{/other_user}","gists_url":"https://api.github.com/users/Montellese/gists{/gist_id}","starred_url":"https://api.github.com/users/Montellese/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Montellese/subscriptions","organizations_url":"https://api.github.com/users/Montellese/orgs","repos_url":"https://api.github.com/users/Montellese/repos","events_url":"https://api.github.com/users/Montellese/events{/privacy}","received_events_url":"https://api.github.com/users/Montellese/received_events","type":"User","site_admin":false},"created_at":"2015-05-18T08:07:04Z","updated_at":"2015-05-18T08:07:04Z","body":"@xhaggi: I saw that PVR windows are handled special but I didn't know why and I didn't know that it was asynchronous. Could you take a look at the necessary changes since I can't really test it. I'm assuming that the message should be sent from that `if` block you linked to."}}