{"action":"created","comment":{"url":"https://api.github.com/repos/Tribler/tribler/pulls/comments/51140578","id":51140578,"diff_hunk":"@@ -264,23 +284,53 @@ def ShowPage(self, page, *args):\n         elif page == 'my_files':\n             self.frame.librarylist.Focus()\n \n-    def show_startup_splash(self):\n+    @forceWxThread\n+    def show_startup_splash(self, subject, changetype, objectID, *args):\n+        assert wx.Thread_IsMain()\n         gui_image_manager = GuiImageManager.getInstance()\n         bm = gui_image_manager.getImage(u'splash.png')\n-        self.startup_splash = GaugeSplash(bm, \"Loading...\", 13)\n-        self.startup_splash.Show()\n+        self.startup_splash = GaugeSplash(bm, \"Loading...\", self.START_GAUGE_SPLASH_TICKS)\n+\n+        # Check if the destroy message has already arrived. Loading the splash takes a while,\n+        # so the setup may have already been completed.\n+        if not self.startup_completed:\n+            self.startup_splash.Show()\n+        else:\n+            self.destroy_startup_splash(None, None, None, None)\n+\n+    @forceWxThread\n+    def on_startup_tick(self, subject, changetype, objectID, *args):\n+        assert wx.Thread_IsMain()\n+        if self.startup_splash:\n+            self.startup_splash.tick(args[0])\n \n-    def destroy_startup_splash(self):\n+    @forceWxThread\n+    def destroy_startup_splash(self, subject, changetype, objectID, *args):\n+        assert wx.Thread_IsMain()\n+        self.startup_completed = True\n         if self.startup_splash:\n             self.startup_splash.Destroy()\n \n-    def show_close_splash(self):\n+    @forceWxThread\n+    def show_close_splash(self, subject, changetype, objectID, *args):\n+        assert wx.Thread_IsMain()\n         gui_image_manager = GuiImageManager.getInstance()\n         bm = gui_image_manager.getImage(u'closescreen.png')\n-        self.close_splash = GaugeSplash(bm, \"Closing...\", 6)\n-        self.close_splash.Show()\n+        self.close_splash = GaugeSplash(bm, \"Closing...\", self.CLOSE_GAUGE_SPLASH_TICKS)\n+        if not self.close_completed:","path":"Tribler/Main/vwxGUI/GuiUtility.py","position":113,"original_position":113,"commit_id":"859aa5d59aa6eb9c4fd6d65185d417213a3397ca","original_commit_id":"859aa5d59aa6eb9c4fd6d65185d417213a3397ca","user":{"login":"whirm","id":529494,"avatar_url":"https://avatars.githubusercontent.com/u/529494?v=3","gravatar_id":"","url":"https://api.github.com/users/whirm","html_url":"https://github.com/whirm","followers_url":"https://api.github.com/users/whirm/followers","following_url":"https://api.github.com/users/whirm/following{/other_user}","gists_url":"https://api.github.com/users/whirm/gists{/gist_id}","starred_url":"https://api.github.com/users/whirm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whirm/subscriptions","organizations_url":"https://api.github.com/users/whirm/orgs","repos_url":"https://api.github.com/users/whirm/repos","events_url":"https://api.github.com/users/whirm/events{/privacy}","received_events_url":"https://api.github.com/users/whirm/received_events","type":"User","site_admin":false},"body":"invert if and remove negation","created_at":"2016-01-28T15:53:35Z","updated_at":"2016-01-28T15:53:35Z","html_url":"https://github.com/Tribler/tribler/pull/1895#discussion_r51140578","pull_request_url":"https://api.github.com/repos/Tribler/tribler/pulls/1895","_links":{"self":{"href":"https://api.github.com/repos/Tribler/tribler/pulls/comments/51140578"},"html":{"href":"https://github.com/Tribler/tribler/pull/1895#discussion_r51140578"},"pull_request":{"href":"https://api.github.com/repos/Tribler/tribler/pulls/1895"}}},"pull_request":{"url":"https://api.github.com/repos/Tribler/tribler/pulls/1895","id":57072832,"html_url":"https://github.com/Tribler/tribler/pull/1895","diff_url":"https://github.com/Tribler/tribler/pull/1895.diff","patch_url":"https://github.com/Tribler/tribler/pull/1895.patch","issue_url":"https://api.github.com/repos/Tribler/tribler/issues/1895","number":1895,"state":"open","locked":false,"title":"Devel stable fix PR","user":{"login":"lfdversluis","id":3618917,"avatar_url":"https://avatars.githubusercontent.com/u/3618917?v=3","gravatar_id":"","url":"https://api.github.com/users/lfdversluis","html_url":"https://github.com/lfdversluis","followers_url":"https://api.github.com/users/lfdversluis/followers","following_url":"https://api.github.com/users/lfdversluis/following{/other_user}","gists_url":"https://api.github.com/users/lfdversluis/gists{/gist_id}","starred_url":"https://api.github.com/users/lfdversluis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lfdversluis/subscriptions","organizations_url":"https://api.github.com/users/lfdversluis/orgs","repos_url":"https://api.github.com/users/lfdversluis/repos","events_url":"https://api.github.com/users/lfdversluis/events{/privacy}","received_events_url":"https://api.github.com/users/lfdversluis/received_events","type":"User","site_admin":false},"body":"- [x] Gaugesplash bug \r\n- [x] maxsize to maxint bug when adding to a list (OverflowError: Python int too large to convert to C long)\r\n- [x] endModal unhandled exception in test_gui_dialogs.py\r\n- [x] Test hangs on testConfirmDialog (test_gui_dialogs.py) without an exception on BBQ only.","created_at":"2016-01-25T13:46:32Z","updated_at":"2016-01-28T15:53:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":"229a89f16c38e80703f324a899aa98cb49f176d2","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/Tribler/tribler/pulls/1895/commits","review_comments_url":"https://api.github.com/repos/Tribler/tribler/pulls/1895/comments","review_comment_url":"https://api.github.com/repos/Tribler/tribler/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Tribler/tribler/issues/1895/comments","statuses_url":"https://api.github.com/repos/Tribler/tribler/statuses/859aa5d59aa6eb9c4fd6d65185d417213a3397ca","head":{"label":"lfdversluis:stuff","ref":"stuff","sha":"859aa5d59aa6eb9c4fd6d65185d417213a3397ca","user":{"login":"lfdversluis","id":3618917,"avatar_url":"https://avatars.githubusercontent.com/u/3618917?v=3","gravatar_id":"","url":"https://api.github.com/users/lfdversluis","html_url":"https://github.com/lfdversluis","followers_url":"https://api.github.com/users/lfdversluis/followers","following_url":"https://api.github.com/users/lfdversluis/following{/other_user}","gists_url":"https://api.github.com/users/lfdversluis/gists{/gist_id}","starred_url":"https://api.github.com/users/lfdversluis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lfdversluis/subscriptions","organizations_url":"https://api.github.com/users/lfdversluis/orgs","repos_url":"https://api.github.com/users/lfdversluis/repos","events_url":"https://api.github.com/users/lfdversluis/events{/privacy}","received_events_url":"https://api.github.com/users/lfdversluis/received_events","type":"User","site_admin":false},"repo":{"id":45919494,"name":"tribler","full_name":"lfdversluis/tribler","owner":{"login":"lfdversluis","id":3618917,"avatar_url":"https://avatars.githubusercontent.com/u/3618917?v=3","gravatar_id":"","url":"https://api.github.com/users/lfdversluis","html_url":"https://github.com/lfdversluis","followers_url":"https://api.github.com/users/lfdversluis/followers","following_url":"https://api.github.com/users/lfdversluis/following{/other_user}","gists_url":"https://api.github.com/users/lfdversluis/gists{/gist_id}","starred_url":"https://api.github.com/users/lfdversluis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lfdversluis/subscriptions","organizations_url":"https://api.github.com/users/lfdversluis/orgs","repos_url":"https://api.github.com/users/lfdversluis/repos","events_url":"https://api.github.com/users/lfdversluis/events{/privacy}","received_events_url":"https://api.github.com/users/lfdversluis/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lfdversluis/tribler","description":"Privacy with BitTorrent and resilient to shut down","fork":true,"url":"https://api.github.com/repos/lfdversluis/tribler","forks_url":"https://api.github.com/repos/lfdversluis/tribler/forks","keys_url":"https://api.github.com/repos/lfdversluis/tribler/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lfdversluis/tribler/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lfdversluis/tribler/teams","hooks_url":"https://api.github.com/repos/lfdversluis/tribler/hooks","issue_events_url":"https://api.github.com/repos/lfdversluis/tribler/issues/events{/number}","events_url":"https://api.github.com/repos/lfdversluis/tribler/events","assignees_url":"https://api.github.com/repos/lfdversluis/tribler/assignees{/user}","branches_url":"https://api.github.com/repos/lfdversluis/tribler/branches{/branch}","tags_url":"https://api.github.com/repos/lfdversluis/tribler/tags","blobs_url":"https://api.github.com/repos/lfdversluis/tribler/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lfdversluis/tribler/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lfdversluis/tribler/git/refs{/sha}","trees_url":"https://api.github.com/repos/lfdversluis/tribler/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lfdversluis/tribler/statuses/{sha}","languages_url":"https://api.github.com/repos/lfdversluis/tribler/languages","stargazers_url":"https://api.github.com/repos/lfdversluis/tribler/stargazers","contributors_url":"https://api.github.com/repos/lfdversluis/tribler/contributors","subscribers_url":"https://api.github.com/repos/lfdversluis/tribler/subscribers","subscription_url":"https://api.github.com/repos/lfdversluis/tribler/subscription","commits_url":"https://api.github.com/repos/lfdversluis/tribler/commits{/sha}","git_commits_url":"https://api.github.com/repos/lfdversluis/tribler/git/commits{/sha}","comments_url":"https://api.github.com/repos/lfdversluis/tribler/comments{/number}","issue_comment_url":"https://api.github.com/repos/lfdversluis/tribler/issues/comments{/number}","contents_url":"https://api.github.com/repos/lfdversluis/tribler/contents/{+path}","compare_url":"https://api.github.com/repos/lfdversluis/tribler/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lfdversluis/tribler/merges","archive_url":"https://api.github.com/repos/lfdversluis/tribler/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lfdversluis/tribler/downloads","issues_url":"https://api.github.com/repos/lfdversluis/tribler/issues{/number}","pulls_url":"https://api.github.com/repos/lfdversluis/tribler/pulls{/number}","milestones_url":"https://api.github.com/repos/lfdversluis/tribler/milestones{/number}","notifications_url":"https://api.github.com/repos/lfdversluis/tribler/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lfdversluis/tribler/labels{/name}","releases_url":"https://api.github.com/repos/lfdversluis/tribler/releases{/id}","deployments_url":"https://api.github.com/repos/lfdversluis/tribler/deployments","created_at":"2015-11-10T15:06:28Z","updated_at":"2016-01-11T13:41:55Z","pushed_at":"2016-01-28T13:16:55Z","git_url":"git://github.com/lfdversluis/tribler.git","ssh_url":"git@github.com:lfdversluis/tribler.git","clone_url":"https://github.com/lfdversluis/tribler.git","svn_url":"https://github.com/lfdversluis/tribler","homepage":"http://www.tribler.org","size":118674,"stargazers_count":1,"watchers_count":1,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":3,"forks":0,"open_issues":3,"watchers":1,"default_branch":"devel"}},"base":{"label":"Tribler:devel","ref":"devel","sha":"f2c385f250d9640c2b6e1e1e7c48b8231bca55ae","user":{"login":"Tribler","id":2913489,"avatar_url":"https://avatars.githubusercontent.com/u/2913489?v=3","gravatar_id":"","url":"https://api.github.com/users/Tribler","html_url":"https://github.com/Tribler","followers_url":"https://api.github.com/users/Tribler/followers","following_url":"https://api.github.com/users/Tribler/following{/other_user}","gists_url":"https://api.github.com/users/Tribler/gists{/gist_id}","starred_url":"https://api.github.com/users/Tribler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tribler/subscriptions","organizations_url":"https://api.github.com/users/Tribler/orgs","repos_url":"https://api.github.com/users/Tribler/repos","events_url":"https://api.github.com/users/Tribler/events{/privacy}","received_events_url":"https://api.github.com/users/Tribler/received_events","type":"Organization","site_admin":false},"repo":{"id":8411137,"name":"tribler","full_name":"Tribler/tribler","owner":{"login":"Tribler","id":2913489,"avatar_url":"https://avatars.githubusercontent.com/u/2913489?v=3","gravatar_id":"","url":"https://api.github.com/users/Tribler","html_url":"https://github.com/Tribler","followers_url":"https://api.github.com/users/Tribler/followers","following_url":"https://api.github.com/users/Tribler/following{/other_user}","gists_url":"https://api.github.com/users/Tribler/gists{/gist_id}","starred_url":"https://api.github.com/users/Tribler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tribler/subscriptions","organizations_url":"https://api.github.com/users/Tribler/orgs","repos_url":"https://api.github.com/users/Tribler/repos","events_url":"https://api.github.com/users/Tribler/events{/privacy}","received_events_url":"https://api.github.com/users/Tribler/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Tribler/tribler","description":"Privacy with BitTorrent and resilient to shut down","fork":false,"url":"https://api.github.com/repos/Tribler/tribler","forks_url":"https://api.github.com/repos/Tribler/tribler/forks","keys_url":"https://api.github.com/repos/Tribler/tribler/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Tribler/tribler/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Tribler/tribler/teams","hooks_url":"https://api.github.com/repos/Tribler/tribler/hooks","issue_events_url":"https://api.github.com/repos/Tribler/tribler/issues/events{/number}","events_url":"https://api.github.com/repos/Tribler/tribler/events","assignees_url":"https://api.github.com/repos/Tribler/tribler/assignees{/user}","branches_url":"https://api.github.com/repos/Tribler/tribler/branches{/branch}","tags_url":"https://api.github.com/repos/Tribler/tribler/tags","blobs_url":"https://api.github.com/repos/Tribler/tribler/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Tribler/tribler/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Tribler/tribler/git/refs{/sha}","trees_url":"https://api.github.com/repos/Tribler/tribler/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Tribler/tribler/statuses/{sha}","languages_url":"https://api.github.com/repos/Tribler/tribler/languages","stargazers_url":"https://api.github.com/repos/Tribler/tribler/stargazers","contributors_url":"https://api.github.com/repos/Tribler/tribler/contributors","subscribers_url":"https://api.github.com/repos/Tribler/tribler/subscribers","subscription_url":"https://api.github.com/repos/Tribler/tribler/subscription","commits_url":"https://api.github.com/repos/Tribler/tribler/commits{/sha}","git_commits_url":"https://api.github.com/repos/Tribler/tribler/git/commits{/sha}","comments_url":"https://api.github.com/repos/Tribler/tribler/comments{/number}","issue_comment_url":"https://api.github.com/repos/Tribler/tribler/issues/comments{/number}","contents_url":"https://api.github.com/repos/Tribler/tribler/contents/{+path}","compare_url":"https://api.github.com/repos/Tribler/tribler/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Tribler/tribler/merges","archive_url":"https://api.github.com/repos/Tribler/tribler/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Tribler/tribler/downloads","issues_url":"https://api.github.com/repos/Tribler/tribler/issues{/number}","pulls_url":"https://api.github.com/repos/Tribler/tribler/pulls{/number}","milestones_url":"https://api.github.com/repos/Tribler/tribler/milestones{/number}","notifications_url":"https://api.github.com/repos/Tribler/tribler/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Tribler/tribler/labels{/name}","releases_url":"https://api.github.com/repos/Tribler/tribler/releases{/id}","deployments_url":"https://api.github.com/repos/Tribler/tribler/deployments","created_at":"2013-02-25T14:51:58Z","updated_at":"2016-01-27T16:50:19Z","pushed_at":"2016-01-28T15:36:26Z","git_url":"git://github.com/Tribler/tribler.git","ssh_url":"git@github.com:Tribler/tribler.git","clone_url":"https://github.com/Tribler/tribler.git","svn_url":"https://github.com/Tribler/tribler","homepage":"http://www.tribler.org","size":123153,"stargazers_count":1787,"watchers_count":1787,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":183,"mirror_url":null,"open_issues_count":238,"forks":183,"open_issues":238,"watchers":1787,"default_branch":"devel"}},"_links":{"self":{"href":"https://api.github.com/repos/Tribler/tribler/pulls/1895"},"html":{"href":"https://github.com/Tribler/tribler/pull/1895"},"issue":{"href":"https://api.github.com/repos/Tribler/tribler/issues/1895"},"comments":{"href":"https://api.github.com/repos/Tribler/tribler/issues/1895/comments"},"review_comments":{"href":"https://api.github.com/repos/Tribler/tribler/pulls/1895/comments"},"review_comment":{"href":"https://api.github.com/repos/Tribler/tribler/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Tribler/tribler/pulls/1895/commits"},"statuses":{"href":"https://api.github.com/repos/Tribler/tribler/statuses/859aa5d59aa6eb9c4fd6d65185d417213a3397ca"}}}}