No Multithreading on Windows, refs #4

This commit is contained in:
Marc Wäckerlin
2010-04-30 09:12:41 +00:00
parent 13554fe3d8
commit f8c9e358ec
2 changed files with 16 additions and 1 deletions

View File

@@ -7,7 +7,7 @@ make && \
sudo make install && \
make clean && \
LDFLAGS="-L/opt/local/i586-mingw32msvc/lib" \
CPPFLAGS="-I/opt/local/i586-mingw32msvc/include" \
CPPFLAGS="-I/opt/local/i586-mingw32msvc/include -DQ_OS_WIN32" \
./configure \
--prefix=/opt/local/i586-mingw32msvc \
--build=x86_64 \

View File

@@ -15,7 +15,9 @@
#include <QtNetwork/QSslError>
#include <QtCore/QTimer>
#include <QtCore/QDebug>
#ifndef Q_OS_WIN32
#include <QtCore/QThread>
#endif
#include <map>
#ifndef PROXYFACE_LOG
#define PROXYFACE_LOG qDebug()<<__PRETTY_FUNCTION__
@@ -80,7 +82,11 @@ namespace proxy {
@example test.cxx */
class Interface
#ifdef QT_NETWORK_LIB
#ifdef Q_OS_WIN32
: public QObject
#else
: public QThread
#endif
#endif
{
#ifdef QT_NETWORK_LIB
@@ -95,8 +101,10 @@ namespace proxy {
qFatal("connect failed");
if (!connect(&_timeout2, SIGNAL(timeout()), SLOT(timeout())))
qFatal("connect failed");
#ifndef Q_OS_WIN32
if (!connect(this, SIGNAL(finished()), SLOT(threadFinished())))
qFatal("connect failed");
#endif
#endif
}
virtual ~Interface() {}
@@ -245,7 +253,11 @@ namespace proxy {
" try autoproxy negotiation";
_direct = false;
_url = url;
#ifndef Q_OS_WIN32
start(); // autoproxy detection in own thread
#else
run();
#endif
} else {
qDebug()<<"No proxy at all, giving up - offline?";
proxyError(QNetworkReply::TimeoutError);
@@ -307,6 +319,9 @@ namespace proxy {
void run() {
PROXYFACE_LOG;
_proxies = proxies(_url);
#ifdef Q_OS_WIN32
threadFinished();
#endif
}
private:
typedef std::map