{"action":"created","issue":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/9664","repository_url":"https://api.github.com/repos/xbmc/xbmc","labels_url":"https://api.github.com/repos/xbmc/xbmc/issues/9664/labels{/name}","comments_url":"https://api.github.com/repos/xbmc/xbmc/issues/9664/comments","events_url":"https://api.github.com/repos/xbmc/xbmc/issues/9664/events","html_url":"https://github.com/xbmc/xbmc/pull/9664","id":150290129,"number":9664,"title":"guilib: only dialogs are allowed to call ProcessRenderLoop","user":{"login":"FernetMenta","id":576009,"avatar_url":"https://avatars.githubusercontent.com/u/576009?v=3","gravatar_id":"","url":"https://api.github.com/users/FernetMenta","html_url":"https://github.com/FernetMenta","followers_url":"https://api.github.com/users/FernetMenta/followers","following_url":"https://api.github.com/users/FernetMenta/following{/other_user}","gists_url":"https://api.github.com/users/FernetMenta/gists{/gist_id}","starred_url":"https://api.github.com/users/FernetMenta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FernetMenta/subscriptions","organizations_url":"https://api.github.com/users/FernetMenta/orgs","repos_url":"https://api.github.com/users/FernetMenta/repos","events_url":"https://api.github.com/users/FernetMenta/events{/privacy}","received_events_url":"https://api.github.com/users/FernetMenta/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/xbmc/xbmc/labels/Fix","name":"Fix","color":"0b02e1"},{"url":"https://api.github.com/repos/xbmc/xbmc/labels/GUI%20Engine","name":"GUI Engine","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/xbmc/xbmc/milestones/74","html_url":"https://github.com/xbmc/xbmc/milestones/Krypton%2017.0-alpha1","labels_url":"https://api.github.com/repos/xbmc/xbmc/milestones/74/labels","id":1444499,"number":74,"title":"Krypton 17.0-alpha1","description":"","creator":{"login":"MartijnKaijser","id":907436,"avatar_url":"https://avatars.githubusercontent.com/u/907436?v=3","gravatar_id":"","url":"https://api.github.com/users/MartijnKaijser","html_url":"https://github.com/MartijnKaijser","followers_url":"https://api.github.com/users/MartijnKaijser/followers","following_url":"https://api.github.com/users/MartijnKaijser/following{/other_user}","gists_url":"https://api.github.com/users/MartijnKaijser/gists{/gist_id}","starred_url":"https://api.github.com/users/MartijnKaijser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MartijnKaijser/subscriptions","organizations_url":"https://api.github.com/users/MartijnKaijser/orgs","repos_url":"https://api.github.com/users/MartijnKaijser/repos","events_url":"https://api.github.com/users/MartijnKaijser/events{/privacy}","received_events_url":"https://api.github.com/users/MartijnKaijser/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":874,"state":"open","created_at":"2015-12-04T16:31:06Z","updated_at":"2016-04-24T13:42:04Z","due_on":"2016-04-29T22:00:00Z","closed_at":null},"comments":20,"created_at":"2016-04-22T07:15:41Z","updated_at":"2016-04-24T15:21:44Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/xbmc/xbmc/pulls/9664","html_url":"https://github.com/xbmc/xbmc/pull/9664","diff_url":"https://github.com/xbmc/xbmc/pull/9664.diff","patch_url":"https://github.com/xbmc/xbmc/pull/9664.patch"},"body":"Fix and another step in splitting the render thread. Only guilib is allowed to call ProcessRenderLoop. This change enforces this. It also reverts https://github.com/xbmc/xbmc/commit/fcc109044eef551aee72a50c5320fd8847e9455b\r\n\r\n@mapfau could you test this please?\r\n\r\nSome explanation:\r\nThe render loop has a sequence: FrameMove, Render, Flip, FrameMove, ...\r\n\r\nIf we allow calling the loop outside of guilib, i.e. by a method called from FrameMove, something like this may happen:\r\n\r\nFrameMove (partly), FrameMove, Render, ..."},"comment":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/comments/213983577","html_url":"https://github.com/xbmc/xbmc/pull/9664#issuecomment-213983577","issue_url":"https://api.github.com/repos/xbmc/xbmc/issues/9664","id":213983577,"user":{"login":"Memphiz","id":701326,"avatar_url":"https://avatars.githubusercontent.com/u/701326?v=3","gravatar_id":"","url":"https://api.github.com/users/Memphiz","html_url":"https://github.com/Memphiz","followers_url":"https://api.github.com/users/Memphiz/followers","following_url":"https://api.github.com/users/Memphiz/following{/other_user}","gists_url":"https://api.github.com/users/Memphiz/gists{/gist_id}","starred_url":"https://api.github.com/users/Memphiz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Memphiz/subscriptions","organizations_url":"https://api.github.com/users/Memphiz/orgs","repos_url":"https://api.github.com/users/Memphiz/repos","events_url":"https://api.github.com/users/Memphiz/events{/privacy}","received_events_url":"https://api.github.com/users/Memphiz/received_events","type":"User","site_admin":false},"created_at":"2016-04-24T15:21:44Z","updated_at":"2016-04-24T15:21:44Z","body":"Well it already was designed in a generic way. Thats why we have the CGUIKeyboard class (which needs to be derived and implemented for each natvie keyboard platform). Moving the ios native keyboard over the a GUIDialog won't change things that much - you still need to implement the CGUIKeyboard interface for android ..."}}