{"action":"created","issue":{"url":"https://api.github.com/repos/gramps-project/gramps/issues/82","labels_url":"https://api.github.com/repos/gramps-project/gramps/issues/82/labels{/name}","comments_url":"https://api.github.com/repos/gramps-project/gramps/issues/82/comments","events_url":"https://api.github.com/repos/gramps-project/gramps/issues/82/events","html_url":"https://github.com/gramps-project/gramps/pull/82","id":123966838,"number":82,"title":"Fix for a None handle lookup in relview","user":{"login":"tecknicaltom","id":310024,"avatar_url":"https://avatars.githubusercontent.com/u/310024?v=3","gravatar_id":"","url":"https://api.github.com/users/tecknicaltom","html_url":"https://github.com/tecknicaltom","followers_url":"https://api.github.com/users/tecknicaltom/followers","following_url":"https://api.github.com/users/tecknicaltom/following{/other_user}","gists_url":"https://api.github.com/users/tecknicaltom/gists{/gist_id}","starred_url":"https://api.github.com/users/tecknicaltom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tecknicaltom/subscriptions","organizations_url":"https://api.github.com/users/tecknicaltom/orgs","repos_url":"https://api.github.com/users/tecknicaltom/repos","events_url":"https://api.github.com/users/tecknicaltom/events{/privacy}","received_events_url":"https://api.github.com/users/tecknicaltom/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-12-27T08:02:50Z","updated_at":"2015-12-27T23:21:50Z","closed_at":"2015-12-27T12:53:50Z","pull_request":{"url":"https://api.github.com/repos/gramps-project/gramps/pulls/82","html_url":"https://github.com/gramps-project/gramps/pull/82","diff_url":"https://github.com/gramps-project/gramps/pull/82.diff","patch_url":"https://github.com/gramps-project/gramps/pull/82.patch"},"body":"If focusing on the relationship view with an empty tree loaded, an uncaught exception was raised by attempting to call get_person_from_handle with a None handle:\r\n\r\n```\r\nTraceback (most recent call last):\r\n  File \"dev/gramps/installed/lib64/python3.4/site-packages/gramps/gui/viewmanager.py\", line 1011, in view_changed\r\n    self.__change_page(page_num)\r\n  File \"dev/gramps/installed/lib64/python3.4/site-packages/gramps/gui/viewmanager.py\", line 1024, in __change_page\r\n    self.active_page.set_active()\r\n  File \"dev/gramps/installed/lib64/python3.4/site-packages/gramps/gui/views/navigationview.py\", line 154, in set_active\r\n    PageView.set_active(self)\r\n  File \"dev/gramps/installed/lib64/python3.4/site-packages/gramps/gui/views/pageview.py\", line 304, in set_active\r\n    self.build_tree()\r\n  File \"dev/gramps/installed/lib64/python3.4/site-packages/gramps/plugins/view/relview.py\", line 205, in build_tree\r\n    self.redraw()\r\n  File \"dev/gramps/installed/lib64/python3.4/site-packages/gramps/plugins/view/relview.py\", line 465, in redraw\r\n    self.change_person(None)\r\n  File \"dev/gramps/installed/lib64/python3.4/site-packages/gramps/plugins/view/relview.py\", line 470, in change_person\r\n    return self._change_person(obj)\r\n  File \"dev/gramps/installed/lib64/python3.4/site-packages/gramps/plugins/view/relview.py\", line 500, in _change_person\r\n    person = self.dbstate.db.get_person_from_handle(obj)\r\n  File \"dev/gramps/installed/lib64/python3.4/site-packages/gramps/plugins/database/bsddb_support/read.py\", line 723, in get_person_from_handle\r\n    return self.get_from_handle(handle, Person, self.person_map)\r\n  File \"dev/gramps/installed/lib64/python3.4/site-packages/gramps/plugins/database/bsddb_support/write.py\", line 2113, in get_from_handle\r\n    raise HandleError('Handle is None')\r\ngramps.gen.errors.HandleError: Handle is None\r\n```"},"comment":{"url":"https://api.github.com/repos/gramps-project/gramps/issues/comments/167447296","html_url":"https://github.com/gramps-project/gramps/pull/82#issuecomment-167447296","issue_url":"https://api.github.com/repos/gramps-project/gramps/issues/82","id":167447296,"user":{"login":"Nick-Hall","id":9042510,"avatar_url":"https://avatars.githubusercontent.com/u/9042510?v=3","gravatar_id":"","url":"https://api.github.com/users/Nick-Hall","html_url":"https://github.com/Nick-Hall","followers_url":"https://api.github.com/users/Nick-Hall/followers","following_url":"https://api.github.com/users/Nick-Hall/following{/other_user}","gists_url":"https://api.github.com/users/Nick-Hall/gists{/gist_id}","starred_url":"https://api.github.com/users/Nick-Hall/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nick-Hall/subscriptions","organizations_url":"https://api.github.com/users/Nick-Hall/orgs","repos_url":"https://api.github.com/users/Nick-Hall/repos","events_url":"https://api.github.com/users/Nick-Hall/events{/privacy}","received_events_url":"https://api.github.com/users/Nick-Hall/received_events","type":"User","site_admin":false},"created_at":"2015-12-27T23:21:50Z","updated_at":"2015-12-27T23:21:50Z","body":"Checking for a valid handle when following a reference is not necessary.  However, where the code doesn't know if an object exists, or what type it is, then a check should be made prior to fetching the object.  Only proxies should return None.\r\n\r\nHopefully an exception should never be raised.  It indicates a possible database corruption that should not be ignored.  The problem in previous versions was that potentially serious errors were being hidden."}}