diff -r e8020b9ac2b9 -r 0540f3c52b46 Helpviewer/DownloadDialog.py --- a/Helpviewer/DownloadDialog.py Sun Oct 03 11:29:27 2010 +0200 +++ b/Helpviewer/DownloadDialog.py Sun Oct 03 18:39:11 2010 +0200 @@ -69,6 +69,7 @@ self.__bytesReceived = 0 self.__downloadTime = QTime() self.__output = QFile() + self.__initialized = False def initialize(self): """ @@ -83,6 +84,9 @@ self.__downloadFinished = False self.__url = self.__reply.url() + if not self.__getFileName(): + return False + self.__reply.setParent(self) self.__reply.readyRead[()].connect(self.__readyRead) self.__reply.error.connect(self.__networkError) @@ -93,12 +97,12 @@ # reset info self.infoLabel.clear() self.progressBar.setValue(0) - if not self.__getFileName(): - return False # start timer for the download estimation self.__downloadTime.start() + self.__initialized = True + if self.__reply.error() != QNetworkReply.NoError: self.__networkError() self.__finished() @@ -422,14 +426,15 @@ """ Protected method called when the dialog is closed. """ - self.__output.close() - - self.__reply.readyRead[()].disconnect(self.__readyRead) - self.__reply.error[QNetworkReply.NetworkError].disconnect(self.__networkError) - self.__reply.downloadProgress[int, int].disconnect(self.__downloadProgress) - self.__reply.metaDataChanged[()].disconnect(self.__metaDataChanged) - self.__reply.finished[()].disconnect(self.__finished) - self.__reply.close() - self.__reply.deleteLater() - - self.done.emit() \ No newline at end of file + if self.__initialized: + self.__output.close() + + self.__reply.readyRead[()].disconnect(self.__readyRead) + self.__reply.error[QNetworkReply.NetworkError].disconnect(self.__networkError) + self.__reply.downloadProgress.disconnect(self.__downloadProgress) + self.__reply.metaDataChanged[()].disconnect(self.__metaDataChanged) + self.__reply.finished[()].disconnect(self.__finished) + self.__reply.close() + self.__reply.deleteLater() + + self.done.emit()