About Dialog Hangs on Close

Anonymous avatarAnonymous created an issue

1) Open the About dialog 2) Immediately click the Close button The window will not close. This will hang any parent TortoiseHg window and Windows (the O.S.) may detect the program is not responding.

(Maybe it's waiting for the update thread to finish (?), but this seems to be a bad user experience. Possibly cancel on the update thread, if it's not finished when close is clicked...?)

Comments (6)

  1. Steve Borho

    The thread is not cancelable because of Python's blocking behavior. So long as the thread is blocked waiting on an O/S call the interpreter cannot break it. And if we try to close the app before the thread has stopped, Qt is likely to crash. It's truly annoying.

    I just had a thought. Perhaps we should be using a QTcpSocket or QNetworkRequest instead of a Python thread for this. It would alleviate the problem in the About dialog, anyway.

  2. Yuya Nishihara

    I just had a thought. Perhaps we should be using a QTcpSocket or QNetworkRequest instead of a Python thread for this.

    Is it okay to depend on QtNetwork4.dll? If so, I'll try fixing this issue.

  3. Log in to comment
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.