projects
/
irwi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix segfault with onlinepollerthread
[irwi]
/
src
/
selectremotedlg.cpp
diff --git
a/src/selectremotedlg.cpp
b/src/selectremotedlg.cpp
index
ec435c6
..
8b1085e
100644
(file)
--- a/
src/selectremotedlg.cpp
+++ b/
src/selectremotedlg.cpp
@@
-18,6
+18,7
@@
SelectRemoteDlg::SelectRemoteDlg(QWidget *parent)
: QDialog(parent)
{
SelectRemoteDlg::SelectRemoteDlg(QWidget *parent)
: QDialog(parent)
{
+ onlinePollerThread = NULL;
this->setWindowTitle(tr("Select remote"));
this->setMinimumHeight(320);
this->setWindowTitle(tr("Select remote"));
this->setMinimumHeight(320);
@@
-55,7
+56,8
@@
SelectRemoteDlg::~SelectRemoteDlg()
{
delete layout;
if (onlinePollerThread != NULL) {
{
delete layout;
if (onlinePollerThread != NULL) {
- onlinePollerThread->quit();
+ onlinePollerThread->stop();
+ onlinePollerThread->wait();
delete onlinePollerThread;
onlinePollerThread = NULL;
}
delete onlinePollerThread;
onlinePollerThread = NULL;
}
@@
-117,7
+119,8
@@
void SelectRemoteDlg::downloadRemote()
void SelectRemoteDlg::getDB()
{
if (onlinePollerThread != NULL) {
void SelectRemoteDlg::getDB()
{
if (onlinePollerThread != NULL) {
- onlinePollerThread->quit();
+ onlinePollerThread->stop();
+ onlinePollerThread->wait();
delete onlinePollerThread;
onlinePollerThread = NULL;
}
delete onlinePollerThread;
onlinePollerThread = NULL;
}