{"action":"created","issue":{"url":"https://api.github.com/repos/pytest-dev/pytest-qt/issues/79","labels_url":"https://api.github.com/repos/pytest-dev/pytest-qt/issues/79/labels{/name}","comments_url":"https://api.github.com/repos/pytest-dev/pytest-qt/issues/79/comments","events_url":"https://api.github.com/repos/pytest-dev/pytest-qt/issues/79/events","html_url":"https://github.com/pytest-dev/pytest-qt/pull/79","id":99939808,"number":79,"title":"Add appveyor install scripts","user":{"login":"nicoddemus","id":1085180,"avatar_url":"https://avatars.githubusercontent.com/u/1085180?v=3","gravatar_id":"","url":"https://api.github.com/users/nicoddemus","html_url":"https://github.com/nicoddemus","followers_url":"https://api.github.com/users/nicoddemus/followers","following_url":"https://api.github.com/users/nicoddemus/following{/other_user}","gists_url":"https://api.github.com/users/nicoddemus/gists{/gist_id}","starred_url":"https://api.github.com/users/nicoddemus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicoddemus/subscriptions","organizations_url":"https://api.github.com/users/nicoddemus/orgs","repos_url":"https://api.github.com/users/nicoddemus/repos","events_url":"https://api.github.com/users/nicoddemus/events{/privacy}","received_events_url":"https://api.github.com/users/nicoddemus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"The-Compiler","id":625793,"avatar_url":"https://avatars.githubusercontent.com/u/625793?v=3","gravatar_id":"","url":"https://api.github.com/users/The-Compiler","html_url":"https://github.com/The-Compiler","followers_url":"https://api.github.com/users/The-Compiler/followers","following_url":"https://api.github.com/users/The-Compiler/following{/other_user}","gists_url":"https://api.github.com/users/The-Compiler/gists{/gist_id}","starred_url":"https://api.github.com/users/The-Compiler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/The-Compiler/subscriptions","organizations_url":"https://api.github.com/users/The-Compiler/orgs","repos_url":"https://api.github.com/users/The-Compiler/repos","events_url":"https://api.github.com/users/The-Compiler/events{/privacy}","received_events_url":"https://api.github.com/users/The-Compiler/received_events","type":"User","site_admin":false},"milestone":null,"comments":6,"created_at":"2015-08-09T23:26:23Z","updated_at":"2015-08-12T23:41:43Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/pytest-dev/pytest-qt/pulls/79","html_url":"https://github.com/pytest-dev/pytest-qt/pull/79","diff_url":"https://github.com/pytest-dev/pytest-qt/pull/79.diff","patch_url":"https://github.com/pytest-dev/pytest-qt/pull/79.patch"},"body":"As mentioned in #80:\r\n\r\n1. I ditched the current wait signal implementation that used QEventLoop and a QTimer in favor of a busy-loop based one. This ensures we never leave the main event loop, and as bonus the code actually got simpler (0130b0f). :sweat_smile:\r\n\r\n1. I changed the Signaller class into a fixture, which depends on the fixture that handles timers; this way we are sure Signaller instances outlive the timers, which during shutdown will disconnect from the signals too (157cf3a). Your traceback inspired me to this, as I think it is some weird shutdown order that doesn't happen everytime.\r\n\r\nA quick review here is welcome @The-Compiler! :smile:\r\n\r\nFix #76 and #80 "},"comment":{"url":"https://api.github.com/repos/pytest-dev/pytest-qt/issues/comments/130482487","html_url":"https://github.com/pytest-dev/pytest-qt/pull/79#issuecomment-130482487","issue_url":"https://api.github.com/repos/pytest-dev/pytest-qt/issues/79","id":130482487,"user":{"login":"nicoddemus","id":1085180,"avatar_url":"https://avatars.githubusercontent.com/u/1085180?v=3","gravatar_id":"","url":"https://api.github.com/users/nicoddemus","html_url":"https://github.com/nicoddemus","followers_url":"https://api.github.com/users/nicoddemus/followers","following_url":"https://api.github.com/users/nicoddemus/following{/other_user}","gists_url":"https://api.github.com/users/nicoddemus/gists{/gist_id}","starred_url":"https://api.github.com/users/nicoddemus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicoddemus/subscriptions","organizations_url":"https://api.github.com/users/nicoddemus/orgs","repos_url":"https://api.github.com/users/nicoddemus/repos","events_url":"https://api.github.com/users/nicoddemus/events{/privacy}","received_events_url":"https://api.github.com/users/nicoddemus/received_events","type":"User","site_admin":false},"created_at":"2015-08-12T23:41:43Z","updated_at":"2015-08-12T23:41:43Z","body":"All weirdness about the imports aside, if I just comment out the line that connects to the `destroyed` signal:\r\n\r\n```python\r\ndef test_log_signals(qtbot):\r\n    obj = QObject()\r\n    #obj.destroyed.connect(functools.partial(print, obj))\r\n    with qtbot.waitSignal(obj.destroyed):\r\n        obj.deleteLater()\r\n```\r\n\r\nI no longer get the crashes in `PyQt5`. :sweat: "}}