diff options
Diffstat (limited to 'source/l/qt/patches')
49 files changed, 0 insertions, 5434 deletions
diff --git a/source/l/qt/patches/qt-4.8-disable-sslv3.patch b/source/l/qt/patches/qt-4.8-disable-sslv3.patch deleted file mode 100644 index c9b1996e..00000000 --- a/source/l/qt/patches/qt-4.8-disable-sslv3.patch +++ /dev/null @@ -1,56 +0,0 @@ ---- ./src/network/ssl/qsslsocket_openssl_symbols.cpp.orig 2019-11-09 12:55:26.646752874 -0600 -+++ ./src/network/ssl/qsslsocket_openssl_symbols.cpp 2019-11-09 12:58:22.032754751 -0600 -@@ -253,7 +253,9 @@ - #ifndef OPENSSL_NO_SSL2 - DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) - #endif -+#ifndef OPENSSL_NO_SSL3 - DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif - #if OPENSSL_VERSION_NUMBER < 0x10100000L - DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) - #else -@@ -263,7 +265,9 @@ - #ifndef OPENSSL_NO_SSL2 - DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) - #endif -+#ifndef OPENSSL_NO_SSL3 - DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif - #if OPENSSL_VERSION_NUMBER < 0x10100000L - DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) - #else -@@ -272,7 +276,9 @@ - DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) - #else - DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) -+#ifndef OPENSSL_NO_SSL3 - DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif - DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) - DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return) - DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) -@@ -756,7 +762,9 @@ - RESOLVEFUNC(SSL_shutdown, 173, libs.first ) - RESOLVEFUNC(SSL_write, 188, libs.first ) - RESOLVEFUNC(SSLv2_client_method, 192, libs.first ) -+#ifndef OPENSSL_NO_SSL3 - RESOLVEFUNC(SSLv3_client_method, 195, libs.first ) -+#endif - RESOLVEFUNC(SSLv23_client_method, 189, libs.first ) - RESOLVEFUNC(TLSv1_client_method, 198, libs.first ) - RESOLVEFUNC(SSLv2_server_method, 194, libs.first ) ---- ./src/network/ssl/qsslsocket_openssl.cpp.orig 2019-11-09 12:55:01.605752606 -0600 -+++ ./src/network/ssl/qsslsocket_openssl.cpp 2019-11-09 12:55:26.632752874 -0600 -@@ -273,7 +273,11 @@ - #endif - break; - case QSsl::SslV3: -+#ifndef OPENSSL_NO_SSL3 - ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method()); -+#else -+ ctx = 0; // SSL 3 not supported by the system, but chosen deliberately -> error -+#endif - break; - case QSsl::SecureProtocols: // SslV2 will be disabled below - case QSsl::TlsV1SslV3: // SslV2 will be disabled below diff --git a/source/l/qt/patches/qt-4.8-poll.patch b/source/l/qt/patches/qt-4.8-poll.patch deleted file mode 100644 index aed363c6..00000000 --- a/source/l/qt/patches/qt-4.8-poll.patch +++ /dev/null @@ -1,812 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp ---- qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.poll 2014-03-30 15:36:48.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp 2014-03-31 18:04:05.958260978 -0500 -@@ -158,13 +158,6 @@ static void qt_sa_sigchld_sigaction(int - } - } - --static inline void add_fd(int &nfds, int fd, fd_set *fdset) --{ -- FD_SET(fd, fdset); -- if ((fd) > nfds) -- nfds = fd; --} -- - struct QProcessInfo { - QProcess *process; - int deathPipe; -@@ -256,9 +249,9 @@ QProcessManager::~QProcessManager() - void QProcessManager::run() - { - forever { -- fd_set readset; -- FD_ZERO(&readset); -- FD_SET(qt_qprocess_deadChild_pipe[0], &readset); -+ pollfd fd; -+ fd.fd = qt_qprocess_deadChild_pipe[0]; -+ fd.events = POLLIN; - - #if defined (QPROCESS_DEBUG) - qDebug() << "QProcessManager::run() waiting for children to die"; -@@ -267,8 +260,8 @@ void QProcessManager::run() - // block forever, or until activity is detected on the dead child - // pipe. the only other peers are the SIGCHLD signal handler, and the - // QProcessManager destructor. -- int nselect = select(qt_qprocess_deadChild_pipe[0] + 1, &readset, 0, 0, 0); -- if (nselect < 0) { -+ int ret = qt_safe_poll(&fd, 1, -1, /* retry_eintr */ false); -+ if (ret < 0) { - if (errno == EINTR) - continue; - break; -@@ -1027,17 +1020,6 @@ void QProcessPrivate::killProcess() - ::kill(pid_t(pid), SIGKILL); - } - --static int select_msecs(int nfds, fd_set *fdread, fd_set *fdwrite, int timeout) --{ -- if (timeout < 0) -- return qt_safe_select(nfds, fdread, fdwrite, 0, 0); -- -- struct timeval tv; -- tv.tv_sec = timeout / 1000; -- tv.tv_usec = (timeout % 1000) * 1000; -- return qt_safe_select(nfds, fdread, fdwrite, 0, &tv); --} -- - /* - Returns the difference between msecs and elapsed. If msecs is -1, - however, -1 is returned. -@@ -1060,10 +1042,10 @@ bool QProcessPrivate::waitForStarted(int - childStartedPipe[0]); - #endif - -- fd_set fds; -- FD_ZERO(&fds); -- FD_SET(childStartedPipe[0], &fds); -- if (select_msecs(childStartedPipe[0] + 1, &fds, 0, msecs) == 0) { -+ pollfd fd; -+ fd.fd = childStartedPipe[0]; -+ fd.events = POLLIN; -+ if (qt_safe_poll(&fd, 1, msecs) == 0) { - processError = QProcess::Timedout; - q->setErrorString(QProcess::tr("Process operation timed out")); - #if defined (QPROCESS_DEBUG) -@@ -1079,6 +1061,47 @@ bool QProcessPrivate::waitForStarted(int - return startedEmitted; - } - -+class QProcessFDSet { -+ pollfd fds[5]; -+ -+ static size_t size() -+ { -+ return sizeof(fds)/sizeof(fds[0]); -+ } -+ -+public: -+ QProcessFDSet(QProcessPrivate &proc) -+ { -+ for (size_t i = 0; i < size(); ++i) { -+ fds[i].fd = -1; -+ fds[i].events = POLLIN; -+ } -+ death().fd = proc.deathPipe[0]; -+ -+ if (proc.processState == QProcess::Starting) -+ started().fd = proc.childStartedPipe[0]; -+ -+ stdout().fd = proc.stdoutChannel.pipe[0]; -+ stderr().fd = proc.stderrChannel.pipe[0]; -+ -+ if (!proc.writeBuffer.isEmpty()) { -+ stdin().fd = proc.stdinChannel.pipe[1]; -+ stdin().events = POLLOUT; -+ } -+ } -+ -+ int poll(int timeout) -+ { -+ return qt_safe_poll(fds, size(), timeout); -+ } -+ -+ pollfd &death() { return fds[0]; } -+ pollfd &started() { return fds[1]; } -+ pollfd &stdout() { return fds[2]; } -+ pollfd &stderr() { return fds[3]; } -+ pollfd &stdin() { return fds[4]; } -+}; -+ - bool QProcessPrivate::waitForReadyRead(int msecs) - { - Q_Q(QProcess); -@@ -1090,28 +1113,9 @@ bool QProcessPrivate::waitForReadyRead(i - stopWatch.start(); - - forever { -- fd_set fdread; -- fd_set fdwrite; -- -- FD_ZERO(&fdread); -- FD_ZERO(&fdwrite); -- -- int nfds = deathPipe[0]; -- FD_SET(deathPipe[0], &fdread); -- -- if (processState == QProcess::Starting) -- add_fd(nfds, childStartedPipe[0], &fdread); -- -- if (stdoutChannel.pipe[0] != -1) -- add_fd(nfds, stdoutChannel.pipe[0], &fdread); -- if (stderrChannel.pipe[0] != -1) -- add_fd(nfds, stderrChannel.pipe[0], &fdread); -- -- if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1) -- add_fd(nfds, stdinChannel.pipe[1], &fdwrite); -- -+ QProcessFDSet fdset(*this); - int timeout = qt_timeout_value(msecs, stopWatch.elapsed()); -- int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout); -+ int ret = fdset.poll(timeout); - if (ret < 0) { - break; - } -@@ -1121,18 +1125,18 @@ bool QProcessPrivate::waitForReadyRead(i - return false; - } - -- if (childStartedPipe[0] != -1 && FD_ISSET(childStartedPipe[0], &fdread)) { -+ if (qt_readable(fdset.started())) { - if (!_q_startupNotification()) - return false; - } - - bool readyReadEmitted = false; -- if (stdoutChannel.pipe[0] != -1 && FD_ISSET(stdoutChannel.pipe[0], &fdread)) { -+ if (qt_readable(fdset.stdout())) { - bool canRead = _q_canReadStandardOutput(); - if (processChannel == QProcess::StandardOutput && canRead) - readyReadEmitted = true; - } -- if (stderrChannel.pipe[0] != -1 && FD_ISSET(stderrChannel.pipe[0], &fdread)) { -+ if (qt_readable(fdset.stderr())) { - bool canRead = _q_canReadStandardError(); - if (processChannel == QProcess::StandardError && canRead) - readyReadEmitted = true; -@@ -1140,13 +1144,13 @@ bool QProcessPrivate::waitForReadyRead(i - if (readyReadEmitted) - return true; - -- if (stdinChannel.pipe[1] != -1 && FD_ISSET(stdinChannel.pipe[1], &fdwrite)) -+ if (qt_writable(fdset.stdin())) - _q_canWrite(); - -- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) { -+ if (qt_readable(fdset.death())) { - if (_q_processDied()) - return false; -- } -+ } - } - return false; - } -@@ -1162,29 +1166,9 @@ bool QProcessPrivate::waitForBytesWritte - stopWatch.start(); - - while (!writeBuffer.isEmpty()) { -- fd_set fdread; -- fd_set fdwrite; -- -- FD_ZERO(&fdread); -- FD_ZERO(&fdwrite); -- -- int nfds = deathPipe[0]; -- FD_SET(deathPipe[0], &fdread); -- -- if (processState == QProcess::Starting) -- add_fd(nfds, childStartedPipe[0], &fdread); -- -- if (stdoutChannel.pipe[0] != -1) -- add_fd(nfds, stdoutChannel.pipe[0], &fdread); -- if (stderrChannel.pipe[0] != -1) -- add_fd(nfds, stderrChannel.pipe[0], &fdread); -- -- -- if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1) -- add_fd(nfds, stdinChannel.pipe[1], &fdwrite); -- -+ QProcessFDSet fdset(*this); - int timeout = qt_timeout_value(msecs, stopWatch.elapsed()); -- int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout); -+ int ret = fdset.poll(timeout); - if (ret < 0) { - break; - } -@@ -1195,24 +1179,24 @@ bool QProcessPrivate::waitForBytesWritte - return false; - } - -- if (childStartedPipe[0] != -1 && FD_ISSET(childStartedPipe[0], &fdread)) { -+ if (qt_readable(fdset.started())) { - if (!_q_startupNotification()) - return false; - } - -- if (stdinChannel.pipe[1] != -1 && FD_ISSET(stdinChannel.pipe[1], &fdwrite)) -+ if (qt_writable(fdset.stdin())) - return _q_canWrite(); - -- if (stdoutChannel.pipe[0] != -1 && FD_ISSET(stdoutChannel.pipe[0], &fdread)) -+ if (qt_readable(fdset.stdout())) - _q_canReadStandardOutput(); - -- if (stderrChannel.pipe[0] != -1 && FD_ISSET(stderrChannel.pipe[0], &fdread)) -+ if (qt_readable(fdset.stderr())) - _q_canReadStandardError(); - -- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) { -- if (_q_processDied()) -- return false; -- } -+ if (qt_readable(fdset.death())) { -+ if (_q_processDied()) -+ return false; -+ } - } - - return false; -@@ -1229,29 +1213,9 @@ bool QProcessPrivate::waitForFinished(in - stopWatch.start(); - - forever { -- fd_set fdread; -- fd_set fdwrite; -- int nfds = -1; -- -- FD_ZERO(&fdread); -- FD_ZERO(&fdwrite); -- -- if (processState == QProcess::Starting) -- add_fd(nfds, childStartedPipe[0], &fdread); -- -- if (stdoutChannel.pipe[0] != -1) -- add_fd(nfds, stdoutChannel.pipe[0], &fdread); -- if (stderrChannel.pipe[0] != -1) -- add_fd(nfds, stderrChannel.pipe[0], &fdread); -- -- if (processState == QProcess::Running) -- add_fd(nfds, deathPipe[0], &fdread); -- -- if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1) -- add_fd(nfds, stdinChannel.pipe[1], &fdwrite); -- -+ QProcessFDSet fdset(*this); - int timeout = qt_timeout_value(msecs, stopWatch.elapsed()); -- int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout); -+ int ret = fdset.poll(timeout); - if (ret < 0) { - break; - } -@@ -1261,20 +1225,20 @@ bool QProcessPrivate::waitForFinished(in - return false; - } - -- if (childStartedPipe[0] != -1 && FD_ISSET(childStartedPipe[0], &fdread)) { -+ if (qt_readable(fdset.started())) { - if (!_q_startupNotification()) - return false; - } -- if (stdinChannel.pipe[1] != -1 && FD_ISSET(stdinChannel.pipe[1], &fdwrite)) -+ if (qt_writable(fdset.stdin())) - _q_canWrite(); - -- if (stdoutChannel.pipe[0] != -1 && FD_ISSET(stdoutChannel.pipe[0], &fdread)) -+ if (qt_readable(fdset.stdout())) - _q_canReadStandardOutput(); - -- if (stderrChannel.pipe[0] != -1 && FD_ISSET(stderrChannel.pipe[0], &fdread)) -+ if (qt_readable(fdset.stderr())) - _q_canReadStandardError(); - -- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) { -+ if (qt_readable(fdset.death())) { - if (_q_processDied()) - return true; - } -@@ -1284,10 +1248,10 @@ bool QProcessPrivate::waitForFinished(in - - bool QProcessPrivate::waitForWrite(int msecs) - { -- fd_set fdwrite; -- FD_ZERO(&fdwrite); -- FD_SET(stdinChannel.pipe[1], &fdwrite); -- return select_msecs(stdinChannel.pipe[1] + 1, 0, &fdwrite, msecs < 0 ? 0 : msecs) == 1; -+ pollfd fd; -+ fd.fd = stdinChannel.pipe[1]; -+ fd.events = POLLIN; -+ return qt_safe_poll(&fd, 1, msecs); - } - - void QProcessPrivate::findExitCode() -diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp ---- qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp.poll 2014-03-30 15:36:48.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp 2014-03-31 18:01:59.369715403 -0500 -@@ -99,4 +99,165 @@ int qt_safe_select(int nfds, fd_set *fdr - } - } - -+#ifndef Q_OS_VXWORKS -+ -+int qt_safe_poll(struct pollfd *fds, int nfds, int timeout_ms, bool retry_eintr) -+{ -+ if (nfds == 0) -+ return 0; -+ if (nfds < 0) { -+ errno = EINVAL; -+ return -1; -+ } -+ -+ // Retry on ret == 0 if the deadline has not yet passed because -+ // Linux can return early from the syscall, without setting EINTR. -+ if (timeout_ms < 0) { -+ forever { -+ int ret = ::poll(fds, nfds, -1); -+ if (ret > 0) -+ return ret; -+ if (retry_eintr) { -+ if (ret == 0 || ret == -1 && errno == EINTR) { -+ continue; -+ } else { -+ return -1; -+ } -+ } -+ if (ret == 0) { -+ errno = EINTR; -+ return -1; -+ } -+ return ret; -+ } -+ } -+ -+ timeval previous = qt_gettime(); -+ timeval deadline = previous; -+ deadline.tv_sec += timeout_ms / 1000; -+ deadline.tv_usec += (timeout_ms % 1000) * 1000; -+ if (deadline.tv_usec >= 1000000) { -+ ++deadline.tv_sec; -+ deadline.tv_usec -= 1000000; -+ } -+ int remaining = timeout_ms; -+ -+ forever { -+ int ret = ::poll(fds, nfds, remaining); -+ if (ret > 0) -+ return ret; -+ timeval now = qt_gettime(); -+ if ((now.tv_sec > deadline.tv_sec // past deadline -+ || (now.tv_sec == deadline.tv_sec -+ && now.tv_usec >= deadline.tv_usec)) -+ || (now.tv_sec < previous.tv_sec // time warp -+ || (now.tv_sec == previous.tv_sec -+ && now.tv_usec < previous.tv_usec)) -+ || (ret < 0 && (errno != EINTR || !retry_eintr))) // other error -+ return ret; -+ if (ret == 0 && !retry_eintr) { -+ errno = EINTR; -+ return -1; -+ } -+ remaining = (deadline.tv_sec - now.tv_sec) * 1000 -+ + (deadline.tv_usec - now.tv_usec) / 1000; -+ previous = now; -+ } -+} -+ -+#else -+ -+// Poll emulation for VxWorks. -+ -+static int mark_bad_descriptors(pollfd *fds, int nfds) -+{ -+ fd_set r; -+ FD_ZERO(&r); -+ struct timeval tv; -+ tv.tv_sec = 0; -+ tv.tv_usec = 0; -+ int ret = 0; -+ -+ // Check each descriptor invidually for badness. -+ for (int i = 0; i < nfds; ++i) { -+ pollfd &fd(fds[i]); -+ if (fd.fd >= 0) { -+ FD_SET(fd.fd, &r); -+ int ret = qt_safe_select(fd.fd + 1, &r, NULL, NULL, &tv); -+ FD_CLR(fd.fd, &r); -+ if (ret < 0 && errno == EBADF) { -+ fd.revents = POLLNVAL; -+ ++ret; -+ } -+ } -+ } -+ Q_ASSERT(ret > 0); -+ return ret; -+} -+ -+int qt_safe_poll(pollfd *fds, int nfds, int timeout, bool retry_eintr) -+{ -+ fd_set r, w; -+ FD_ZERO(&r); -+ FD_ZERO(&w); -+ int maxfd = -1; -+ -+ // Extract the watched descriptors. -+ for (int i = 0; i < nfds; ++i) { -+ pollfd &fd(fds[i]); -+ if (fd.fd >= 0 && fd.fd < FD_SETSIZE) { -+ if (fd.events & POLLIN) { -+ FD_SET(fd.fd, &r); -+ if (fd.fd > maxfd) -+ maxfd = fd.fd; -+ } -+ if (fd.events & POLLOUT) { -+ FD_SET(fd.fd, &w); -+ if (fd.fd > maxfd) -+ maxfd = fd.fd; -+ } -+ } -+ } -+ -+ // If timeout is negative, wait indefinitely for activity. -+ timeval tv; -+ timeval *ptv; -+ if (timeout >= 0) { -+ tv.tv_sec = timeout / 1000; -+ tv.tv_usec = (timeout % 1000) * 1000; -+ ptv = &tv; -+ } else -+ ptv = NULL; -+ -+ int ret; -+ if (retry_eintr) -+ ret = qt_safe_select(maxfd + 1, &r, &w, NULL, ptv); -+ else -+ ret = ::select(maxfd + 1, &r, &w, NULL, ptv); -+ if (ret < 0 && errno == EBADF) { -+ return mark_bad_descriptors(fds, nfds); -+ } -+ if (ret <= 0) -+ return ret; -+ -+ // Set the revents flags. -+ ret = 0; -+ for (int i = 0; i < nfds; ++i) { -+ pollfd &fd(fds[i]); -+ fd.revents = 0; -+ if (fd.fd >= 0 && fd.fd < FD_SETSIZE) { -+ if ((fd.events & POLLIN) && FD_ISSET(fd.fd, &r)) -+ fd.revents |= POLLIN; -+ if ((fd.events & POLLOUT) && FD_ISSET(fd.fd, &w)) -+ fd.revents |= POLLOUT; -+ if (fd.revents) -+ ++ret; -+ } -+ } -+ Q_ASSERT(ret > 0); -+ return ret; -+} -+ -+#endif -+ - QT_END_NAMESPACE -diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h.poll qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h ---- qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h.poll 2014-03-30 15:36:48.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h 2014-03-31 18:01:59.370715392 -0500 -@@ -345,9 +345,42 @@ static inline pid_t qt_safe_waitpid(pid_ - - timeval qt_gettime(); // in qelapsedtimer_mac.cpp or qtimestamp_unix.cpp - -+// Deprecated due to FD_SETSIZE limitation, use qt_safe_poll instead. - Q_CORE_EXPORT int qt_safe_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept, - const struct timeval *tv); - -+#ifndef Q_OS_VXWORKS -+#include <poll.h> -+#else -+ -+// Poll emulation for VxWorks. -+ -+struct pollfd { -+ int fd; -+ short events; -+ short revents; -+}; -+ -+#define POLLIN 1 -+#define POLLOUT 2 -+#define POLLERR 4 -+#define POLLHUP 8 -+#define POLLNVAL 16 -+#endif -+ -+inline bool qt_readable(const pollfd &fd) -+{ -+ return fd.fd >= 0 && (fd.revents & (POLLIN | POLLHUP | POLLERR | POLLNVAL)) != 0; -+} -+ -+inline bool qt_writable(const pollfd &fd) -+{ -+ return fd.fd >= 0 && (fd.revents & (POLLOUT | POLLHUP | POLLERR | POLLNVAL)) != 0; -+} -+ -+Q_CORE_EXPORT int qt_safe_poll(pollfd *fds, int nfds, int timeout, -+ bool retry_eintr = true); -+ - // according to X/OPEN we have to define semun ourselves - // we use prefix as on some systems sem.h will have it - struct semid_ds; -diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp ---- qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp 2014-03-31 18:01:59.370715392 -0500 -@@ -208,16 +208,11 @@ void QLocalServerPrivate::_q_onNewConnec - - void QLocalServerPrivate::waitForNewConnection(int msec, bool *timedOut) - { -- fd_set readfds; -- FD_ZERO(&readfds); -- FD_SET(listenSocket, &readfds); -+ struct pollfd fd; -+ fd.fd = listenSocket; -+ fd.events = POLLIN; - -- timeval timeout; -- timeout.tv_sec = msec / 1000; -- timeout.tv_usec = (msec % 1000) * 1000; -- -- int result = -1; -- result = qt_safe_select(listenSocket + 1, &readfds, 0, 0, (msec == -1) ? 0 : &timeout); -+ int result = qt_safe_poll(&fd, 1, msec); - if (-1 == result) { - setError(QLatin1String("QLocalServer::waitForNewConnection")); - closeServer(); -diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp ---- qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp 2014-03-31 18:01:59.370715392 -0500 -@@ -56,10 +56,6 @@ - #include <qdebug.h> - #include <qelapsedtimer.h> - --#ifdef Q_OS_VXWORKS --# include <selectLib.h> --#endif -- - #define QT_CONNECT_TIMEOUT 30000 - - QT_BEGIN_NAMESPACE -@@ -520,32 +516,17 @@ bool QLocalSocket::waitForConnected(int - if (state() != ConnectingState) - return (state() == ConnectedState); - -- fd_set fds; -- FD_ZERO(&fds); -- FD_SET(d->connectingSocket, &fds); -- -- timeval timeout; -- timeout.tv_sec = msec / 1000; -- timeout.tv_usec = (msec % 1000) * 1000; -- -- // timeout can not be 0 or else select will return an error. -- if (0 == msec) -- timeout.tv_usec = 1000; -+ pollfd fd; -+ fd.fd = d->connectingSocket; -+ fd.events = POLLIN | POLLOUT; - - int result = -1; - // on Linux timeout will be updated by select, but _not_ on other systems. - QElapsedTimer timer; -+ int remaining = msec; - timer.start(); -- while (state() == ConnectingState -- && (-1 == msec || timer.elapsed() < msec)) { --#ifdef Q_OS_SYMBIAN -- // On Symbian, ready-to-write is signaled when non-blocking socket -- // connect is finised. Is ready-to-read really used on other -- // UNIX paltforms when using non-blocking AF_UNIX socket? -- result = ::select(d->connectingSocket + 1, 0, &fds, 0, &timeout); --#else -- result = ::select(d->connectingSocket + 1, &fds, 0, 0, &timeout); --#endif -+ while (state() == ConnectingState) { -+ result = qt_safe_poll(&fd, 1, remaining, /* retry_eintr */ false); - if (-1 == result && errno != EINTR) { - d->errorOccurred( QLocalSocket::UnknownSocketError, - QLatin1String("QLocalSocket::waitForConnected")); -@@ -553,6 +534,11 @@ bool QLocalSocket::waitForConnected(int - } - if (result > 0) - d->_q_connectToSocket(); -+ if (msec >= 0) { -+ remaining = timer.elapsed() - msec; -+ if (remaining < 0) -+ break; -+ } - } - - return (state() == ConnectedState); -diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp ---- qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp 2014-03-31 18:01:59.371715381 -0500 -@@ -1068,48 +1068,40 @@ qint64 QNativeSocketEnginePrivate::nativ - - int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool selectForRead) const - { -- fd_set fds; -- FD_ZERO(&fds); -- FD_SET(socketDescriptor, &fds); -- -- struct timeval tv; -- tv.tv_sec = timeout / 1000; -- tv.tv_usec = (timeout % 1000) * 1000; -- -- int retval; -- if (selectForRead) -- retval = qt_safe_select(socketDescriptor + 1, &fds, 0, 0, timeout < 0 ? 0 : &tv); -- else -- retval = qt_safe_select(socketDescriptor + 1, 0, &fds, 0, timeout < 0 ? 0 : &tv); -- -- return retval; -+ struct pollfd fd; -+ fd.fd = socketDescriptor; -+ if (selectForRead) { -+ fd.events = POLLIN; -+ } else { -+ fd.events = POLLOUT; -+ } -+ return qt_safe_poll(&fd, 1, timeout); - } - - int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool checkRead, bool checkWrite, - bool *selectForRead, bool *selectForWrite) const - { -- fd_set fdread; -- FD_ZERO(&fdread); -+ struct pollfd fd; -+ fd.fd = socketDescriptor; - if (checkRead) -- FD_SET(socketDescriptor, &fdread); -- -- fd_set fdwrite; -- FD_ZERO(&fdwrite); -+ fd.events = POLLIN; -+ else -+ fd.events = 0; - if (checkWrite) -- FD_SET(socketDescriptor, &fdwrite); -- -- struct timeval tv; -- tv.tv_sec = timeout / 1000; -- tv.tv_usec = (timeout % 1000) * 1000; -- -- int ret; -- ret = qt_safe_select(socketDescriptor + 1, &fdread, &fdwrite, 0, timeout < 0 ? 0 : &tv); -- -+ fd.events |= POLLOUT; -+ int ret = qt_safe_poll(&fd, 1, timeout); - if (ret <= 0) -- return ret; -- *selectForRead = FD_ISSET(socketDescriptor, &fdread); -- *selectForWrite = FD_ISSET(socketDescriptor, &fdwrite); -- -+ return ret; -+ bool r = (fd.revents & (POLLIN | POLLHUP | POLLERR)) != 0; -+ bool w = (fd.revents & (POLLOUT | POLLHUP | POLLERR)) != 0; -+ // Emulate the return value from select(2). -+ ret = 0; -+ if (r) -+ ++ret; -+ if (w) -+ ++ret; -+ *selectForRead = r; -+ *selectForWrite = w; - return ret; - } - -diff -up qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp ---- qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp 2014-03-31 18:01:59.371715381 -0500 -@@ -68,6 +68,7 @@ static inline int qt_socket_socket(int d - #endif - - #include "q3socketdevice.h" -+#include "private/qcore_unix_p.h" - - #ifndef QT_NO_NETWORK - -@@ -588,19 +589,10 @@ Q_LONG Q3SocketDevice::waitForMore( int - { - if ( !isValid() ) - return -1; -- if ( fd >= FD_SETSIZE ) -- return -1; -- -- fd_set fds; -- struct timeval tv; -- -- FD_ZERO( &fds ); -- FD_SET( fd, &fds ); -- -- tv.tv_sec = msecs / 1000; -- tv.tv_usec = (msecs % 1000) * 1000; - -- int rv = select( fd+1, &fds, 0, 0, msecs < 0 ? 0 : &tv ); -+ pollfd pfd; -+ pfd.fd = fd; -+ int rv = qt_safe_poll(&pfd, 1, msecs, /* retry_eintr */ false); - - if ( rv < 0 ) - return -1; -diff -up qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp ---- qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp 2014-03-31 18:01:59.372715370 -0500 -@@ -981,13 +981,10 @@ bool Q3Process::isRunning() const - // On heavy processing, the socket notifier for the sigchild might not - // have found time to fire yet. - if ( d->procManager && d->procManager->sigchldFd[1] < FD_SETSIZE ) { -- fd_set fds; -- struct timeval tv; -- FD_ZERO( &fds ); -- FD_SET( d->procManager->sigchldFd[1], &fds ); -- tv.tv_sec = 0; -- tv.tv_usec = 0; -- if ( ::select( d->procManager->sigchldFd[1]+1, &fds, 0, 0, &tv ) > 0 ) -+ pollfd fd; -+ fd.fd = d->procManager->sigchldFd[1]; -+ fd.events = POLLIN; -+ if ( qt_safe_poll(&fd, 1, 0, /* retry_eintr */ false) > 0 ) - d->procManager->sigchldHnd( d->procManager->sigchldFd[1] ); - } - -@@ -1124,29 +1121,21 @@ void Q3Process::socketRead( int fd ) - } - } - -- if ( fd < FD_SETSIZE ) { -- fd_set fds; -- struct timeval tv; -- FD_ZERO( &fds ); -- FD_SET( fd, &fds ); -- tv.tv_sec = 0; -- tv.tv_usec = 0; -- while ( ::select( fd+1, &fds, 0, 0, &tv ) > 0 ) { -- // prepare for the next round -- FD_ZERO( &fds ); -- FD_SET( fd, &fds ); -- // read data -- ba = new QByteArray( basize ); -- n = ::read( fd, ba->data(), basize ); -- if ( n > 0 ) { -- ba->resize( n ); -- buffer->append( ba ); -- ba = 0; -- } else { -- delete ba; -- ba = 0; -- break; -- } -+ pollfd pfd; -+ pfd.fd = fd; -+ pfd.events = POLLIN; -+ while (qt_safe_poll(&pfd, 1, 0)) { -+ // read data -+ ba = new QByteArray( basize ); -+ n = ::read( fd, ba->data(), basize ); -+ if ( n > 0 ) { -+ ba->resize( n ); -+ buffer->append( ba ); -+ ba = 0; -+ } else { -+ delete ba; -+ ba = 0; -+ break; - } - } - diff --git a/source/l/qt/patches/qt-aarch64.patch b/source/l/qt/patches/qt-aarch64.patch deleted file mode 100644 index cbe815de..00000000 --- a/source/l/qt/patches/qt-aarch64.patch +++ /dev/null @@ -1,514 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.7/include/QtCore/headers.pri.aarch64 qt-everywhere-opensource-src-4.8.7/include/QtCore/headers.pri ---- qt-everywhere-opensource-src-4.8.7/include/QtCore/headers.pri.aarch64 2015-05-08 21:48:32.714057739 -0500 -+++ qt-everywhere-opensource-src-4.8.7/include/QtCore/headers.pri 2015-05-08 21:53:21.088761971 -0500 -@@ -1,3 +1,3 @@ --SYNCQT.HEADER_FILES = ../corelib/kernel/qabstracteventdispatcher.h ../corelib/kernel/qabstractitemmodel.h ../corelib/kernel/qbasictimer.h ../corelib/kernel/qcoreapplication.h ../corelib/kernel/qcoreevent.h ../corelib/kernel/qeventloop.h ../corelib/kernel/qfunctions_nacl.h ../corelib/kernel/qfunctions_vxworks.h ../corelib/kernel/qfunctions_wince.h ../corelib/kernel/qmath.h ../corelib/kernel/qmetaobject.h ../corelib/kernel/qmetatype.h ../corelib/kernel/qmimedata.h ../corelib/kernel/qobject.h ../corelib/kernel/qobjectcleanuphandler.h ../corelib/kernel/qobjectdefs.h ../corelib/kernel/qpointer.h ../corelib/kernel/qsharedmemory.h ../corelib/kernel/qsignalmapper.h ../corelib/kernel/qsocketnotifier.h ../corelib/kernel/qsystemsemaphore.h ../corelib/kernel/qtimer.h ../corelib/kernel/qtranslator.h ../corelib/kernel/qvariant.h ../corelib/animation/qabstractanimation.h ../corelib/animation/qanimationgroup.h ../corelib/animation/qparallelanimationgroup.h ../corelib/animation/qpauseanimation.h ../corelib/animation/qpropertyanimation.h ../corelib/animation/qsequentialanimationgroup.h ../corelib/animation/qvariantanimation.h ../corelib/arch/qatomic_alpha.h ../corelib/arch/qatomic_arch.h ../corelib/arch/qatomic_arm.h ../corelib/arch/qatomic_armv5.h ../corelib/arch/qatomic_armv6.h ../corelib/arch/qatomic_armv7.h ../corelib/arch/qatomic_avr32.h ../corelib/arch/qatomic_bfin.h ../corelib/arch/qatomic_bootstrap.h ../corelib/arch/qatomic_generic.h ../corelib/arch/qatomic_i386.h ../corelib/arch/qatomic_ia64.h ../corelib/arch/qatomic_integrity.h ../corelib/arch/qatomic_m68k.h ../corelib/arch/qatomic_macosx.h ../corelib/arch/qatomic_mips.h ../corelib/arch/qatomic_parisc.h ../corelib/arch/qatomic_powerpc.h ../corelib/arch/qatomic_s390.h ../corelib/arch/qatomic_sh.h ../corelib/arch/qatomic_sh4a.h ../corelib/arch/qatomic_sparc.h ../corelib/arch/qatomic_symbian.h ../corelib/arch/qatomic_vxworks.h ../corelib/arch/qatomic_windows.h ../corelib/arch/qatomic_windowsce.h ../corelib/arch/qatomic_x86_64.h ../corelib/tools/qalgorithms.h ../corelib/tools/qbitarray.h ../corelib/tools/qbytearray.h ../corelib/tools/qbytearraymatcher.h ../corelib/tools/qcache.h ../corelib/tools/qchar.h ../corelib/tools/qcontainerfwd.h ../corelib/tools/qcontiguouscache.h ../corelib/tools/qcryptographichash.h ../corelib/tools/qdatetime.h ../corelib/tools/qeasingcurve.h ../corelib/tools/qelapsedtimer.h ../corelib/tools/qhash.h ../corelib/tools/qiterator.h ../corelib/tools/qline.h ../corelib/tools/qlinkedlist.h ../corelib/tools/qlist.h ../corelib/tools/qlocale.h ../corelib/tools/qlocale_blackberry.h ../corelib/tools/qmap.h ../corelib/tools/qmargins.h ../corelib/tools/qpair.h ../corelib/tools/qpoint.h ../corelib/tools/qqueue.h ../corelib/tools/qrect.h ../corelib/tools/qregexp.h ../corelib/tools/qscopedpointer.h ../corelib/tools/qscopedvaluerollback.h ../corelib/tools/qset.h ../corelib/tools/qshareddata.h ../corelib/tools/qsharedpointer.h ../corelib/tools/qsharedpointer_impl.h ../corelib/tools/qsize.h ../corelib/tools/qstack.h ../corelib/tools/qstring.h ../corelib/tools/qstringbuilder.h ../corelib/tools/qstringlist.h ../corelib/tools/qstringmatcher.h ../corelib/tools/qtextboundaryfinder.h ../corelib/tools/qtimeline.h ../corelib/tools/qvarlengtharray.h ../corelib/tools/qvector.h ../corelib/plugin/qfactoryinterface.h ../corelib/plugin/qlibrary.h ../corelib/plugin/qplugin.h ../corelib/plugin/qpluginloader.h ../corelib/plugin/quuid.h ../corelib/xml/qxmlstream.h ../corelib/thread/qatomic.h ../corelib/thread/qbasicatomic.h ../corelib/thread/qmutex.h ../corelib/thread/qreadwritelock.h ../corelib/thread/qsemaphore.h ../corelib/thread/qthread.h ../corelib/thread/qthreadstorage.h ../corelib/thread/qwaitcondition.h ../corelib/statemachine/qabstractstate.h ../corelib/statemachine/qabstracttransition.h ../corelib/statemachine/qeventtransition.h ../corelib/statemachine/qfinalstate.h ../corelib/statemachine/qhistorystate.h ../corelib/statemachine/qsignaltransition.h ../corelib/statemachine/qstate.h ../corelib/statemachine/qstatemachine.h ../corelib/concurrent/qfuture.h ../corelib/concurrent/qfutureinterface.h ../corelib/concurrent/qfuturesynchronizer.h ../corelib/concurrent/qfuturewatcher.h ../corelib/concurrent/qrunnable.h ../corelib/concurrent/qtconcurrentcompilertest.h ../corelib/concurrent/qtconcurrentexception.h ../corelib/concurrent/qtconcurrentfilter.h ../corelib/concurrent/qtconcurrentfilterkernel.h ../corelib/concurrent/qtconcurrentfunctionwrappers.h ../corelib/concurrent/qtconcurrentiteratekernel.h ../corelib/concurrent/qtconcurrentmap.h ../corelib/concurrent/qtconcurrentmapkernel.h ../corelib/concurrent/qtconcurrentmedian.h ../corelib/concurrent/qtconcurrentreducekernel.h ../corelib/concurrent/qtconcurrentresultstore.h ../corelib/concurrent/qtconcurrentrun.h ../corelib/concurrent/qtconcurrentrunbase.h ../corelib/concurrent/qtconcurrentstoredfunctioncall.h ../corelib/concurrent/qtconcurrentthreadengine.h ../corelib/concurrent/qthreadpool.h ../corelib/io/qabstractfileengine.h ../corelib/io/qbuffer.h ../corelib/io/qdatastream.h ../corelib/io/qdebug.h ../corelib/io/qdir.h ../corelib/io/qdiriterator.h ../corelib/io/qfile.h ../corelib/io/qfileinfo.h ../corelib/io/qfilesystemwatcher.h ../corelib/io/qfsfileengine.h ../corelib/io/qiodevice.h ../corelib/io/qprocess.h ../corelib/io/qresource.h ../corelib/io/qsettings.h ../corelib/io/qtemporaryfile.h ../corelib/io/qtextstream.h ../corelib/io/qurl.h ../corelib/global/qconfig-dist.h ../corelib/global/qconfig-large.h ../corelib/global/qconfig-medium.h ../corelib/global/qconfig-minimal.h ../corelib/global/qconfig-nacl.h ../corelib/global/qconfig-small.h ../corelib/global/qendian.h ../corelib/global/qfeatures.h ../corelib/global/qglobal.h ../corelib/global/qlibraryinfo.h ../corelib/global/qnamespace.h ../corelib/global/qnumeric.h ../corelib/global/qt_windows.h ../corelib/global/qconfig.h ../corelib/codecs/qtextcodec.h ../corelib/codecs/qtextcodecplugin.h ../../include/QtCore/QtCore -+SYNCQT.HEADER_FILES = ../corelib/kernel/qabstracteventdispatcher.h ../corelib/kernel/qabstractitemmodel.h ../corelib/kernel/qbasictimer.h ../corelib/kernel/qcoreapplication.h ../corelib/kernel/qcoreevent.h ../corelib/kernel/qeventloop.h ../corelib/kernel/qfunctions_nacl.h ../corelib/kernel/qfunctions_vxworks.h ../corelib/kernel/qfunctions_wince.h ../corelib/kernel/qmath.h ../corelib/kernel/qmetaobject.h ../corelib/kernel/qmetatype.h ../corelib/kernel/qmimedata.h ../corelib/kernel/qobject.h ../corelib/kernel/qobjectcleanuphandler.h ../corelib/kernel/qobjectdefs.h ../corelib/kernel/qpointer.h ../corelib/kernel/qsharedmemory.h ../corelib/kernel/qsignalmapper.h ../corelib/kernel/qsocketnotifier.h ../corelib/kernel/qsystemsemaphore.h ../corelib/kernel/qtimer.h ../corelib/kernel/qtranslator.h ../corelib/kernel/qvariant.h ../corelib/animation/qabstractanimation.h ../corelib/animation/qanimationgroup.h ../corelib/animation/qparallelanimationgroup.h ../corelib/animation/qpauseanimation.h ../corelib/animation/qpropertyanimation.h ../corelib/animation/qsequentialanimationgroup.h ../corelib/animation/qvariantanimation.h ../corelib/arch/qatomic_aarch64.h ../corelib/arch/qatomic_alpha.h ../corelib/arch/qatomic_arch.h ../corelib/arch/qatomic_arm.h ../corelib/arch/qatomic_armv5.h ../corelib/arch/qatomic_armv6.h ../corelib/arch/qatomic_armv7.h ../corelib/arch/qatomic_avr32.h ../corelib/arch/qatomic_bfin.h ../corelib/arch/qatomic_bootstrap.h ../corelib/arch/qatomic_generic.h ../corelib/arch/qatomic_i386.h ../corelib/arch/qatomic_ia64.h ../corelib/arch/qatomic_integrity.h ../corelib/arch/qatomic_m68k.h ../corelib/arch/qatomic_macosx.h ../corelib/arch/qatomic_mips.h ../corelib/arch/qatomic_parisc.h ../corelib/arch/qatomic_powerpc.h ../corelib/arch/qatomic_s390.h ../corelib/arch/qatomic_sh.h ../corelib/arch/qatomic_sh4a.h ../corelib/arch/qatomic_sparc.h ../corelib/arch/qatomic_symbian.h ../corelib/arch/qatomic_vxworks.h ../corelib/arch/qatomic_windows.h ../corelib/arch/qatomic_windowsce.h ../corelib/arch/qatomic_x86_64.h ../corelib/tools/qalgorithms.h ../corelib/tools/qbitarray.h ../corelib/tools/qbytearray.h ../corelib/tools/qbytearraymatcher.h ../corelib/tools/qcache.h ../corelib/tools/qchar.h ../corelib/tools/qcontainerfwd.h ../corelib/tools/qcontiguouscache.h ../corelib/tools/qcryptographichash.h ../corelib/tools/qdatetime.h ../corelib/tools/qeasingcurve.h ../corelib/tools/qelapsedtimer.h ../corelib/tools/qhash.h ../corelib/tools/qiterator.h ../corelib/tools/qline.h ../corelib/tools/qlinkedlist.h ../corelib/tools/qlist.h ../corelib/tools/qlocale.h ../corelib/tools/qlocale_blackberry.h ../corelib/tools/qmap.h ../corelib/tools/qmargins.h ../corelib/tools/qpair.h ../corelib/tools/qpoint.h ../corelib/tools/qqueue.h ../corelib/tools/qrect.h ../corelib/tools/qregexp.h ../corelib/tools/qscopedpointer.h ../corelib/tools/qscopedvaluerollback.h ../corelib/tools/qset.h ../corelib/tools/qshareddata.h ../corelib/tools/qsharedpointer.h ../corelib/tools/qsharedpointer_impl.h ../corelib/tools/qsize.h ../corelib/tools/qstack.h ../corelib/tools/qstring.h ../corelib/tools/qstringbuilder.h ../corelib/tools/qstringlist.h ../corelib/tools/qstringmatcher.h ../corelib/tools/qtextboundaryfinder.h ../corelib/tools/qtimeline.h ../corelib/tools/qvarlengtharray.h ../corelib/tools/qvector.h ../corelib/plugin/qfactoryinterface.h ../corelib/plugin/qlibrary.h ../corelib/plugin/qplugin.h ../corelib/plugin/qpluginloader.h ../corelib/plugin/quuid.h ../corelib/xml/qxmlstream.h ../corelib/thread/qatomic.h ../corelib/thread/qbasicatomic.h ../corelib/thread/qmutex.h ../corelib/thread/qreadwritelock.h ../corelib/thread/qsemaphore.h ../corelib/thread/qthread.h ../corelib/thread/qthreadstorage.h ../corelib/thread/qwaitcondition.h ../corelib/statemachine/qabstractstate.h ../corelib/statemachine/qabstracttransition.h ../corelib/statemachine/qeventtransition.h ../corelib/statemachine/qfinalstate.h ../corelib/statemachine/qhistorystate.h ../corelib/statemachine/qsignaltransition.h ../corelib/statemachine/qstate.h ../corelib/statemachine/qstatemachine.h ../corelib/concurrent/qfuture.h ../corelib/concurrent/qfutureinterface.h ../corelib/concurrent/qfuturesynchronizer.h ../corelib/concurrent/qfuturewatcher.h ../corelib/concurrent/qrunnable.h ../corelib/concurrent/qtconcurrentcompilertest.h ../corelib/concurrent/qtconcurrentexception.h ../corelib/concurrent/qtconcurrentfilter.h ../corelib/concurrent/qtconcurrentfilterkernel.h ../corelib/concurrent/qtconcurrentfunctionwrappers.h ../corelib/concurrent/qtconcurrentiteratekernel.h ../corelib/concurrent/qtconcurrentmap.h ../corelib/concurrent/qtconcurrentmapkernel.h ../corelib/concurrent/qtconcurrentmedian.h ../corelib/concurrent/qtconcurrentreducekernel.h ../corelib/concurrent/qtconcurrentresultstore.h ../corelib/concurrent/qtconcurrentrun.h ../corelib/concurrent/qtconcurrentrunbase.h ../corelib/concurrent/qtconcurrentstoredfunctioncall.h ../corelib/concurrent/qtconcurrentthreadengine.h ../corelib/concurrent/qthreadpool.h ../corelib/io/qabstractfileengine.h ../corelib/io/qbuffer.h ../corelib/io/qdatastream.h ../corelib/io/qdebug.h ../corelib/io/qdir.h ../corelib/io/qdiriterator.h ../corelib/io/qfile.h ../corelib/io/qfileinfo.h ../corelib/io/qfilesystemwatcher.h ../corelib/io/qfsfileengine.h ../corelib/io/qiodevice.h ../corelib/io/qprocess.h ../corelib/io/qresource.h ../corelib/io/qsettings.h ../corelib/io/qtemporaryfile.h ../corelib/io/qtextstream.h ../corelib/io/qurl.h ../corelib/global/qconfig-dist.h ../corelib/global/qconfig-large.h ../corelib/global/qconfig-medium.h ../corelib/global/qconfig-minimal.h ../corelib/global/qconfig-nacl.h ../corelib/global/qconfig-small.h ../corelib/global/qendian.h ../corelib/global/qfeatures.h ../corelib/global/qglobal.h ../corelib/global/qlibraryinfo.h ../corelib/global/qnamespace.h ../corelib/global/qnumeric.h ../corelib/global/qt_windows.h ../corelib/global/qconfig.h ../corelib/codecs/qtextcodec.h ../corelib/codecs/qtextcodecplugin.h ../../include/QtCore/QtCore - SYNCQT.HEADER_CLASSES = ../../include/QtCore/QAbstractEventDispatcher ../../include/QtCore/QModelIndex ../../include/QtCore/QPersistentModelIndex ../../include/QtCore/QModelIndexList ../../include/QtCore/QAbstractItemModel ../../include/QtCore/QAbstractTableModel ../../include/QtCore/QAbstractListModel ../../include/QtCore/QBasicTimer ../../include/QtCore/QCoreApplication ../../include/QtCore/QtCleanUpFunction ../../include/QtCore/QEvent ../../include/QtCore/QTimerEvent ../../include/QtCore/QChildEvent ../../include/QtCore/QCustomEvent ../../include/QtCore/QDynamicPropertyChangeEvent ../../include/QtCore/QEventLoop ../../include/QtCore/QMetaMethod ../../include/QtCore/QMetaEnum ../../include/QtCore/QMetaProperty ../../include/QtCore/QMetaClassInfo ../../include/QtCore/QMetaType ../../include/QtCore/QMetaTypeId ../../include/QtCore/QMetaTypeId2 ../../include/QtCore/QMimeData ../../include/QtCore/QObjectList ../../include/QtCore/QObjectData ../../include/QtCore/QObject ../../include/QtCore/QObjectUserData ../../include/QtCore/QObjectCleanupHandler ../../include/QtCore/QGenericArgument ../../include/QtCore/QGenericReturnArgument ../../include/QtCore/QArgument ../../include/QtCore/QReturnArgument ../../include/QtCore/QMetaObject ../../include/QtCore/QMetaObjectAccessor ../../include/QtCore/QMetaObjectExtraData ../../include/QtCore/QPointer ../../include/QtCore/QSharedMemory ../../include/QtCore/QSignalMapper ../../include/QtCore/QSocketNotifier ../../include/QtCore/QSystemSemaphore ../../include/QtCore/QTimer ../../include/QtCore/QTranslator ../../include/QtCore/QVariant ../../include/QtCore/QVariantList ../../include/QtCore/QVariantMap ../../include/QtCore/QVariantHash ../../include/QtCore/QVariantComparisonHelper ../../include/QtCore/QAbstractAnimation ../../include/QtCore/QAnimationDriver ../../include/QtCore/QAnimationGroup ../../include/QtCore/QParallelAnimationGroup ../../include/QtCore/QPauseAnimation ../../include/QtCore/QPropertyAnimation ../../include/QtCore/QSequentialAnimationGroup ../../include/QtCore/QVariantAnimation ../../include/QtCore/QtAlgorithms ../../include/QtCore/QBitArray ../../include/QtCore/QBitRef ../../include/QtCore/QByteArray ../../include/QtCore/QByteRef ../../include/QtCore/QByteArrayMatcher ../../include/QtCore/QCache ../../include/QtCore/QLatin1Char ../../include/QtCore/QChar ../../include/QtCore/QtContainerFwd ../../include/QtCore/QContiguousCacheData ../../include/QtCore/QContiguousCacheTypedData ../../include/QtCore/QContiguousCache ../../include/QtCore/QCryptographicHash ../../include/QtCore/QDate ../../include/QtCore/QTime ../../include/QtCore/QDateTime ../../include/QtCore/QEasingCurve ../../include/QtCore/QElapsedTimer ../../include/QtCore/QHashData ../../include/QtCore/QHashDummyValue ../../include/QtCore/QHashDummyNode ../../include/QtCore/QHashNode ../../include/QtCore/QHash ../../include/QtCore/QMultiHash ../../include/QtCore/QHashIterator ../../include/QtCore/QMutableHashIterator ../../include/QtCore/QLine ../../include/QtCore/QLineF ../../include/QtCore/QLinkedListData ../../include/QtCore/QLinkedListNode ../../include/QtCore/QLinkedList ../../include/QtCore/QLinkedListIterator ../../include/QtCore/QMutableLinkedListIterator ../../include/QtCore/QListData ../../include/QtCore/QList ../../include/QtCore/QListIterator ../../include/QtCore/QMutableListIterator ../../include/QtCore/QSystemLocale ../../include/QtCore/QLocale ../../include/QtCore/QBBSystemLocaleData ../../include/QtCore/QMapData ../../include/QtCore/QMapNode ../../include/QtCore/QMapPayloadNode ../../include/QtCore/QMap ../../include/QtCore/QMultiMap ../../include/QtCore/QMapIterator ../../include/QtCore/QMutableMapIterator ../../include/QtCore/QMargins ../../include/QtCore/QPair ../../include/QtCore/QPoint ../../include/QtCore/QPointF ../../include/QtCore/QQueue ../../include/QtCore/QRect ../../include/QtCore/QRectF ../../include/QtCore/QRegExp ../../include/QtCore/QScopedPointerDeleter ../../include/QtCore/QScopedPointerArrayDeleter ../../include/QtCore/QScopedPointerPodDeleter ../../include/QtCore/QScopedPointer ../../include/QtCore/QScopedArrayPointer ../../include/QtCore/QScopedValueRollback ../../include/QtCore/QSet ../../include/QtCore/QSetIterator ../../include/QtCore/QMutableSetIterator ../../include/QtCore/QSharedData ../../include/QtCore/QSharedDataPointer ../../include/QtCore/QExplicitlySharedDataPointer ../../include/QtCore/QSharedPointer ../../include/QtCore/QWeakPointer ../../include/QtCore/QSize ../../include/QtCore/QSizeF ../../include/QtCore/QStack ../../include/QtCore/QStdWString ../../include/QtCore/QString ../../include/QtCore/QLatin1String ../../include/QtCore/QCharRef ../../include/QtCore/QConstString ../../include/QtCore/QStringRef ../../include/QtCore/QLatin1Literal ../../include/QtCore/QAbstractConcatenable ../../include/QtCore/QConcatenable ../../include/QtCore/QStringBuilder ../../include/QtCore/QStringListIterator ../../include/QtCore/QMutableStringListIterator ../../include/QtCore/QStringList ../../include/QtCore/QStringMatcher ../../include/QtCore/QTextBoundaryFinder ../../include/QtCore/QTimeLine ../../include/QtCore/QVarLengthArray ../../include/QtCore/QVectorData ../../include/QtCore/QVectorTypedData ../../include/QtCore/QVector ../../include/QtCore/QVectorIterator ../../include/QtCore/QMutableVectorIterator ../../include/QtCore/QFactoryInterface ../../include/QtCore/QLibrary ../../include/QtCore/QtPlugin ../../include/QtCore/QtPluginInstanceFunction ../../include/QtCore/QPluginLoader ../../include/QtCore/QUuid ../../include/QtCore/QXmlStreamStringRef ../../include/QtCore/QXmlStreamAttribute ../../include/QtCore/QXmlStreamAttributes ../../include/QtCore/QXmlStreamNamespaceDeclaration ../../include/QtCore/QXmlStreamNamespaceDeclarations ../../include/QtCore/QXmlStreamNotationDeclaration ../../include/QtCore/QXmlStreamNotationDeclarations ../../include/QtCore/QXmlStreamEntityDeclaration ../../include/QtCore/QXmlStreamEntityDeclarations ../../include/QtCore/QXmlStreamEntityResolver ../../include/QtCore/QXmlStreamReader ../../include/QtCore/QXmlStreamWriter ../../include/QtCore/QAtomicInt ../../include/QtCore/QAtomicPointer ../../include/QtCore/QBasicAtomicInt ../../include/QtCore/QBasicAtomicPointer ../../include/QtCore/QMutex ../../include/QtCore/QMutexLocker ../../include/QtCore/QMutexData ../../include/QtCore/QReadWriteLock ../../include/QtCore/QReadLocker ../../include/QtCore/QWriteLocker ../../include/QtCore/QSemaphore ../../include/QtCore/QThread ../../include/QtCore/QThreadStorageData ../../include/QtCore/QThreadStorage ../../include/QtCore/QWaitCondition ../../include/QtCore/QAbstractState ../../include/QtCore/QAbstractTransition ../../include/QtCore/QEventTransition ../../include/QtCore/QFinalState ../../include/QtCore/QHistoryState ../../include/QtCore/QSignalTransition ../../include/QtCore/QState ../../include/QtCore/QStateMachine ../../include/QtCore/QFuture ../../include/QtCore/QFutureIterator ../../include/QtCore/QMutableFutureIterator ../../include/QtCore/QFutureInterfaceBase ../../include/QtCore/QFutureInterface ../../include/QtCore/QFutureSynchronizer ../../include/QtCore/QFutureWatcherBase ../../include/QtCore/QFutureWatcher ../../include/QtCore/QRunnable ../../include/QtCore/QtConcurrentFilter ../../include/QtCore/QtConcurrentMap ../../include/QtCore/QtConcurrentRun ../../include/QtCore/QThreadPool ../../include/QtCore/QAbstractFileEngine ../../include/QtCore/QAbstractFileEngineHandler ../../include/QtCore/QAbstractFileEngineIterator ../../include/QtCore/QBuffer ../../include/QtCore/QDataStream ../../include/QtCore/QtDebug ../../include/QtCore/QDebug ../../include/QtCore/QNoDebug ../../include/QtCore/QDir ../../include/QtCore/QDirIterator ../../include/QtCore/QFile ../../include/QtCore/QFileInfo ../../include/QtCore/QFileInfoList ../../include/QtCore/QFileInfoListIterator ../../include/QtCore/QFileSystemWatcher ../../include/QtCore/QFSFileEngine ../../include/QtCore/QIODevice ../../include/QtCore/Q_PID ../../include/QtCore/QProcessEnvironment ../../include/QtCore/QProcess ../../include/QtCore/QResource ../../include/QtCore/QSettings ../../include/QtCore/QTemporaryFile ../../include/QtCore/QTextStream ../../include/QtCore/QTextStreamFunction ../../include/QtCore/QTextStreamManipulator ../../include/QtCore/QTS ../../include/QtCore/QTextIStream ../../include/QtCore/QTextOStream ../../include/QtCore/QUrl ../../include/QtCore/QtEndian ../../include/QtCore/QtGlobal ../../include/QtCore/QIntegerForSize ../../include/QtCore/QNoImplicitBoolCast ../../include/QtCore/Q_INT8 ../../include/QtCore/Q_UINT8 ../../include/QtCore/Q_INT16 ../../include/QtCore/Q_UINT16 ../../include/QtCore/Q_INT32 ../../include/QtCore/Q_UINT32 ../../include/QtCore/Q_INT64 ../../include/QtCore/Q_UINT64 ../../include/QtCore/Q_LLONG ../../include/QtCore/Q_ULLONG ../../include/QtCore/Q_LONG ../../include/QtCore/Q_ULONG ../../include/QtCore/QSysInfo ../../include/QtCore/QtMsgHandler ../../include/QtCore/QGlobalStatic ../../include/QtCore/QGlobalStaticDeleter ../../include/QtCore/QBool ../../include/QtCore/QTypeInfo ../../include/QtCore/QFlag ../../include/QtCore/QIncompatibleFlag ../../include/QtCore/QFlags ../../include/QtCore/QForeachContainer ../../include/QtCore/QForeachContainerBase ../../include/QtCore/QLibraryInfo ../../include/QtCore/Qt ../../include/QtCore/QInternal ../../include/QtCore/QCOORD ../../include/QtCore/QtConfig ../../include/QtCore/QTextCodec ../../include/QtCore/QTextEncoder ../../include/QtCore/QTextDecoder ../../include/QtCore/QTextCodecFactoryInterface ../../include/QtCore/QTextCodecPlugin - SYNCQT.PRIVATE_HEADER_FILES = ../corelib/kernel/qabstracteventdispatcher_p.h ../corelib/kernel/qabstractitemmodel_p.h ../corelib/kernel/qcore_mac_p.h ../corelib/kernel/qcore_symbian_p.h ../corelib/kernel/qcore_unix_p.h ../corelib/kernel/qcoreapplication_p.h ../corelib/kernel/qcorecmdlineargs_p.h ../corelib/kernel/qcoreglobaldata_p.h ../corelib/kernel/qcrashhandler_p.h ../corelib/kernel/qeventdispatcher_blackberry_p.h ../corelib/kernel/qeventdispatcher_glib_p.h ../corelib/kernel/qeventdispatcher_symbian_p.h ../corelib/kernel/qeventdispatcher_unix_p.h ../corelib/kernel/qeventdispatcher_win_p.h ../corelib/kernel/qfunctions_p.h ../corelib/kernel/qmetaobject_p.h ../corelib/kernel/qobject_p.h ../corelib/kernel/qsharedmemory_p.h ../corelib/kernel/qsystemerror_p.h ../corelib/kernel/qsystemsemaphore_p.h ../corelib/kernel/qtranslator_p.h ../corelib/kernel/qvariant_p.h ../corelib/kernel/qwineventnotifier_p.h ../corelib/animation/qabstractanimation_p.h ../corelib/animation/qanimationgroup_p.h ../corelib/animation/qparallelanimationgroup_p.h ../corelib/animation/qpropertyanimation_p.h ../corelib/animation/qsequentialanimationgroup_p.h ../corelib/animation/qvariantanimation_p.h ../corelib/tools/qbytedata_p.h ../corelib/tools/qdatetime_p.h ../corelib/tools/qharfbuzz_p.h ../corelib/tools/qlocale_data_p.h ../corelib/tools/qlocale_p.h ../corelib/tools/qlocale_tools_p.h ../corelib/tools/qpodlist_p.h ../corelib/tools/qringbuffer_p.h ../corelib/tools/qscopedpointer_p.h ../corelib/tools/qsimd_p.h ../corelib/tools/qtools_p.h ../corelib/tools/qunicodetables_p.h ../corelib/plugin/qelfparser_p.h ../corelib/plugin/qfactoryloader_p.h ../corelib/plugin/qlibrary_p.h ../corelib/plugin/qsystemlibrary_p.h ../corelib/xml/qxmlstream_p.h ../corelib/xml/qxmlutils_p.h ../corelib/thread/qmutex_p.h ../corelib/thread/qmutexpool_p.h ../corelib/thread/qorderedmutexlocker_p.h ../corelib/thread/qreadwritelock_p.h ../corelib/thread/qthread_p.h ../corelib/statemachine/qabstractstate_p.h ../corelib/statemachine/qabstracttransition_p.h ../corelib/statemachine/qeventtransition_p.h ../corelib/statemachine/qhistorystate_p.h ../corelib/statemachine/qsignaleventgenerator_p.h ../corelib/statemachine/qsignaltransition_p.h ../corelib/statemachine/qstate_p.h ../corelib/statemachine/qstatemachine_p.h ../corelib/concurrent/qfutureinterface_p.h ../corelib/concurrent/qfuturewatcher_p.h ../corelib/concurrent/qthreadpool_p.h ../corelib/io/qabstractfileengine_p.h ../corelib/io/qdatastream_p.h ../corelib/io/qdataurl_p.h ../corelib/io/qdir_p.h ../corelib/io/qfile_p.h ../corelib/io/qfileinfo_p.h ../corelib/io/qfilesystemengine_p.h ../corelib/io/qfilesystementry_p.h ../corelib/io/qfilesystemiterator_p.h ../corelib/io/qfilesystemmetadata_p.h ../corelib/io/qfilesystemwatcher_dnotify_p.h ../corelib/io/qfilesystemwatcher_fsevents_p.h ../corelib/io/qfilesystemwatcher_inotify_p.h ../corelib/io/qfilesystemwatcher_kqueue_p.h ../corelib/io/qfilesystemwatcher_p.h ../corelib/io/qfilesystemwatcher_symbian_p.h ../corelib/io/qfilesystemwatcher_win_p.h ../corelib/io/qfsfileengine_iterator_p.h ../corelib/io/qfsfileengine_p.h ../corelib/io/qiodevice_p.h ../corelib/io/qnoncontiguousbytedevice_p.h ../corelib/io/qprocess_p.h ../corelib/io/qresource_iterator_p.h ../corelib/io/qresource_p.h ../corelib/io/qsettings_p.h ../corelib/io/qtldurl_p.h ../corelib/io/qurltlds_p.h ../corelib/io/qwindowspipewriter_p.h ../corelib/global/qnumeric_p.h ../corelib/global/qt_pch.h ../corelib/codecs/qfontlaocodec_p.h ../corelib/codecs/qiconvcodec_p.h ../corelib/codecs/qisciicodec_p.h ../corelib/codecs/qlatincodec_p.h ../corelib/codecs/qsimplecodec_p.h ../corelib/codecs/qtextcodec_p.h ../corelib/codecs/qtsciicodec_p.h ../corelib/codecs/qutfcodec_p.h -diff -up qt-everywhere-opensource-src-4.8.7/include/QtCore/qatomic_aarch64.h.aarch64 qt-everywhere-opensource-src-4.8.7/include/QtCore/qatomic_aarch64.h ---- qt-everywhere-opensource-src-4.8.7/include/QtCore/qatomic_aarch64.h.aarch64 2015-05-08 21:48:32.715057744 -0500 -+++ qt-everywhere-opensource-src-4.8.7/include/QtCore/qatomic_aarch64.h 2015-05-08 21:48:32.715057744 -0500 -@@ -0,0 +1 @@ -+#include "../../src/corelib/arch/qatomic_aarch64.h" -diff -up qt-everywhere-opensource-src-4.8.7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri.aarch64 qt-everywhere-opensource-src-4.8.7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri ---- qt-everywhere-opensource-src-4.8.7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri.aarch64 2015-05-07 09:14:47.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri 2015-05-08 21:48:33.268061013 -0500 -@@ -66,6 +66,12 @@ contains(JAVASCRIPTCORE_JIT,no) { - } - } - -+# Hack around AARCH64 fail wrt JSValue.h -+equals(QT_ARCH, aarch64) { -+ message("JavaScriptCore aarch64 hack: -fpermissive") -+ QMAKE_CXXFLAGS += -fpermissive -+} -+ - wince* { - INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat - SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c -diff -up qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri.aarch64 qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri ---- qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri.aarch64 2015-05-07 09:14:45.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri 2015-05-08 21:48:33.268061013 -0500 -@@ -63,6 +63,12 @@ contains (CONFIG, text_breaking_with_icu - DEFINES += WTF_USE_QT_ICU_TEXT_BREAKING=1 - } - -+# Hack around AARCH64 fail wrt JSValue.h -+equals(QT_ARCH, aarch64) { -+ message("JavaScriptCore aarch64 hack: -fpermissive") -+ QMAKE_CXXFLAGS += -fpermissive -+} -+ - wince* { - INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat - INCLUDEPATH += $$PWD/../JavaScriptCore/os-win32 -diff -up qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h.aarch64 qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h ---- qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h.aarch64 2015-05-07 09:14:45.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h 2015-05-08 21:48:33.269061019 -0500 -@@ -369,7 +369,16 @@ - - #endif /* ARM */ - --#if CPU(ARM) || CPU(MIPS) || CPU(SH4) -+/* CPU(AARCH64) - AArch64 */ -+#if defined(__aarch64__) -+#define WTF_CPU_AARCH64 1 -+#if defined(__AARCH64EB__) -+#define WTF_CPU_BIG_ENDIAN 1 -+#endif -+#endif -+ -+/* Not sure about this one, qt5-qtwebkit doesn't include it -- rex */ -+#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(AARCH64) - #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 - #endif - -@@ -1003,7 +1012,7 @@ - || CPU(SPARC64) \ - || CPU(S390X) \ - || CPU(PPC64) \ -- || CPU(MIPS64) -+ || CPU(MIPS64) || CPU(AARCH64) - #define WTF_USE_JSVALUE64 1 - #else - #define WTF_USE_JSVALUE32_64 1 -diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/arch/aarch64/qatomic_aarch64.cpp.aarch64 qt-everywhere-opensource-src-4.8.7/src/corelib/arch/aarch64/qatomic_aarch64.cpp ---- qt-everywhere-opensource-src-4.8.7/src/corelib/arch/aarch64/qatomic_aarch64.cpp.aarch64 2015-05-08 21:48:33.269061019 -0500 -+++ qt-everywhere-opensource-src-4.8.7/src/corelib/arch/aarch64/qatomic_aarch64.cpp 2015-05-08 21:48:33.269061019 -0500 -@@ -0,0 +1,70 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2012, 2013 Digia Plc and/or its subsidiary(-ies). -+** Contact: http://www.qt-project.org/legal -+** -+** This file is part of the QtCore module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and Digia. For licensing terms and -+** conditions see http://qt.digia.com/licensing. For further information -+** use the contact form at http://qt.digia.com/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 2.1 requirements -+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Digia gives you certain additional -+** rights. These rights are described in the Digia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include <QtCore/qglobal.h> -+ -+#include <unistd.h> -+#ifdef _POSIX_PRIORITY_SCHEDULING -+# include <sched.h> -+#endif -+#include <time.h> -+ -+QT_BEGIN_NAMESPACE -+ -+QT_USE_NAMESPACE -+ -+Q_CORE_EXPORT void qt_atomic_yield(int *count) -+{ -+#ifdef _POSIX_PRIORITY_SCHEDULING -+ if((*count)++ < 50) { -+ sched_yield(); -+ } else -+#endif -+ { -+ struct timespec tm; -+ tm.tv_sec = 0; -+ tm.tv_nsec = 2000001; -+ nanosleep(&tm, NULL); -+ *count = 0; -+ } -+} -+ -+QT_END_NAMESPACE -diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/arch/arch.pri.aarch64 qt-everywhere-opensource-src-4.8.7/src/corelib/arch/arch.pri ---- qt-everywhere-opensource-src-4.8.7/src/corelib/arch/arch.pri.aarch64 2015-05-07 09:14:48.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/src/corelib/arch/arch.pri 2015-05-08 21:48:33.270061025 -0500 -@@ -31,7 +31,9 @@ integrity:HEADERS += arch/qatomic_integr - arch/qatomic_s390.h \ - arch/qatomic_x86_64.h \ - arch/qatomic_sh.h \ -- arch/qatomic_sh4a.h -+ arch/qatomic_sh4a.h \ -+ arch/qatomic_aarch64.h \ -+ - - QT_ARCH_CPP = $$QT_SOURCE_TREE/src/corelib/arch/$$QT_ARCH - DEPENDPATH += $$QT_ARCH_CPP -diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_aarch64.h.aarch64 qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_aarch64.h ---- qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_aarch64.h.aarch64 2015-05-08 21:48:33.270061025 -0500 -+++ qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_aarch64.h 2015-05-08 21:48:33.270061025 -0500 -@@ -0,0 +1,335 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -+** Contact: http://www.qt-project.org/legal -+** -+** This file is part of the QtCore module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and Digia. For licensing terms and -+** conditions see http://qt.digia.com/licensing. For further information -+** use the contact form at http://qt.digia.com/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 2.1 requirements -+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Digia gives you certain additional -+** rights. These rights are described in the Digia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#ifndef QATOMIC_AARCH64_H -+#define QATOMIC_AARCH64_H -+ -+QT_BEGIN_HEADER -+ -+QT_BEGIN_NAMESPACE -+ -+#define Q_ATOMIC_INT_REFERENCE_COUNTING_IS_ALWAYS_NATIVE -+ -+inline bool QBasicAtomicInt::isReferenceCountingNative() -+{ return true; } -+inline bool QBasicAtomicInt::isReferenceCountingWaitFree() -+{ return false; } -+ -+#define Q_ATOMIC_INT_TEST_AND_SET_IS_ALWAYS_NATIVE -+ -+inline bool QBasicAtomicInt::isTestAndSetNative() -+{ return true; } -+inline bool QBasicAtomicInt::isTestAndSetWaitFree() -+{ return false; } -+ -+#define Q_ATOMIC_INT_FETCH_AND_STORE_IS_ALWAYS_NATIVE -+ -+inline bool QBasicAtomicInt::isFetchAndStoreNative() -+{ return true; } -+inline bool QBasicAtomicInt::isFetchAndStoreWaitFree() -+{ return false; } -+ -+#define Q_ATOMIC_INT_FETCH_AND_ADD_IS_ALWAYS_NATIVE -+ -+inline bool QBasicAtomicInt::isFetchAndAddNative() -+{ return true; } -+inline bool QBasicAtomicInt::isFetchAndAddWaitFree() -+{ return false; } -+ -+#define Q_ATOMIC_POINTER_TEST_AND_SET_IS_ALWAYS_NATIVE -+ -+template <typename T> -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isTestAndSetNative() -+{ return true; } -+template <typename T> -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isTestAndSetWaitFree() -+{ return false; } -+ -+#define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_ALWAYS_NATIVE -+ -+template <typename T> -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreNative() -+{ return true; } -+template <typename T> -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreWaitFree() -+{ return false; } -+ -+#define Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_ALWAYS_NATIVE -+ -+template <typename T> -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddNative() -+{ return true; } -+template <typename T> -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddWaitFree() -+{ return false; } -+ -+#ifndef Q_DATA_MEMORY_BARRIER -+# define Q_DATA_MEMORY_BARRIER asm volatile("dmb sy\n":::"memory") -+#endif -+#ifndef Q_COMPILER_MEMORY_BARRIER -+# define Q_COMPILER_MEMORY_BARRIER asm volatile("":::"memory") -+#endif -+ -+inline bool QBasicAtomicInt::ref() -+{ -+ int newValue; -+ -+ Q_COMPILER_MEMORY_BARRIER; -+ newValue = __atomic_add_fetch(&_q_value, 1, __ATOMIC_ACQ_REL); -+ Q_COMPILER_MEMORY_BARRIER; -+ -+ return newValue != 0; -+} -+ -+inline bool QBasicAtomicInt::deref() -+{ -+ int newValue; -+ -+ Q_COMPILER_MEMORY_BARRIER; -+ newValue = __atomic_sub_fetch(&_q_value, 1, __ATOMIC_ACQ_REL); -+ Q_COMPILER_MEMORY_BARRIER; -+ -+ return newValue != 0; -+} -+ -+inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue) -+{ -+ bool val; -+ -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue, -+ false, __ATOMIC_RELAXED, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; -+} -+ -+inline int QBasicAtomicInt::fetchAndStoreRelaxed(int newValue) -+{ -+ int val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_exchange_n(&_q_value, newValue, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; -+} -+ -+inline int QBasicAtomicInt::fetchAndAddRelaxed(int valueToAdd) -+{ -+ int val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_fetch_add(&_q_value, valueToAdd, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; -+} -+ -+template <typename T> -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelaxed(T *expectedValue, T *newValue) -+{ -+ bool val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue, -+ false, __ATOMIC_RELAXED, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; -+} -+ -+template <typename T> -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue) -+{ -+ T *val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_exchange_n(&_q_value, newValue, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; -+} -+ -+template <typename T> -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd) -+{ -+ T *val; -+ Q_COMPILER_MEMORY_BARRIER; -+ val = __atomic_fetch_add(&_q_value, valueToAdd, __ATOMIC_RELAXED); -+ Q_COMPILER_MEMORY_BARRIER; -+ return val; -+} -+ -+inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue) -+{ -+ bool returnValue = testAndSetRelaxed(expectedValue, newValue); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ return testAndSetRelaxed(expectedValue, newValue); -+} -+ -+inline bool QBasicAtomicInt::testAndSetOrdered(int expectedValue, int newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ bool returnValue = testAndSetRelaxed(expectedValue, newValue); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+inline int QBasicAtomicInt::fetchAndStoreAcquire(int newValue) -+{ -+ int returnValue = fetchAndStoreRelaxed(newValue); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+inline int QBasicAtomicInt::fetchAndStoreRelease(int newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ return fetchAndStoreRelaxed(newValue); -+} -+ -+inline int QBasicAtomicInt::fetchAndStoreOrdered(int newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ int returnValue = fetchAndStoreRelaxed(newValue); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+inline int QBasicAtomicInt::fetchAndAddAcquire(int valueToAdd) -+{ -+ int returnValue = fetchAndAddRelaxed(valueToAdd); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+inline int QBasicAtomicInt::fetchAndAddRelease(int valueToAdd) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ return fetchAndAddRelaxed(valueToAdd); -+} -+ -+inline int QBasicAtomicInt::fetchAndAddOrdered(int valueToAdd) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ int returnValue = fetchAndAddRelaxed(valueToAdd); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+template <typename T> -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetAcquire(T *expectedValue, T *newValue) -+{ -+ bool returnValue = testAndSetRelaxed(expectedValue, newValue); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+template <typename T> -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelease(T *expectedValue, T *newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ return testAndSetRelaxed(expectedValue, newValue); -+} -+ -+template <typename T> -+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetOrdered(T *expectedValue, T *newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ bool returnValue = testAndSetAcquire(expectedValue, newValue); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+template <typename T> -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue) -+{ -+ T *returnValue = fetchAndStoreRelaxed(newValue); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+template <typename T> -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ return fetchAndStoreRelaxed(newValue); -+} -+ -+template <typename T> -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreOrdered(T *newValue) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ T *returnValue = fetchAndStoreRelaxed(newValue); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+template <typename T> -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueToAdd) -+{ -+ T *returnValue = fetchAndAddRelaxed(valueToAdd); -+ Q_DATA_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+template <typename T> -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueToAdd) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ return fetchAndAddRelaxed(valueToAdd); -+} -+ -+template <typename T> -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd) -+{ -+ Q_DATA_MEMORY_BARRIER; -+ T *returnValue = fetchAndAddRelaxed(valueToAdd); -+ Q_COMPILER_MEMORY_BARRIER; -+ return returnValue; -+} -+ -+#undef Q_DATA_MEMORY_BARRIER -+#undef Q_COMPILER_MEMORY_BARRIER -+ -+QT_END_NAMESPACE -+ -+QT_END_HEADER -+ -+#endif // QATOMIC_AARCH64_H -diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_arch.h.aarch64 qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_arch.h ---- qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_arch.h.aarch64 2015-05-07 09:14:48.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_arch.h 2015-05-08 21:48:33.271061031 -0500 -@@ -94,6 +94,8 @@ QT_BEGIN_HEADER - # include "QtCore/qatomic_sh4a.h" - #elif defined(QT_ARCH_NACL) - # include "QtCore/qatomic_generic.h" -+#elif defined(QT_ARCH_AARCH64) -+# include "QtCore/qatomic_aarch64.h" - #else - # error "Qt has not been ported to this architecture" - #endif diff --git a/source/l/qt/patches/qt-cupsEnumDests.patch b/source/l/qt/patches/qt-cupsEnumDests.patch deleted file mode 100644 index 7d59f22e..00000000 --- a/source/l/qt/patches/qt-cupsEnumDests.patch +++ /dev/null @@ -1,238 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp ---- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp.cupsEnumDests 2012-11-23 10:09:53.000000000 +0000 -+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp 2013-07-03 15:30:06.232936976 +0100 -@@ -50,9 +50,19 @@ - - QT_BEGIN_NAMESPACE - -+typedef int (*CupsEnumDests)(unsigned flags, int msec, int *cancel, -+ cups_ptype_t type, cups_ptype_t mask, -+ cups_dest_cb_t cb, void *user_data); -+typedef http_t * (*CupsConnectDest)(cups_dest_t *dest, unsigned flags, -+ int msec, int *cancel, -+ char *resource, size_t resourcesize, -+ cups_dest_cb_t cb, void *user_data); -+typedef int (*CupsCopyDest)(cups_dest_t *dest, int num_dests, -+ cups_dest_t **dests); - typedef int (*CupsGetDests)(cups_dest_t **dests); - typedef void (*CupsFreeDests)(int num_dests, cups_dest_t *dests); - typedef const char* (*CupsGetPPD)(const char *printer); -+typedef const char* (*CupsGetPPD2)(http_t *http, const char *printer); - typedef int (*CupsMarkOptions)(ppd_file_t *ppd, int num_options, cups_option_t *options); - typedef ppd_file_t* (*PPDOpenFile)(const char *filename); - typedef void (*PPDMarkDefaults)(ppd_file_t *ppd); -@@ -66,12 +76,24 @@ typedef const char* (*CupsLangEncoding)( - typedef int (*CupsAddOption)(const char *name, const char *value, int num_options, cups_option_t **options); - typedef int (*CupsTempFd)(char *name, int len); - typedef int (*CupsPrintFile)(const char * name, const char * filename, const char * title, int num_options, cups_option_t * options); -+typedef int (*CupsPrintFile2)(http_t *http, const char *name, const char *filename, const char *title, int num_options, cups_option_t *options); -+ -+typedef struct -+{ -+ cups_dest_t *printers; -+ int num_printers; -+} EnumDestsContext; - - static bool cupsLoaded = false; - static int qt_cups_num_printers = 0; -+static cups_dest_t *qt_cups_printers = 0; -+static CupsEnumDests _cupsEnumDests = 0; -+static CupsConnectDest _cupsConnectDest = 0; -+static CupsCopyDest _cupsCopyDest = 0; - static CupsGetDests _cupsGetDests = 0; - static CupsFreeDests _cupsFreeDests = 0; - static CupsGetPPD _cupsGetPPD = 0; -+static CupsGetPPD2 _cupsGetPPD2 = 0; - static PPDOpenFile _ppdOpenFile = 0; - static PPDMarkDefaults _ppdMarkDefaults = 0; - static PPDClose _ppdClose = 0; -@@ -84,14 +106,35 @@ static CupsLangEncoding _cupsLangEncodin - static CupsAddOption _cupsAddOption = 0; - static CupsTempFd _cupsTempFd = 0; - static CupsPrintFile _cupsPrintFile = 0; -+static CupsPrintFile2 _cupsPrintFile2 = 0; -+ -+static int enum_dest_cb (void *user_data, unsigned flags, cups_dest_t *dest) -+{ -+ EnumDestsContext *context = (EnumDestsContext *) user_data; -+ -+ if ((flags & (CUPS_DEST_FLAGS_UNCONNECTED | -+ CUPS_DEST_FLAGS_REMOVED | -+ CUPS_DEST_FLAGS_ERROR | -+ CUPS_DEST_FLAGS_RESOLVING | -+ CUPS_DEST_FLAGS_CONNECTING | -+ CUPS_DEST_FLAGS_CANCELED)) == 0) -+ context->num_printers = _cupsCopyDest (dest, context->num_printers, -+ &context->printers); -+ -+ return 1; -+} - - static void resolveCups() - { - QLibrary cupsLib(QLatin1String("cups"), 2); - if(cupsLib.load()) { -+ _cupsEnumDests = (CupsEnumDests) cupsLib.resolve("cupsEnumDests"); -+ _cupsConnectDest = (CupsConnectDest) cupsLib.resolve("cupsConnectDest"); -+ _cupsCopyDest = (CupsCopyDest) cupsLib.resolve("cupsCopyDest"); - _cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests"); - _cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests"); - _cupsGetPPD = (CupsGetPPD) cupsLib.resolve("cupsGetPPD"); -+ _cupsGetPPD2 = (CupsGetPPD2) cupsLib.resolve("cupsGetPPD2"); - _cupsLangGet = (CupsLangGet) cupsLib.resolve("cupsLangGet"); - _cupsLangEncoding = (CupsLangEncoding) cupsLib.resolve("cupsLangEncoding"); - _ppdOpenFile = (PPDOpenFile) cupsLib.resolve("ppdOpenFile"); -@@ -104,14 +147,27 @@ static void resolveCups() - _cupsAddOption = (CupsAddOption) cupsLib.resolve("cupsAddOption"); - _cupsTempFd = (CupsTempFd) cupsLib.resolve("cupsTempFd"); - _cupsPrintFile = (CupsPrintFile) cupsLib.resolve("cupsPrintFile"); -+ _cupsPrintFile2 = (CupsPrintFile2) cupsLib.resolve("cupsPrintFile2"); - -- if (_cupsGetDests && _cupsFreeDests) { -- cups_dest_t *printers; -+ if (_cupsEnumDests && _cupsCopyDest && -+ _cupsConnectDest && _cupsGetPPD2 && -+ _cupsPrintFile2) { -+ EnumDestsContext context; -+ context.printers = 0; -+ context.num_printers = 0; -+ _cupsEnumDests(0, -1, 0, 0, 0, -+ enum_dest_cb, &context); -+ -+ qt_cups_printers = context.printers; -+ qt_cups_num_printers = context.num_printers; -+ } else if (_cupsGetDests && _cupsFreeDests) { -+ cups_dest_t *printers; - int num_printers = _cupsGetDests(&printers); -- if (num_printers) -- _cupsFreeDests(num_printers, printers); -- qt_cups_num_printers = num_printers; -- } -+ -+ if (num_printers) -+ _cupsFreeDests(num_printers, printers); -+ qt_cups_num_printers = num_printers; -+ } - } - cupsLoaded = true; - } -@@ -134,7 +190,15 @@ QCUPSSupport::QCUPSSupport() - return; - - // Update the available printer count -- qt_cups_num_printers = prnCount = _cupsGetDests(&printers); -+ if (qt_cups_printers && _cupsCopyDest) { -+ int i; -+ for (i = 0; i < qt_cups_num_printers; ++i) { -+ prnCount = _cupsCopyDest (&qt_cups_printers[i], -+ prnCount, -+ &printers); -+ } -+ } else -+ qt_cups_num_printers = prnCount = _cupsGetDests(&printers); - - for (int i = 0; i < prnCount; ++i) { - if (printers[i].is_default) { -@@ -188,7 +252,19 @@ const ppd_file_t* QCUPSSupport::setCurre - currPPD = 0; - page_sizes = 0; - -- const char *ppdFile = _cupsGetPPD(printers[index].name); -+ const char *ppdFile = 0; -+ if (_cupsConnectDest && _cupsGetPPD2) { -+ char resource[HTTP_MAX_URI]; -+ http_t *http = _cupsConnectDest (&printers[index], 0, -1, 0, -+ resource, sizeof (resource), -+ 0, 0); -+ if (http) { -+ char *name = strrchr (resource, '/'); -+ if (name) -+ ppdFile = _cupsGetPPD2 (http, ++name); -+ } -+ } else -+ ppdFile = _cupsGetPPD(printers[index].name); - - if (!ppdFile) - return 0; -@@ -343,7 +419,29 @@ bool QCUPSSupport::printerHasPPD(const c - { - if (!isAvailable()) - return false; -- const char *ppdFile = _cupsGetPPD(printerName); -+ -+ const char *ppdFile = 0; -+ if (_cupsConnectDest && _cupsGetPPD2) { -+ int i; -+ for (i = 0; i < prnCount; ++i) -+ if (!strcmp (printers[i].name, printerName)) -+ break; -+ -+ if (i == prnCount) -+ return false; -+ -+ char resource[HTTP_MAX_URI]; -+ http_t *http = _cupsConnectDest (&printers[i], 0, -1, 0, -+ resource, sizeof (resource), -+ 0, 0); -+ if (http) { -+ char *name = strrchr (resource, '/'); -+ if (name) -+ ppdFile = _cupsGetPPD2 (http, ++name); -+ } -+ } else -+ ppdFile = _cupsGetPPD(printerName); -+ - if (ppdFile) - unlink(ppdFile); - return (ppdFile != 0); -@@ -394,6 +492,26 @@ QPair<int, QString> QCUPSSupport::tempFd - int QCUPSSupport::printFile(const char * printerName, const char * filename, const char * title, - int num_options, cups_option_t * options) - { -+ if (_cupsConnectDest && _cupsPrintFile2) { -+ int i; -+ for (i = 0; i < prnCount; ++i) -+ if (!strcmp (printers[i].name, printerName)) -+ break; -+ -+ if (i != prnCount) { -+ char resource[HTTP_MAX_URI]; -+ http_t *http = _cupsConnectDest (&printers[i], 0, -1, 0, -+ resource, sizeof (resource), -+ 0, 0); -+ if (http) { -+ char *name = strrchr (resource, '/'); -+ if (name) -+ return _cupsPrintFile2 (http, ++name, filename, title, -+ num_options, options); -+ } -+ } -+ } -+ - return _cupsPrintFile(printerName, filename, title, num_options, options); - } - -diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h ---- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h.cupsEnumDests 2012-11-23 10:09:53.000000000 +0000 -+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h 2013-07-03 15:27:24.733343017 +0100 -@@ -92,7 +92,7 @@ public: - - QStringList options() const; - -- static bool printerHasPPD(const char *printerName); -+ bool printerHasPPD(const char *printerName); - - QString unicodeString(const char *s); - -diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp ---- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp.cupsEnumDests 2013-07-03 15:27:24.531342277 +0100 -+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp 2013-07-03 15:27:24.733343017 +0100 -@@ -844,7 +844,7 @@ void QPrinter::setPrinterName(const QStr - if(d->use_default_engine - && d->outputFormat == QPrinter::NativeFormat) { - if (QCUPSSupport::cupsVersion() >= 10200 -- && QCUPSSupport::printerHasPPD(name.toLocal8Bit().constData())) -+ && QCUPSSupport().printerHasPPD(name.toLocal8Bit().constData())) - setOutputFormat(QPrinter::PdfFormat); - else - setOutputFormat(QPrinter::PostScriptFormat); diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.6.2-cups.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.6.2-cups.patch deleted file mode 100644 index e0305e11..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.6.2-cups.patch +++ /dev/null @@ -1,84 +0,0 @@ -diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp ---- qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-11 16:55:22.000000000 +0100 -+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-28 04:34:16.000000000 +0100 -@@ -569,6 +569,32 @@ - void QPrintDialogPrivate::selectPrinter(QCUPSSupport *cups) - { - options.duplex->setEnabled(cups && cups->ppdOption("Duplex")); -+ -+ if (cups) { -+ const ppd_option_t* duplex = cups->ppdOption("Duplex"); -+ if (duplex) { -+ // copy default ppd duplex to qt dialog -+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0) -+ options.duplexShort->setChecked(true); -+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0) -+ options.duplexLong->setChecked(true); -+ else -+ options.noDuplex->setChecked(true); -+ } -+ -+ if (cups->currentPPD()) { -+ // set default color -+ if (cups->currentPPD()->color_device) -+ options.color->setChecked(true); -+ else -+ options.grayscale->setChecked(true); -+ } -+ -+ // set collation -+ const ppd_option_t *collate = cups->ppdOption("Collate"); -+ if (collate) -+ options.collate->setChecked(qstrcmp(collate->defchoice, "True")==0); -+ } - } - #endif - -diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp ---- qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp 2010-02-11 16:55:22.000000000 +0100 -+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp 2010-02-28 04:55:15.000000000 +0100 -@@ -627,6 +627,44 @@ - && d_ptr->paintEngine->type() != QPaintEngine::MacPrinter) { - setOutputFormat(QPrinter::PdfFormat); - } -+ -+#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY) -+ // fill in defaults from ppd file -+ QCUPSSupport cups; -+ -+ int printernum = -1; -+ for (int i = 0; i < cups.availablePrintersCount(); i++) { -+ if (printerName().toLocal8Bit() == cups.availablePrinters()[i].name) -+ printernum = i; -+ } -+ if (printernum >= 0) { -+ cups.setCurrentPrinter(printernum); -+ -+ const ppd_option_t* duplex = cups.ppdOption("Duplex"); -+ if (duplex) { -+ // copy default ppd duplex to qt dialog -+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0) -+ setDuplex(DuplexShortSide); -+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0) -+ setDuplex(DuplexLongSide); -+ else -+ setDuplex(DuplexNone); -+ } -+ -+ if (cups.currentPPD()) { -+ // set default color -+ if (cups.currentPPD()->color_device) -+ setColorMode(Color); -+ else -+ setColorMode(GrayScale); -+ } -+ -+ // set collation -+ const ppd_option_t *collate = cups.ppdOption("Collate"); -+ if (collate) -+ setCollateCopies(qstrcmp(collate->defchoice, "True")==0); -+ } -+#endif - } - - /*! diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch deleted file mode 100644 index d4e5924d..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch +++ /dev/null @@ -1,69 +0,0 @@ -diff -ur qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp ---- qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-06-02 04:03:15.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-12-08 22:22:38.000000000 +0100 -@@ -76,7 +76,7 @@ - GX11EventSource *source = reinterpret_cast<GX11EventSource *>(s); - return (XEventsQueued(X11->display, QueuedAfterFlush) - || (!(source->flags & QEventLoop::ExcludeUserInputEvents) -- && !source->d->queuedUserInputEvents.isEmpty())); -+ && source->d && !source->d->queuedUserInputEvents.isEmpty())); - } - - static gboolean x11EventSourceCheck(GSource *s) -@@ -84,7 +84,7 @@ - GX11EventSource *source = reinterpret_cast<GX11EventSource *>(s); - return (XEventsQueued(X11->display, QueuedAfterFlush) - || (!(source->flags & QEventLoop::ExcludeUserInputEvents) -- && !source->d->queuedUserInputEvents.isEmpty())); -+ && source->d && !source->d->queuedUserInputEvents.isEmpty())); - } - - static gboolean x11EventSourceDispatch(GSource *s, GSourceFunc callback, gpointer user_data) -@@ -95,7 +95,7 @@ - do { - XEvent event; - if (!(source->flags & QEventLoop::ExcludeUserInputEvents) -- && !source->d->queuedUserInputEvents.isEmpty()) { -+ && source->d && !source->d->queuedUserInputEvents.isEmpty()) { - // process a pending user input event - event = source->d->queuedUserInputEvents.takeFirst(); - } else if (XEventsQueued(X11->display, QueuedAlready)) { -@@ -112,7 +112,8 @@ - case XKeyRelease: - case EnterNotify: - case LeaveNotify: -- source->d->queuedUserInputEvents.append(event); -+ if (source->d) -+ source->d->queuedUserInputEvents.append(event); - continue; - - case ClientMessage: -@@ -127,7 +128,8 @@ - break; - } - } -- source->d->queuedUserInputEvents.append(event); -+ if (source->d) -+ source->d->queuedUserInputEvents.append(event); - continue; - - default: -@@ -140,7 +142,7 @@ - } - - // send through event filter -- if (source->q->filterEvent(&event)) -+ if (source->q && source->q->filterEvent(&event)) - continue; - - if (qApp->x11ProcessEvent(&event) == 1) -@@ -152,7 +154,8 @@ - - out: - -- source->d->runTimersOnceWithNormalPriority(); -+ if (source->d) -+ source->d->runTimersOnceWithNormalPriority(); - - if (callback) - callback(user_data); diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch deleted file mode 100644 index 4279ce2e..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h ---- qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 2011-10-03 22:44:32.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h 2011-10-15 14:25:52.238694974 -0500 -@@ -769,26 +769,18 @@ Q_OUTOFLINE_TEMPLATE void QList<T>::clea - template <typename T> - Q_OUTOFLINE_TEMPLATE int QList<T>::removeAll(const T &_t) - { -- int index = indexOf(_t); -- if (index == -1) -- return 0; -- -+ detachShared(); - const T t = _t; -- detach(); -- -- Node *i = reinterpret_cast<Node *>(p.at(index)); -- Node *e = reinterpret_cast<Node *>(p.end()); -- Node *n = i; -- node_destruct(i); -- while (++i != e) { -- if (i->t() == t) -- node_destruct(i); -- else -- *n++ = *i; -- } -- -- int removedCount = e - n; -- d->end -= removedCount; -+ int removedCount=0, i=0; -+ Node *n; -+ while (i < p.size()) -+ if ((n = reinterpret_cast<Node *>(p.at(i)))->t() == t) { -+ node_destruct(n); -+ p.remove(i); -+ ++removedCount; -+ } else { -+ ++i; -+ } - return removedCount; - } - diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch deleted file mode 100644 index 6fedcc81..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h.s390-atomic qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h ---- qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h.s390-atomic 2011-12-18 16:15:20.000000000 +0100 -+++ qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h 2011-12-18 16:17:34.000000000 +0100 -@@ -400,6 +400,16 @@ Q_INLINE_TEMPLATE T* QBasicAtomicPointer - - - template <typename T> -+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd) -+{ -+#ifndef __s390x__ -+ return (T *)__CS_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "ar", "", "bcr 15,0\n"); -+#else -+ return (T *)__CSG_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "agr", "", "bcr 15,0\n"); -+#endif -+} -+ -+template <typename T> - Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd) - { - return fetchAndAddOrdered(valueToAdd); diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch deleted file mode 100644 index 5c8b5a1d..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf ---- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf 2011-05-25 13:39:38.789054074 +0200 -@@ -12,6 +12,8 @@ QMAKE_INCREMENTAL_STYLE = sublib - QMAKE_CFLAGS = -m32 - QMAKE_LFLAGS = -m32 - -+QMAKE_CFLAGS_RELEASE += -O2 -+ - include(../common/linux.conf) - include(../common/gcc-base-unix.conf) - include(../common/g++-unix.conf) -diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf ---- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf 2011-05-25 13:39:47.460747770 +0200 -@@ -15,6 +15,8 @@ QMAKE_INCREMENTAL_STYLE = sublib - QMAKE_CFLAGS = -m64 - QMAKE_LFLAGS = -m64 - -+QMAKE_CFLAGS_RELEASE += -O2 -+ - include(../common/linux.conf) - include(../common/gcc-base-unix.conf) - include(../common/g++-unix.conf) -diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf ---- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf 2011-05-25 13:39:26.630088814 +0200 -@@ -9,6 +9,8 @@ CONFIG += qt warn_on release increment - QT += core gui - QMAKE_INCREMENTAL_STYLE = sublib - -+QMAKE_CFLAGS_RELEASE += -O2 -+ - include(../common/linux.conf) - include(../common/gcc-base-unix.conf) - include(../common/g++-unix.conf) diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch deleted file mode 100644 index 947f7582..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp.qtreeview-kpackagekit-crash qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp ---- qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp.qtreeview-kpackagekit-crash 2011-05-23 12:26:21.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp 2011-05-25 13:24:33.137315194 +0200 -@@ -3215,7 +3215,7 @@ int QTreeViewPrivate::itemHeight(int ite - return defaultItemHeight; - if (viewItems.isEmpty()) - return 0; -- const QModelIndex &index = viewItems.at(item).index; -+ QModelIndex index = viewItems.at(item).index; - if (!index.isValid()) - return 0; - int height = viewItems.at(item).height; diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch deleted file mode 100644 index e84446ce..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp.linguist_qtmake-qt4 qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp ---- qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp.linguist_qtmake-qt4 2012-04-26 21:45:50.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp 2012-05-29 12:17:03.416561535 +0200 -@@ -314,9 +314,9 @@ int main(int argc, char **argv) - parseHandler.verbose = evalHandler.verbose = cd.isVerbose(); - ProFileOption option; - #ifdef QT_BOOTSTRAPPED -- option.initProperties(binDir + QLatin1String("/qmake")); -+ option.initProperties(binDir + QLatin1String("/qmake-qt4")); - #else -- option.initProperties(app.applicationDirPath() + QLatin1String("/qmake")); -+ option.initProperties(app.applicationDirPath() + QLatin1String("/qmake-qt4")); - #endif - ProFileParser parser(0, &parseHandler); - ProFileEvaluator visitor(&option, &parser, &evalHandler); -diff -up qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp.linguist_qtmake-qt4 qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp ---- qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp.linguist_qtmake-qt4 2012-04-26 21:45:50.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp 2012-05-29 11:46:48.811134546 +0200 -@@ -765,7 +765,7 @@ int main(int argc, char **argv) - - parseHandler.verbose = evalHandler.verbose = !!(options & Verbose); - ProFileOption option; -- option.initProperties(app.applicationDirPath() + QLatin1String("/qmake")); -+ option.initProperties(app.applicationDirPath() + QLatin1String("/qmake-qt4")); - option.setCommandLineArguments(QStringList() << QLatin1String("CONFIG+=lupdate_run")); - ProFileParser parser(0, &parseHandler); - diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch deleted file mode 100644 index 74583146..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro.debuginfo qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro ---- qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro.debuginfo 2012-03-14 09:01:17.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro 2012-05-11 11:55:37.780070386 -0500 -@@ -34,6 +34,3 @@ MOCDIR = .moc - - *-g++*: QMAKE_CXXFLAGS += -fno-strict-aliasing - --CONFIG -= separate_debug_info --CONFIG += no_debug_info -- diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.2--assistant-crash.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.2--assistant-crash.patch deleted file mode 100644 index f0a41a42..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.2--assistant-crash.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp.me qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp ---- qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp.me 2012-06-19 12:52:22.740180410 +0200 -+++ qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp 2012-06-19 12:52:51.953194103 +0200 -@@ -944,8 +944,7 @@ void MainWindow::updateApplicationFont() - if (helpEngine.usesAppFont()) - font = helpEngine.appFont(); - -- const QWidgetList &widgets = qApp->allWidgets(); -- foreach (QWidget* widget, widgets) -+ foreach (QWidget* widget, QApplication::allWidgets()) - widget->setFont(font); - } - diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch deleted file mode 100644 index 9c53f3c2..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp.icu_no_debug qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp ---- qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp.icu_no_debug 2012-09-06 02:33:45.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp 2012-09-11 09:04:21.542379795 -0500 -@@ -84,7 +84,9 @@ bool qt_initIcu(const QString &localeStr - QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT)); - lib.setLoadHints(QLibrary::ImprovedSearchHeuristics); - if (!lib.load()) { -+#ifndef QT_NO_DEBUG - qWarning() << "Unable to load library icui18n" << lib.errorString(); -+#endif - status = ErrorLoading; - return false; - } -@@ -114,7 +116,9 @@ bool qt_initIcu(const QString &localeStr - QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT)); - ucLib.setLoadHints(QLibrary::ImprovedSearchHeuristics); - if (!ucLib.load()) { -+#ifndef QT_NO_DEBUG - qWarning() << "Unable to load library icuuc" << ucLib.errorString(); -+#endif - status = ErrorLoading; - return false; - } diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-no_Werror.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-no_Werror.patch deleted file mode 100644 index 86dcc288..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-no_Werror.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri.no_Werror qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri ---- qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri.no_Werror 2012-09-06 02:33:50.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri 2012-09-11 09:03:19.152159783 -0500 -@@ -102,7 +102,7 @@ CONFIG -= warn_on - - # Treat warnings as errors on x86/Linux/GCC - linux-g++* { -- !CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror -+ #!CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror - - greaterThan(QT_GCC_MAJOR_VERSION, 3):greaterThan(QT_GCC_MINOR_VERSION, 5) { - if (!contains(QMAKE_CXXFLAGS, -std=c++0x) && !contains(QMAKE_CXXFLAGS, -std=gnu++0x)) { diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-qdbusconnection_no_debug.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-qdbusconnection_no_debug.patch deleted file mode 100644 index dd3a5a02..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-qdbusconnection_no_debug.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp.qdbusconnection_no_debug.patch qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp ---- qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp.qdbusconnection_no_debug.patch 2012-09-06 02:33:44.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp 2012-09-11 08:55:29.854026815 -0500 -@@ -1109,8 +1109,10 @@ public: - // make sure this connection is running on the main thread - QCoreApplication *instance = QCoreApplication::instance(); - if (!instance) { -+#ifndef QT_NO_DEBUG - qWarning("QDBusConnection: %s D-Bus connection created before QCoreApplication. Application may misbehave.", - type == SessionBus ? "session" : type == SystemBus ? "system" : "generic"); -+#endif - } else if (QDBusConnectionPrivate::d(*this)) { - QDBusConnectionPrivate::d(*this)->moveToThread(instance->thread()); - } diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch deleted file mode 100644 index 0494c81f..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp.qmake_pkgconfig_requires_private qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp ---- qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp.qmake_pkgconfig_requires_private 2012-11-23 04:11:21.000000000 -0600 -+++ qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp 2013-02-11 07:36:36.192779528 -0600 -@@ -3293,6 +3293,12 @@ MakefileGenerator::writePkgConfigFile() - t << "Requires: " << requires << endl; - } - -+ // requires.private -+ const QString requires_private = project->values("QMAKE_PKGCONFIG_REQUIRES_PRIVATE").join(" "); -+ if (!requires_private.isEmpty()) { -+ t << "Requires.private: " << requires_private << endl; -+ } -+ - t << endl; - } - diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch deleted file mode 100644 index 81d74ff4..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf.QTBUG-14467 qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf ---- qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf.QTBUG-14467 2013-05-30 16:19:17.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf 2013-06-09 11:53:45.709773603 -0500 -@@ -72,7 +72,7 @@ defineTest(qtAddLibrary) { - } - isEmpty(LINKAGE) { - if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { -- win32:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}d -+ win32:LINKAGE = -l$${LIB_NAME}d$${QT_LIBINFIX} - mac:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}_debug - } - isEmpty(LINKAGE):LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX} -diff -up qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf.QTBUG-14467 qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf ---- qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf.QTBUG-14467 2013-05-30 16:19:17.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf 2013-06-09 11:53:45.710773593 -0500 -@@ -6,7 +6,7 @@ contains(TEMPLATE, ".*app"){ - - qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) { - isEqual(entryLib, -lqtmain): { -- CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d -+ CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}d$${QT_LIBINFIX} - else: QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX} - } else { - QMAKE_LIBS += $${entryLib} diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch deleted file mode 100644 index 018872f6..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch +++ /dev/null @@ -1,84 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp.QTBUG-21900 qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp ---- qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp.QTBUG-21900 2013-05-30 16:18:05.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp 2013-06-09 11:53:45.891771748 -0500 -@@ -818,6 +818,27 @@ static Bool qt_sync_request_scanner(Disp - #endif - #endif // QT_NO_XSYNC - -+struct qt_configure_event_data -+{ -+ WId window; -+ WId parent; -+}; -+ -+static Bool qt_configure_event_scanner(Display*, XEvent *event, XPointer arg) -+{ -+ qt_configure_event_data *data = -+ reinterpret_cast<qt_configure_event_data*>(arg); -+ if (event->type == ConfigureNotify && -+ event->xconfigure.window == data->window) { -+ return true; -+ } else if (event->type == ReparentNotify && -+ event->xreparent.window == data->window) { -+ data->parent = event->xreparent.parent; -+ } -+ -+ return false; -+} -+ - static void qt_x11_create_intern_atoms() - { - const char *names[QX11Data::NAtoms]; -@@ -5302,8 +5323,11 @@ bool QETWidget::translateConfigEvent(con - if (d->extra->compress_events) { - // ConfigureNotify compression for faster opaque resizing - XEvent otherEvent; -- while (XCheckTypedWindowEvent(X11->display, internalWinId(), ConfigureNotify, -- &otherEvent)) { -+ qt_configure_event_data configureData; -+ configureData.window = internalWinId(); -+ configureData.parent = d->topData()->parentWinId; -+ while (XCheckIfEvent(X11->display, &otherEvent, -+ &qt_configure_event_scanner, (XPointer)&configureData)) { - if (qt_x11EventFilter(&otherEvent)) - continue; - -@@ -5316,13 +5340,19 @@ bool QETWidget::translateConfigEvent(con - newSize.setWidth(otherEvent.xconfigure.width); - newSize.setHeight(otherEvent.xconfigure.height); - -+ trust = isVisible() -+ && (configureData.parent == XNone || -+ configureData.parent == QX11Info::appRootWindow()); -+ - if (otherEvent.xconfigure.send_event || trust) { - newCPos.rx() = otherEvent.xconfigure.x + - otherEvent.xconfigure.border_width; - newCPos.ry() = otherEvent.xconfigure.y + - otherEvent.xconfigure.border_width; - isCPos = true; -- } -+ } else { -+ isCPos = false; -+ } - } - #ifndef QT_NO_XSYNC - qt_sync_request_event_data sync_event; -@@ -5335,9 +5365,14 @@ bool QETWidget::translateConfigEvent(con - } - - if (!isCPos) { -- // we didn't get an updated position of the toplevel. -- // either we haven't moved or there is a bug in the window manager. -- // anyway, let's query the position to be certain. -+ // If the last configure event didn't have a trustable position, -+ // it's necessary to query, see ICCCM 4.24: -+ // -+ // Any real ConfigureNotify event on a top-level window implies -+ // that the window’s position on the root may have changed, even -+ // though the event reports that the window’s position in its -+ // parent is unchanged because the window may have been reparented. -+ - int x, y; - Window child; - XTranslateCoordinates(X11->display, internalWinId(), diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch deleted file mode 100644 index 5ca91145..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur qt-everywhere-opensource-src-4.8.5-CVE-2013-4549/src/xml/sax/qxml.cpp qt-everywhere-opensource-src-4.8.5-QTBUG-35459/src/xml/sax/qxml.cpp ---- qt-everywhere-opensource-src-4.8.5-CVE-2013-4549/src/xml/sax/qxml.cpp 2013-12-05 19:23:33.000000000 +0100 -+++ qt-everywhere-opensource-src-4.8.5-QTBUG-35459/src/xml/sax/qxml.cpp 2014-01-13 20:13:59.000000000 +0100 -@@ -428,7 +428,7 @@ - // for the DTD currently being parsed. - static const int dtdRecursionLimit = 2; - // The maximum amount of characters an entity value may contain, after expansion. -- static const int entityCharacterLimit = 1024; -+ static const int entityCharacterLimit = 4096; - - const QString &string(); - void stringClear(); diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch deleted file mode 100644 index ee1d1913..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp.QTBUG-4862 qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp ---- qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp.QTBUG-4862 2013-06-09 12:02:50.323221694 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp 2013-06-09 12:38:53.140804742 -0500 -@@ -624,6 +624,25 @@ QString QFileSystemEngine::homePath() - { - QString home = QFile::decodeName(qgetenv("HOME")); - if (home.isEmpty()) -+ { -+#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) -+ int size_max = sysconf(_SC_GETPW_R_SIZE_MAX); -+ if (size_max == -1) -+ size_max = 1024; -+ QVarLengthArray<char, 1024> buf(size_max); -+#endif -+ struct passwd *pw = 0; -+ uid_t user_id = getuid(); -+ pw = getpwuid(user_id); -+#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) -+ struct passwd entry; -+ getpwuid_r(user_id, &entry, buf.data(), buf.size(), &pw); -+#else -+ pw = getpwuid(user_id); -+#endif -+ home = QFile::decodeName(QByteArray(pw->pw_dir)); -+ } -+ if (home.isEmpty()) - home = rootPath(); - return QDir::cleanPath(home); - } diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-mysql_config.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-mysql_config.patch deleted file mode 100644 index fc0ee767..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-mysql_config.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/configure.mysql_config qt-everywhere-opensource-src-4.8.5/configure ---- qt-everywhere-opensource-src-4.8.5/configure.mysql_config 2013-06-07 00:16:41.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/configure 2014-03-07 10:09:27.412071146 -0600 -@@ -5480,8 +5480,15 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do - [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config` - if [ -x "$CFG_MYSQL_CONFIG" ]; then - QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null` -+ $CFG_MYSQL_CONFIG --variable=pkglibdir &>/dev/null && \ -+ QT_MYSQL_PKGLIBDIR=`$CFG_MYSQL_CONFIG --variable=pkglibdir 2>/dev/null` -+ if [ -n "$QT_MYSQL_PKGLIBDIR" ]; then -+ QT_LFLAGS_MYSQL_R="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient_r" -+ QT_LFLAGS_MYSQL="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient" -+ else - QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null` - QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null` -+ fi - QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null` - QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1` - fi diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch deleted file mode 100644 index 9a9f7735..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp.qgtkstyle_disable_gtk_theme_check qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp ---- qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp.qgtkstyle_disable_gtk_theme_check 2013-06-09 16:28:22.938840346 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp 2013-06-09 17:03:01.781125479 -0500 -@@ -503,18 +503,6 @@ void QGtkStylePrivate::initGtkWidgets() - return; - } - -- static QString themeName; -- if (!gtkWidgetMap()->contains("GtkWindow") && themeName.isEmpty()) { -- themeName = getThemeName(); -- -- if (themeName == QLS("Qt") || themeName == QLS("Qt4")) { -- // Due to namespace conflicts with Qt3 and obvious recursion with Qt4, -- // we cannot support the GTK_Qt Gtk engine -- qWarning("QGtkStyle cannot be used together with the GTK_Qt engine."); -- return; -- } -- } -- - if (QGtkStylePrivate::gtk_init) { - // Gtk will set the Qt error handler so we have to reset it afterwards - x11ErrorHandler qt_x_errhandler = XSetErrorHandler(0); diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch deleted file mode 100644 index 6a87783e..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp.qt_plugin_path qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp ---- qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp.qt_plugin_path 2013-06-07 00:16:52.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp 2013-06-21 07:14:10.045039936 -0500 -@@ -2511,6 +2511,15 @@ QStringList QCoreApplication::libraryPat - if (!app_libpaths->contains(installPathPlugins)) - app_libpaths->append(installPathPlugins); - } -+ -+ // hack in support for kde4 plugin paths -- Rex -+ QString kde4PathPlugins = QLibraryInfo::location(QLibraryInfo::LibrariesPath) + QLatin1String("/kde4/plugins"); -+ if (QFile::exists(kde4PathPlugins)) { -+ // Make sure we convert from backslashes to slashes. -+ //kde4PathPlugins = QDir(kde4PathPlugins).canonicalPath(); -+ if (!app_libpaths->contains(kde4PathPlugins)) -+ app_libpaths->append(kde4PathPlugins); -+ } - #endif - - // If QCoreApplication is not yet instantiated, diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch deleted file mode 100644 index 2deeb51b..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri.tds_no_strict_aliasing qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri ---- qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri.tds_no_strict_aliasing 2013-06-09 11:57:49.198291245 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri 2013-06-09 12:01:24.120100371 -0500 -@@ -1,6 +1,8 @@ - HEADERS += $$PWD/qsql_tds.h - SOURCES += $$PWD/qsql_tds.cpp - -+*-g++*: QMAKE_CXXFLAGS += -fno-strict-aliasing -+ - unix|win32-g++*: { - LIBS += $$QT_LFLAGS_TDS - !contains(LIBS, .*sybdb.*):LIBS += -lsybdb diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch deleted file mode 100644 index d04d1be5..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/src/tools/moc/moc.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/moc/moc.cpp -diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp ---- qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp.uic_multilib 2013-05-30 16:18:04.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp 2013-06-09 11:50:25.597813974 -0500 -@@ -152,8 +152,7 @@ void Ui3Reader::embed(const char *projec - for ( it = images.begin(); it != images.end(); ++it ) - out << "** " << *it << "\n"; - out << "**\n"; -- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n"; -- out << "** by: The User Interface Compiler for Qt version " << QT_VERSION_STR << "\n"; -+ out << "** Created: by: The User Interface Compiler for Qt version " << QT_VERSION_STR << "\n"; - out << "**\n"; - out << "** WARNING! All changes made in this file will be lost!\n"; - out << "****************************************************************************/\n"; -diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp ---- qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp.uic_multilib 2013-05-30 16:18:04.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp 2013-06-09 11:51:28.310174526 -0500 -@@ -146,8 +146,7 @@ void Uic::writeCopyrightHeader(DomUI *ui - out << "/********************************************************************************\n"; - out << "** Form generated from reading UI file '" << QFileInfo(opt.inputFile).fileName() << "'\n"; - out << "**\n"; -- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n"; -- out << "** " << QString::fromLatin1("by: Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR)); -+ out << "** Created by: " << QString::fromLatin1("Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR)); - out << "**\n"; - out << "** WARNING! All changes made in this file will be lost when recompiling UI file!\n"; - out << "********************************************************************************/\n\n"; -diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic/uic.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic/uic.cpp diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch deleted file mode 100644 index 1ea8af2b..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri.webkit_debuginfo qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri ---- qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri.webkit_debuginfo 2013-06-07 00:16:55.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri 2013-07-11 14:04:19.937056249 -0500 -@@ -5,6 +5,12 @@ include(features.pri) - - # Uncomment this to enable Texture Mapper. - # CONFIG += texmap -+# -+equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64)|equals(QT_ARCH, powerpc64)|equals(QT_ARCH, powerpc) { -+ message("WebCore workaround for QtWebkit: do not build with -g, but with -g1") -+ QMAKE_CXXFLAGS_RELEASE -= -g -+ QMAKE_CXXFLAGS_RELEASE += -g1 -+} - - QT *= network - diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch deleted file mode 100644 index b6f5525d..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp.QTBUG-22829 qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp ---- qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp.QTBUG-22829 2015-05-07 09:14:44.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp 2016-12-08 12:32:46.638962448 -0600 -@@ -188,8 +188,12 @@ int runMoc(int _argc, char **_argv) - pp.macros["Q_MOC_RUN"]; - pp.macros["__cplusplus"]; - -- // Workaround a bug while parsing the boost/type_traits/has_operator.hpp header. See QTBUG-22829 -+ // Workaround a bugs while parsing some boost headers. See QTBUG-22829 - pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"]; -+ pp.macros["BOOST_LEXICAL_CAST_INCLUDED"]; -+ pp.macros["BOOST_NEXT_PRIOR_HPP_INCLUDED"]; -+ pp.macros["BOOST_TYPE_TRAITS_HPP"]; -+ pp.macros["_SYS_SYSMACROS_H_OUTER"]; - - QByteArray filename; - QByteArray output; diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch deleted file mode 100644 index 6d3bf2f2..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch +++ /dev/null @@ -1,94 +0,0 @@ ---- src/corelib/kernel/qeventdispatcher_glib.cpp.sav 2014-03-28 15:26:37.000000000 +0100 -+++ src/corelib/kernel/qeventdispatcher_glib.cpp 2014-04-24 09:44:09.358659204 +0200 -@@ -255,22 +255,30 @@ struct GPostEventSource - GSource source; - QAtomicInt serialNumber; - int lastSerialNumber; -+ QEventLoop::ProcessEventsFlags processEventsFlags; - QEventDispatcherGlibPrivate *d; - }; - - static gboolean postEventSourcePrepare(GSource *s, gint *timeout) - { -+ GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s); - QThreadData *data = QThreadData::current(); - if (!data) - return false; - -+ QEventLoop::ProcessEventsFlags excludeAllFlags -+ = QEventLoop::ExcludeUserInputEvents -+ | QEventLoop::ExcludeSocketNotifiers -+ | QEventLoop::X11ExcludeTimers; -+ if ((source->processEventsFlags & excludeAllFlags) == excludeAllFlags) -+ return false; -+ - gint dummy; - if (!timeout) - timeout = &dummy; - const bool canWait = data->canWaitLocked(); - *timeout = canWait ? -1 : 0; - -- GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s); - return (!canWait - || (source->serialNumber != source->lastSerialNumber)); - } -@@ -284,8 +292,14 @@ static gboolean postEventSourceDispatch( - { - GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s); - source->lastSerialNumber = source->serialNumber; -- QCoreApplication::sendPostedEvents(); -- source->d->runTimersOnceWithNormalPriority(); -+ QEventLoop::ProcessEventsFlags excludeAllFlags -+ = QEventLoop::ExcludeUserInputEvents -+ | QEventLoop::ExcludeSocketNotifiers -+ | QEventLoop::X11ExcludeTimers; -+ if ((source->processEventsFlags & excludeAllFlags) != excludeAllFlags) { -+ QCoreApplication::sendPostedEvents(); -+ source->d->runTimersOnceWithNormalPriority(); -+ } - return true; // i dunno, george... - } - -@@ -329,6 +343,7 @@ QEventDispatcherGlibPrivate::QEventDispa - postEventSource = reinterpret_cast<GPostEventSource *>(g_source_new(&postEventSourceFuncs, - sizeof(GPostEventSource))); - postEventSource->serialNumber = 1; -+ postEventSource->processEventsFlags = QEventLoop::AllEvents; - postEventSource->d = this; - g_source_set_can_recurse(&postEventSource->source, true); - g_source_attach(&postEventSource->source, mainContext); -@@ -423,6 +438,7 @@ bool QEventDispatcherGlib::processEvents - - // tell postEventSourcePrepare() and timerSource about any new flags - QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags; -+ d->postEventSource->processEventsFlags = flags; - d->timerSource->processEventsFlags = flags; - d->socketNotifierSource->processEventsFlags = flags; - -@@ -435,6 +451,7 @@ bool QEventDispatcherGlib::processEvents - while (!result && canWait) - result = g_main_context_iteration(d->mainContext, canWait); - -+ d->postEventSource->processEventsFlags = savedFlags; - d->timerSource->processEventsFlags = savedFlags; - d->socketNotifierSource->processEventsFlags = savedFlags; - ---- src/corelib/kernel/qeventdispatcher_unix.cpp.sav 2013-06-07 07:16:52.000000000 +0200 -+++ src/corelib/kernel/qeventdispatcher_unix.cpp 2014-04-24 09:43:06.927589535 +0200 -@@ -905,7 +905,15 @@ bool QEventDispatcherUNIX::processEvents - - // we are awake, broadcast it - emit awake(); -- QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData); -+ -+ QEventLoop::ProcessEventsFlags excludeAllFlags -+ = QEventLoop::ExcludeUserInputEvents -+ | QEventLoop::ExcludeSocketNotifiers -+ | QEventLoop::X11ExcludeTimers; -+ if ((flags & excludeAllFlags) == excludeAllFlags) -+ return false; -+ if(( flags & excludeAllFlags ) != excludeAllFlags ) -+ QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData); - - int nevents = 0; - const bool canWait = (d->threadData->canWaitLocked() diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch deleted file mode 100644 index 6949bbfe..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch +++ /dev/null @@ -1,63 +0,0 @@ -Author: Jan-Marek Glogowski <glogow@fbihome.de> -Date: Thu Mar 06 18:44:43 2014 +0100 - - Honor QEventLoop::ExcludeSocketNotifiers in glib event loop. - - Implements QEventLoop::ExcludeSocketNotifiers in the same way - QEventLoop::X11ExcludeTimers is already implemented for the glib - event loop. - ---- qt4-x11-4.8.1.orig/src/corelib/kernel/qeventdispatcher_glib.cpp -+++ qt4-x11-4.8.1/src/corelib/kernel/qeventdispatcher_glib.cpp -@@ -65,6 +65,7 @@ struct GPollFDWithQSocketNotifier - struct GSocketNotifierSource - { - GSource source; -+ QEventLoop::ProcessEventsFlags processEventsFlags; - QList<GPollFDWithQSocketNotifier *> pollfds; - }; - -@@ -80,6 +81,9 @@ static gboolean socketNotifierSourceChec - GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source); - - bool pending = false; -+ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers) -+ return pending; -+ - for (int i = 0; !pending && i < src->pollfds.count(); ++i) { - GPollFDWithQSocketNotifier *p = src->pollfds.at(i); - -@@ -103,6 +107,9 @@ static gboolean socketNotifierSourceDisp - QEvent event(QEvent::SockAct); - - GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source); -+ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers) -+ return true; -+ - for (int i = 0; i < src->pollfds.count(); ++i) { - GPollFDWithQSocketNotifier *p = src->pollfds.at(i); - -@@ -330,6 +337,7 @@ QEventDispatcherGlibPrivate::QEventDispa - reinterpret_cast<GSocketNotifierSource *>(g_source_new(&socketNotifierSourceFuncs, - sizeof(GSocketNotifierSource))); - (void) new (&socketNotifierSource->pollfds) QList<GPollFDWithQSocketNotifier *>(); -+ socketNotifierSource->processEventsFlags = QEventLoop::AllEvents; - g_source_set_can_recurse(&socketNotifierSource->source, true); - g_source_attach(&socketNotifierSource->source, mainContext); - -@@ -415,6 +423,7 @@ bool QEventDispatcherGlib::processEvents - // tell postEventSourcePrepare() and timerSource about any new flags - QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags; - d->timerSource->processEventsFlags = flags; -+ d->socketNotifierSource->processEventsFlags = flags; - - if (!(flags & QEventLoop::EventLoopExec)) { - // force timers to be sent at normal priority -@@ -426,6 +435,7 @@ bool QEventDispatcherGlib::processEvents - result = g_main_context_iteration(d->mainContext, canWait); - - d->timerSource->processEventsFlags = savedFlags; -+ d->socketNotifierSource->processEventsFlags = savedFlags; - - if (canWait) - emit awake(); diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch deleted file mode 100644 index 22643e8d..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- src/gui/kernel/qclipboard_x11.cpp.sav 2014-04-25 09:52:03.855693228 +0200 -+++ src/gui/kernel/qclipboard_x11.cpp 2014-04-25 09:51:58.038693777 +0200 -@@ -548,7 +548,8 @@ bool QX11Data::clipboardWaitForEvent(Win - return false; - - XSync(X11->display, false); -- usleep(50000); -+ if (!XPending(X11->display)) -+ usleep(5000); - - now.start(); - diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-s390.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-s390.patch deleted file mode 100644 index 5098c082..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-s390.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h.s390 qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h ---- qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h.s390 2014-03-30 15:36:49.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h 2014-03-31 17:59:16.846465899 -0500 -@@ -189,6 +189,18 @@ - #define WTF_CPU_SPARC 1 - #endif - -+/* CPU(S390X) - S390 64-bit */ -+#if defined(__s390x__) -+#define WTF_CPU_S390X 1 -+#define WTF_CPU_BIG_ENDIAN 1 -+#endif -+ -+/* CPU(S390) - S390 32-bit */ -+#if defined(__s390__) -+#define WTF_CPU_S390 1 -+#define WTF_CPU_BIG_ENDIAN 1 -+#endif -+ - /* CPU(X86) - i386 / x86 32-bit */ - #if defined(__i386__) \ - || defined(i386) \ -@@ -903,7 +915,7 @@ - #endif - - #if !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32) && !defined(WTF_USE_JSVALUE32_64) --#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || CPU(AARCH64) -+#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || CPU(AARCH64) || CPU(S390X) - #define WTF_USE_JSVALUE64 1 - #elif CPU(ARM) || CPU(PPC64) - #define WTF_USE_JSVALUE32 1 diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-system-clucene.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-system-clucene.patch deleted file mode 100644 index 63a74629..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-system-clucene.patch +++ /dev/null @@ -1,351 +0,0 @@ -diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/fulltextsearch.pri qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/fulltextsearch.pri ---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/fulltextsearch.pri 2014-04-10 20:37:12.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/fulltextsearch.pri 2014-10-26 03:33:45.000000000 +0100 -@@ -1,125 +1,7 @@ --DEFINES += _BUILD_FOR_QT_ LUCENE_DISABLE_MEMTRACKING --win32:DEFINES += _CRT_SECURE_NO_DEPRECATE _MT -- --CLUCENEDIR = ../../../../src/3rdparty/clucene/src/CLucene -- --INCLUDEPATH += . .. \ -- $$CLUCENEDIR \ -- $$CLUCENEDIR/../ \ -- $$CLUCENEDIR/analysis \ -- $$CLUCENEDIR/analysis/standard \ -- $$CLUCENEDIR/config \ -- $$CLUCENEDIR/debug \ -- $$CLUCENEDIR/document \ -- $$CLUCENEDIR/index \ -- $$CLUCENEDIR/queryParser \ -- $$CLUCENEDIR/search \ -- $$CLUCENEDIR/store \ -- $$CLUCENEDIR/util -- -- --SOURCES += $$CLUCENEDIR/StdHeader.cpp \ -- $$CLUCENEDIR/analysis/AnalysisHeader.cpp \ -- $$CLUCENEDIR/analysis/Analyzers.cpp \ -- $$CLUCENEDIR/config/gunichartables.cpp \ -- $$CLUCENEDIR/config/repl_lltot.cpp \ -- $$CLUCENEDIR/config/repl_tcscasecmp.cpp \ -- $$CLUCENEDIR/config/repl_tcslwr.cpp \ -- $$CLUCENEDIR/config/repl_tcstod.cpp \ -- $$CLUCENEDIR/config/repl_tcstoll.cpp \ -- $$CLUCENEDIR/config/repl_tprintf.cpp \ -- $$CLUCENEDIR/config/threads.cpp \ -- $$CLUCENEDIR/config/utf8.cpp \ -- $$CLUCENEDIR/debug/condition.cpp \ -- $$CLUCENEDIR/debug/error.cpp \ -- $$CLUCENEDIR/debug/memtracking.cpp \ -- $$CLUCENEDIR/document/DateField.cpp \ -- $$CLUCENEDIR/document/Document.cpp \ -- $$CLUCENEDIR/document/Field.cpp \ -- $$CLUCENEDIR/index/CompoundFile.cpp \ -- $$CLUCENEDIR/index/DocumentWriter.cpp \ -- $$CLUCENEDIR/index/FieldInfos.cpp \ -- $$CLUCENEDIR/index/FieldsReader.cpp \ -- $$CLUCENEDIR/index/FieldsWriter.cpp \ -- $$CLUCENEDIR/index/IndexModifier.cpp \ -- $$CLUCENEDIR/index/IndexReader.cpp \ -- $$CLUCENEDIR/index/IndexWriter.cpp \ -- $$CLUCENEDIR/index/MultiReader.cpp \ -- $$CLUCENEDIR/index/SegmentInfos.cpp \ -- $$CLUCENEDIR/index/SegmentMergeInfo.cpp \ -- $$CLUCENEDIR/index/SegmentMergeQueue.cpp \ -- $$CLUCENEDIR/index/SegmentMerger.cpp \ -- $$CLUCENEDIR/index/SegmentReader.cpp \ -- $$CLUCENEDIR/index/SegmentTermDocs.cpp \ -- $$CLUCENEDIR/index/SegmentTermEnum.cpp \ -- $$CLUCENEDIR/index/SegmentTermPositions.cpp \ -- $$CLUCENEDIR/index/SegmentTermVector.cpp \ -- $$CLUCENEDIR/index/Term.cpp \ -- $$CLUCENEDIR/index/TermInfo.cpp \ -- $$CLUCENEDIR/index/TermInfosReader.cpp \ -- $$CLUCENEDIR/index/TermInfosWriter.cpp \ -- $$CLUCENEDIR/index/TermVectorReader.cpp \ -- $$CLUCENEDIR/index/TermVectorWriter.cpp \ -- $$CLUCENEDIR/queryParser/Lexer.cpp \ -- $$CLUCENEDIR/queryParser/MultiFieldQueryParser.cpp \ -- $$CLUCENEDIR/queryParser/QueryParser.cpp \ -- $$CLUCENEDIR/queryParser/QueryParserBase.cpp \ -- $$CLUCENEDIR/queryParser/QueryToken.cpp \ -- $$CLUCENEDIR/queryParser/TokenList.cpp \ -- $$CLUCENEDIR/search/BooleanQuery.cpp \ -- $$CLUCENEDIR/search/BooleanScorer.cpp \ -- $$CLUCENEDIR/search/CachingWrapperFilter.cpp \ -- $$CLUCENEDIR/search/ChainedFilter.cpp \ -- $$CLUCENEDIR/search/ConjunctionScorer.cpp \ -- $$CLUCENEDIR/search/DateFilter.cpp \ -- $$CLUCENEDIR/search/ExactPhraseScorer.cpp \ -- $$CLUCENEDIR/search/Explanation.cpp \ -- $$CLUCENEDIR/search/FieldCache.cpp \ -- $$CLUCENEDIR/search/FieldCacheImpl.cpp \ -- $$CLUCENEDIR/search/FieldDocSortedHitQueue.cpp \ -- $$CLUCENEDIR/search/FieldSortedHitQueue.cpp \ -- $$CLUCENEDIR/search/FilteredTermEnum.cpp \ -- $$CLUCENEDIR/search/FuzzyQuery.cpp \ -- $$CLUCENEDIR/search/HitQueue.cpp \ -- $$CLUCENEDIR/search/Hits.cpp \ -- $$CLUCENEDIR/search/IndexSearcher.cpp \ -- $$CLUCENEDIR/search/MultiSearcher.cpp \ -- $$CLUCENEDIR/search/MultiTermQuery.cpp \ -- $$CLUCENEDIR/search/PhrasePositions.cpp \ -- $$CLUCENEDIR/search/PhraseQuery.cpp \ -- $$CLUCENEDIR/search/PhraseScorer.cpp \ -- $$CLUCENEDIR/search/PrefixQuery.cpp \ -- $$CLUCENEDIR/search/QueryFilter.cpp \ -- $$CLUCENEDIR/search/RangeFilter.cpp \ -- $$CLUCENEDIR/search/RangeQuery.cpp \ -- $$CLUCENEDIR/search/SearchHeader.cpp \ -- $$CLUCENEDIR/search/Similarity.cpp \ -- $$CLUCENEDIR/search/SloppyPhraseScorer.cpp \ -- $$CLUCENEDIR/search/Sort.cpp \ -- $$CLUCENEDIR/search/TermQuery.cpp \ -- $$CLUCENEDIR/search/TermScorer.cpp \ -- $$CLUCENEDIR/search/WildcardQuery.cpp \ -- $$CLUCENEDIR/search/WildcardTermEnum.cpp \ -- $$CLUCENEDIR/store/FSDirectory.cpp \ -- $$CLUCENEDIR/store/IndexInput.cpp \ -- $$CLUCENEDIR/store/IndexOutput.cpp \ -- $$CLUCENEDIR/store/Lock.cpp \ -- $$CLUCENEDIR/store/MMapInput.cpp \ -- $$CLUCENEDIR/store/RAMDirectory.cpp \ -- $$CLUCENEDIR/store/TransactionalRAMDirectory.cpp \ -- $$CLUCENEDIR/util/BitSet.cpp \ -- $$CLUCENEDIR/util/Equators.cpp \ -- $$CLUCENEDIR/util/FastCharStream.cpp \ -- $$CLUCENEDIR/util/fileinputstream.cpp \ -- $$CLUCENEDIR/util/Misc.cpp \ -- $$CLUCENEDIR/util/Reader.cpp \ -- $$CLUCENEDIR/util/StringBuffer.cpp \ -- $$CLUCENEDIR/util/StringIntern.cpp \ -- $$CLUCENEDIR/util/ThreadLocal.cpp \ -- $$CLUCENEDIR/analysis/standard/StandardAnalyzer.cpp \ -- $$CLUCENEDIR/analysis/standard/StandardFilter.cpp \ -- $$CLUCENEDIR/analysis/standard/StandardTokenizer.cpp - -+INCLUDEPATH += /usr/include/clucene09 $$[QT_INSTALL_LIBS]/clucene09 $$[QT_INSTALL_LIBS] -+LIBS += -L$$[QT_INSTALL_LIBS]/clucene09 -lclucene -+#DEFINES += LUCENE_ENABLE_REFCOUNT (must be set at CLucene build time!) - - #Header files - HEADERS += qclucene_global_p.h \ -diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene-config_p.h qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene-config_p.h ---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene-config_p.h 2014-04-10 20:37:12.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene-config_p.h 2014-10-26 02:28:54.000000000 +0100 -@@ -15,6 +15,8 @@ - ** - ****************************************************************************/ - -+#error This header must not be included when building against system CLucene. -+ - #ifndef QCLUCENE_CONFIG_P_H - #define QCLUCENE_CONFIG_P_H - -diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene_global_p.h qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene_global_p.h ---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene_global_p.h 2014-04-10 20:37:12.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene_global_p.h 2014-10-26 02:31:54.000000000 +0100 -@@ -29,20 +29,10 @@ - // We mean it. - // - --#if !defined(_MSC_VER) --# include "qclucene-config_p.h" --#endif -- - #include <QtCore/QChar> - #include <QtCore/QString> - --#if !defined(_MSC_VER) && !defined(__MINGW32__) && defined(_CL_HAVE_WCHAR_H) && defined(_CL_HAVE_WCHAR_T) --# if !defined(TCHAR) --# define TCHAR wchar_t --# endif --#else --# include <windows.h> --#endif -+#include <CLucene/StdHeader.h> - - QT_BEGIN_HEADER - -@@ -56,52 +46,6 @@ - # define QHELP_EXPORT Q_DECL_IMPORT - #endif - --// --// W A R N I N G --// ------------- --// --// adjustments here, need to be done in --// QTDIR/src/3rdparty/clucene/src/CLucene/StdHeader.h as well --// --#if defined(_LUCENE_DONTIMPLEMENT_NS_MACROS) -- --#elif !defined(DISABLE_NAMESPACE) --# ifdef QT_NAMESPACE --# define CL_NS_DEF(sub) namespace QT_NAMESPACE { namespace lucene{ namespace sub{ --# define CL_NS_DEF2(sub,sub2) namespace QT_NAMESPACE { namespace lucene{ namespace sub{ namespace sub2 { -- --# define CL_NS_END }}} --# define CL_NS_END2 }}}} -- --# define CL_NS_USE(sub) using namespace QT_NAMESPACE::lucene::sub; --# define CL_NS_USE2(sub,sub2) using namespace QT_NAMESPACE::lucene::sub::sub2; -- --# define CL_NS(sub) QT_NAMESPACE::lucene::sub --# define CL_NS2(sub,sub2) QT_NAMESPACE::lucene::sub::sub2 --# else --# define CL_NS_DEF(sub) namespace lucene{ namespace sub{ --# define CL_NS_DEF2(sub,sub2) namespace lucene{ namespace sub{ namespace sub2 { -- --# define CL_NS_END }} --# define CL_NS_END2 }}} -- --# define CL_NS_USE(sub) using namespace lucene::sub; --# define CL_NS_USE2(sub,sub2) using namespace lucene::sub::sub2; -- --# define CL_NS(sub) lucene::sub --# define CL_NS2(sub,sub2) lucene::sub::sub2 --# endif --#else --# define CL_NS_DEF(sub) --# define CL_NS_DEF2(sub, sub2) --# define CL_NS_END --# define CL_NS_END2 --# define CL_NS_USE(sub) --# define CL_NS_USE2(sub,sub2) --# define CL_NS(sub) --# define CL_NS2(sub,sub2) --#endif -- - namespace { - TCHAR* QStringToTChar(const QString &str) - { -diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexreader.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexreader.cpp ---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexreader.cpp 2014-04-10 20:37:12.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexreader.cpp 2014-10-26 02:48:02.000000000 +0100 -@@ -18,6 +18,8 @@ - #include "qindexreader_p.h" - #include "qclucene_global_p.h" - -+#include <QtCore/QDir> -+ - #include <CLucene.h> - #include <CLucene/index/IndexReader.h> - -@@ -59,13 +61,13 @@ - { - using namespace lucene::index; - -- return IndexReader::isLuceneFile(filename); -+ return IndexReader::isLuceneFile(filename.toLocal8Bit().constData()); - } - - bool QCLuceneIndexReader::indexExists(const QString &directory) - { - using namespace lucene::index; -- return IndexReader::indexExists(directory); -+ return IndexReader::indexExists(directory.toLocal8Bit().constData()); - } - - QCLuceneIndexReader QCLuceneIndexReader::open(const QString &path) -@@ -73,7 +75,7 @@ - using namespace lucene::index; - - QCLuceneIndexReader indexReader; -- indexReader.d->reader = IndexReader::open(path); -+ indexReader.d->reader = IndexReader::open(path.toLocal8Bit().constData()); - - return indexReader; - } -@@ -81,25 +83,29 @@ - void QCLuceneIndexReader::unlock(const QString &path) - { - using namespace lucene::index; -- IndexReader::unlock(path); -+ IndexReader::unlock(path.toLocal8Bit().constData()); - } - - bool QCLuceneIndexReader::isLocked(const QString &directory) - { -+ // The system CLucene fails here if the directory does not exist yet, unlike -+ // the bundled one. Work around that. -+ QDir::current().mkpath(directory); -+ - using namespace lucene::index; -- return IndexReader::isLocked(directory); -+ return IndexReader::isLocked(directory.toLocal8Bit().constData()); - } - - quint64 QCLuceneIndexReader::lastModified(const QString &directory) - { - using namespace lucene::index; -- return quint64(IndexReader::lastModified(directory)); -+ return quint64(IndexReader::lastModified(directory.toLocal8Bit().constData())); - } - - qint64 QCLuceneIndexReader::getCurrentVersion(const QString &directory) - { - using namespace lucene::index; -- return qint64(IndexReader::getCurrentVersion(directory)); -+ return qint64(IndexReader::getCurrentVersion(directory.toLocal8Bit().constData())); - } - - void QCLuceneIndexReader::close() -@@ -155,7 +161,7 @@ - void QCLuceneIndexReader::setNorm(qint32 doc, const QString &field, qreal value) - { - TCHAR *fieldName = QStringToTChar(field); -- d->reader->setNorm(int32_t(doc), fieldName, qreal(value)); -+ d->reader->setNorm(int32_t(doc), fieldName, (float_t)value); - delete [] fieldName; - } - -diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexwriter.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexwriter.cpp ---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexwriter.cpp 2014-04-10 20:37:12.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexwriter.cpp 2014-10-26 02:48:27.000000000 +0100 -@@ -18,6 +18,8 @@ - #include "qindexwriter_p.h" - #include "qindexreader_p.h" - -+#include <QtCore/QDir> -+ - #include <CLucene.h> - #include <CLucene/index/IndexWriter.h> - -@@ -50,7 +52,12 @@ - : d(new QCLuceneIndexWriterPrivate()) - , analyzer(analyzer) - { -- d->writer = new lucene::index::IndexWriter(path, -+ // The system CLucene cannot create directories recursively, so do it here. -+ // Ignore failure: If it failed, we will get an error from CLucene anyway. -+ if (create) -+ QDir::current().mkpath(path); -+ -+ d->writer = new lucene::index::IndexWriter(path.toLocal8Bit().constData(), - analyzer.d->analyzer, create, closeDir); - } - -diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qsearchable.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qsearchable.cpp ---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qsearchable.cpp 2014-04-10 20:37:12.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qsearchable.cpp 2014-10-26 02:48:44.000000000 +0100 -@@ -95,7 +95,7 @@ - : QCLuceneSearcher() - { - lucene::search::IndexSearcher *searcher = -- new lucene::search::IndexSearcher(path); -+ new lucene::search::IndexSearcher(path.toLocal8Bit().constData()); - - reader.d->reader = searcher->getReader(); - reader.d->deleteCLuceneIndexReader = false; -diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/lib.pro qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/lib.pro ---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/lib.pro 2014-04-10 20:37:12.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/lib.pro 2014-10-26 02:27:55.000000000 +0100 -@@ -43,6 +43,7 @@ - qhelp_global.cpp - - # access to clucene -+INCLUDEPATH += /usr/include/clucene09 $$[QT_INSTALL_LIBS]/clucene09 $$[QT_INSTALL_LIBS] - SOURCES += qhelpsearchindexwriter_clucene.cpp \ - qhelpsearchindexreader_clucene.cpp - HEADERS += qhelpenginecore.h \ diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch deleted file mode 100644 index 60749d38..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch +++ /dev/null @@ -1,1456 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.cpp ---- qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.cpp.systemtrayicon 2014-03-30 15:36:45.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.cpp 2014-03-31 18:16:39.707974934 -0500 -@@ -158,15 +158,23 @@ void Window::createIconGroupBox() - iconComboBox->addItem(QIcon(":/images/bad.svg"), tr("Bad")); - iconComboBox->addItem(QIcon(":/images/heart.svg"), tr("Heart")); - iconComboBox->addItem(QIcon(":/images/trash.svg"), tr("Trash")); -+ iconComboBox->addItem(QIcon::fromTheme("system-file-manager"), tr("File Manager")); - - showIconCheckBox = new QCheckBox(tr("Show icon")); - showIconCheckBox->setChecked(true); - -+#if defined(Q_WS_X11) -+ jitToolTipCheckBox = new QCheckBox(tr("Just In Time Tooltip")); -+#endif -+ - QHBoxLayout *iconLayout = new QHBoxLayout; - iconLayout->addWidget(iconLabel); - iconLayout->addWidget(iconComboBox); - iconLayout->addStretch(); - iconLayout->addWidget(showIconCheckBox); -+#if defined(Q_WS_X11) -+ iconLayout->addWidget(jitToolTipCheckBox); -+#endif - iconGroupBox->setLayout(iconLayout); - } - -@@ -254,5 +262,37 @@ void Window::createTrayIcon() - trayIconMenu->addAction(quitAction); - - trayIcon = new QSystemTrayIcon(this); -+ QByteArray category = qgetenv("SNI_CATEGORY"); -+ if (!category.isEmpty()) { -+ trayIcon->setProperty("_qt_sni_category", QString::fromLocal8Bit(category)); -+ } - trayIcon->setContextMenu(trayIconMenu); -+ -+#if defined(Q_WS_X11) -+ trayIcon->installEventFilter(this); -+#endif -+} -+ -+#if defined(Q_WS_X11) -+bool Window::eventFilter(QObject *, QEvent *event) -+{ -+ switch(event->type()) { -+ case QEvent::ToolTip: -+ if (jitToolTipCheckBox->isChecked()) { -+ QString timeString = QTime::currentTime().toString(); -+ trayIcon->setToolTip(tr("Current Time: %1").arg(timeString)); -+ } -+ break; -+ case QEvent::Wheel: { -+ QWheelEvent *wheelEvent = static_cast<QWheelEvent*>(event); -+ int delta = wheelEvent->delta() > 0 ? 1 : -1; -+ int index = (iconComboBox->currentIndex() + delta) % iconComboBox->count(); -+ iconComboBox->setCurrentIndex(index); -+ break; -+ } -+ default: -+ break; -+ } -+ return false; - } -+#endif -diff -up qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.h.systemtrayicon qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.h ---- qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.h.systemtrayicon 2014-03-30 15:36:45.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.h 2014-03-31 18:16:39.707974934 -0500 -@@ -69,6 +69,9 @@ public: - - protected: - void closeEvent(QCloseEvent *event); -+#if defined(Q_WS_X11) -+ bool eventFilter(QObject *object, QEvent *event); -+#endif - - private slots: - void setIcon(int index); -@@ -86,6 +89,9 @@ private: - QLabel *iconLabel; - QComboBox *iconComboBox; - QCheckBox *showIconCheckBox; -+#if defined(Q_WS_X11) -+ QCheckBox *jitToolTipCheckBox; -+#endif - - QGroupBox *messageGroupBox; - QLabel *typeLabel; -diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys.cpp ---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys.cpp.systemtrayicon 2014-03-31 18:16:39.707974934 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys.cpp 2014-03-31 18:16:39.707974934 -0500 -@@ -0,0 +1,65 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -+** All rights reserved. -+** Contact: Nokia Corporation (qt-info@nokia.com) -+** -+** This file is part of the QtGui module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** GNU Lesser General Public License Usage -+** This file may be used under the terms of the GNU Lesser General Public -+** License version 2.1 as published by the Free Software Foundation and -+** appearing in the file LICENSE.LGPL included in the packaging of this -+** file. Please review the following information to ensure the GNU Lesser -+** General Public License version 2.1 requirements will be met: -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Nokia gives you certain additional -+** rights. These rights are described in the Nokia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU General -+** Public License version 3.0 as published by the Free Software Foundation -+** and appearing in the file LICENSE.GPL included in the packaging of this -+** file. Please review the following information to ensure the GNU General -+** Public License version 3.0 requirements will be met: -+** http://www.gnu.org/copyleft/gpl.html. -+** -+** Other Usage -+** Alternatively, this file may be used in accordance with the terms and -+** conditions contained in a signed written agreement between you and Nokia. -+** -+** -+** -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+#ifndef QT_NO_SYSTEMTRAYICON -+ -+#include "qabstractsystemtrayiconsys_p.h" -+ -+ -+QSystemTrayIconSysFactoryInterface::QSystemTrayIconSysFactoryInterface() -+{ -+} -+ -+///////////////////////////////////////////////// -+QAbstractSystemTrayIconSys::QAbstractSystemTrayIconSys(QSystemTrayIcon *icon) -+: trayIcon(icon) -+{ -+} -+ -+QAbstractSystemTrayIconSys::~QAbstractSystemTrayIconSys() -+{ -+} -+ -+void QAbstractSystemTrayIconSys::sendActivated(QSystemTrayIcon::ActivationReason reason) -+{ -+ qtsystray_sendActivated(trayIcon, reason); -+} -+ -+#endif -diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys_p.h.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys_p.h ---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys_p.h.systemtrayicon 2014-03-31 18:16:39.708974924 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys_p.h 2014-03-31 18:16:39.708974924 -0500 -@@ -0,0 +1,106 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -+** All rights reserved. -+** Contact: Nokia Corporation (qt-info@nokia.com) -+** -+** This file is part of the QtGui module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** GNU Lesser General Public License Usage -+** This file may be used under the terms of the GNU Lesser General Public -+** License version 2.1 as published by the Free Software Foundation and -+** appearing in the file LICENSE.LGPL included in the packaging of this -+** file. Please review the following information to ensure the GNU Lesser -+** General Public License version 2.1 requirements will be met: -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Nokia gives you certain additional -+** rights. These rights are described in the Nokia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU General -+** Public License version 3.0 as published by the Free Software Foundation -+** and appearing in the file LICENSE.GPL included in the packaging of this -+** file. Please review the following information to ensure the GNU General -+** Public License version 3.0 requirements will be met: -+** http://www.gnu.org/copyleft/gpl.html. -+** -+** Other Usage -+** Alternatively, this file may be used in accordance with the terms and -+** conditions contained in a signed written agreement between you and Nokia. -+** -+** -+** -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#ifndef QABSTRACTSYSTEMTRAYICONSYS_P_H -+#define QABSTRACTSYSTEMTRAYICONSYS_P_H -+ -+// -+// W A R N I N G -+// ------------- -+// -+// This file is not part of the Qt API. It exists for the convenience -+// of a number of Qt sources files. This header file may change from -+// version to version without notice, or even be removed. -+// -+// We mean it. -+// -+ -+#ifndef QT_NO_SYSTEMTRAYICON -+ -+#include <qfactoryinterface.h> -+#include <qsystemtrayicon.h> -+ -+class QAbstractSystemTrayIconSys; -+ -+class Q_GUI_EXPORT QSystemTrayIconSysFactoryInterface : public QObject, public QFactoryInterface -+{ -+ Q_OBJECT -+public: -+ QSystemTrayIconSysFactoryInterface(); -+ virtual QAbstractSystemTrayIconSys * create(QSystemTrayIcon *) = 0; -+ virtual bool isAvailable() const = 0; -+ -+ // \reimp -+ virtual QStringList keys() const { return QStringList() << QLatin1String("default"); } -+ -+Q_SIGNALS: -+ void availableChanged(bool); -+}; -+ -+#define QSystemTrayIconSysFactoryInterface_iid "com.nokia.qt.QSystemTrayIconSysFactoryInterface" -+Q_DECLARE_INTERFACE(QSystemTrayIconSysFactoryInterface, QSystemTrayIconSysFactoryInterface_iid) -+ -+class QRect; -+ -+class Q_GUI_EXPORT QAbstractSystemTrayIconSys -+{ -+public: -+ QAbstractSystemTrayIconSys(QSystemTrayIcon *icon); -+ virtual ~QAbstractSystemTrayIconSys(); -+ -+ virtual QRect geometry() const = 0; -+ virtual void updateVisibility() = 0; -+ virtual void updateIcon() = 0; -+ virtual void updateToolTip() = 0; -+ virtual void updateMenu() = 0; -+ virtual void showMessage(const QString &title, const QString &message, -+ QSystemTrayIcon::MessageIcon icon, int msecs) = 0; -+ -+ void sendActivated(QSystemTrayIcon::ActivationReason); -+ -+protected: -+ QSystemTrayIcon *trayIcon; -+}; -+ -+#endif // QT_NO_SYSTEMTRAYICON -+ -+#endif // QABSTRACTSYSTEMTRAYICONSYS_P_H -+ -diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon.cpp ---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon.cpp.systemtrayicon 2014-03-30 15:36:49.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon.cpp 2014-03-31 18:16:39.708974924 -0500 -@@ -287,12 +287,6 @@ bool QSystemTrayIcon::isVisible() const - */ - bool QSystemTrayIcon::event(QEvent *e) - { --#if defined(Q_WS_X11) -- if (e->type() == QEvent::ToolTip) { -- Q_D(QSystemTrayIcon); -- return d->sys->deliverToolTipEvent(e); -- } --#endif - return QObject::event(e); - } - -diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_p.h.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_p.h ---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_p.h.systemtrayicon 2014-03-30 15:36:49.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_p.h 2014-03-31 18:16:39.708974924 -0500 -@@ -62,10 +62,17 @@ - #include "QtGui/qpixmap.h" - #include "QtCore/qstring.h" - #include "QtCore/qpointer.h" -+#if defined(Q_WS_X11) -+#include "QtCore/qset.h" -+#endif - - QT_BEGIN_NAMESPACE - -+#if defined(Q_WS_X11) -+class QAbstractSystemTrayIconSys; -+#else - class QSystemTrayIconSys; -+#endif - class QToolButton; - class QLabel; - -@@ -75,6 +82,9 @@ class QSystemTrayIconPrivate : public QO - - public: - QSystemTrayIconPrivate() : sys(0), visible(false) { } -+ #if defined(Q_WS_X11) -+ ~QSystemTrayIconPrivate(); -+ #endif - - void install_sys(); - void remove_sys(); -@@ -90,7 +100,11 @@ public: - QPointer<QMenu> menu; - QIcon icon; - QString toolTip; -+ #if defined(Q_WS_X11) -+ QAbstractSystemTrayIconSys *sys; -+ #else - QSystemTrayIconSys *sys; -+ #endif - bool visible; - }; - -@@ -123,60 +137,37 @@ private: - }; - - #if defined(Q_WS_X11) --QT_BEGIN_INCLUDE_NAMESPACE --#include <QtCore/qcoreapplication.h> --#include <X11/Xlib.h> --#include <X11/Xatom.h> --#include <X11/Xutil.h> --QT_END_INCLUDE_NAMESPACE -+class QSystemTrayIconSysFactoryInterface; - --class QSystemTrayIconSys : public QWidget -+/** -+ * This class acts as a composite QSystemTrayIconSysFactory: It can create -+ * instances of QAbstractSystemTrayIconSys* using either a plugin or the -+ * builtin factory and will cause QSystemTrayIconPrivate to recreate their -+ * 'sys' instances if the plugin availability changes. -+ */ -+class QSystemTrayIconSysFactory : public QObject - { -- friend class QSystemTrayIconPrivate; -- -+ Q_OBJECT - public: -- QSystemTrayIconSys(QSystemTrayIcon *q); -- ~QSystemTrayIconSys(); -- enum { -- SYSTEM_TRAY_REQUEST_DOCK = 0, -- SYSTEM_TRAY_BEGIN_MESSAGE = 1, -- SYSTEM_TRAY_CANCEL_MESSAGE =2 -- }; -- -- void addToTray(); -- void updateIcon(); -- XVisualInfo* getSysTrayVisualInfo(); -- -- // QObject::event is public but QWidget's ::event() re-implementation -- // is protected ;( -- inline bool deliverToolTipEvent(QEvent *e) -- { return QWidget::event(e); } -- -- static Window sysTrayWindow; -- static QList<QSystemTrayIconSys *> trayIcons; -- static QCoreApplication::EventFilter oldEventFilter; -- static bool sysTrayTracker(void *message, long *result); -- static Window locateSystemTray(); -- static Atom sysTraySelection; -- static XVisualInfo sysTrayVisual; -+ QSystemTrayIconSysFactory(); -+ void registerSystemTrayIconPrivate(QSystemTrayIconPrivate *iconPrivate); -+ void unregisterSystemTrayIconPrivate(QSystemTrayIconPrivate *iconPrivate); - --protected: -- void paintEvent(QPaintEvent *pe); -- void resizeEvent(QResizeEvent *re); -- bool x11Event(XEvent *event); -- void mousePressEvent(QMouseEvent *event); -- void mouseDoubleClickEvent(QMouseEvent *event); --#ifndef QT_NO_WHEELEVENT -- void wheelEvent(QWheelEvent *event); --#endif -- bool event(QEvent *e); -+ QAbstractSystemTrayIconSys *create(QSystemTrayIcon *) const; -+ -+ bool isAvailable() const; -+ -+private Q_SLOTS: -+ void refreshTrayIconPrivates(); - - private: -- QPixmap background; -- QSystemTrayIcon *q; -- Colormap colormap; -+ QSystemTrayIconSysFactoryInterface *factory() const; -+ void loadPluginFactory(); -+ -+ QSystemTrayIconSysFactoryInterface *pluginFactory; -+ QSet<QSystemTrayIconPrivate *> trayIconPrivates; - }; --#endif // Q_WS_X11 -+#endif - - QT_END_NAMESPACE - -diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_x11.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_x11.cpp ---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_x11.cpp.systemtrayicon 2014-03-30 15:36:49.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_x11.cpp 2014-03-31 18:16:39.709974914 -0500 -@@ -38,311 +38,122 @@ - ** $QT_END_LICENSE$ - ** - ****************************************************************************/ -+#ifndef QT_NO_SYSTEMTRAYICON -+ -+#include <private/qfactoryloader_p.h> - --#include "private/qt_x11_p.h" --#include "qlabel.h" --#include "qx11info_x11.h" --#include "qpainter.h" --#include "qpixmap.h" --#include "qbitmap.h" --#include "qevent.h" --#include "qapplication.h" --#include "qlist.h" --#include "qmenu.h" --#include "qtimer.h" - #include "qsystemtrayicon_p.h" --#include "qpaintengine.h" -+#include "qabstractsystemtrayiconsys_p.h" -+#include "qcoreapplication.h" -+#include "qxembedsystemtrayicon_x11_p.h" - --#ifndef QT_NO_SYSTEMTRAYICON - QT_BEGIN_NAMESPACE - --Window QSystemTrayIconSys::sysTrayWindow = XNone; --QList<QSystemTrayIconSys *> QSystemTrayIconSys::trayIcons; --QCoreApplication::EventFilter QSystemTrayIconSys::oldEventFilter = 0; --Atom QSystemTrayIconSys::sysTraySelection = XNone; --XVisualInfo QSystemTrayIconSys::sysTrayVisual = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -- --// Locate the system tray --Window QSystemTrayIconSys::locateSystemTray() --{ -- Display *display = QX11Info::display(); -- if (sysTraySelection == XNone) { -- int screen = QX11Info::appScreen(); -- QString net_sys_tray = QString::fromLatin1("_NET_SYSTEM_TRAY_S%1").arg(screen); -- sysTraySelection = XInternAtom(display, net_sys_tray.toLatin1(), False); -- } -- -- return XGetSelectionOwner(QX11Info::display(), sysTraySelection); --} -+Q_GLOBAL_STATIC(QSystemTrayIconSysFactory, qt_guiSystemTrayIconSysFactory) - --XVisualInfo* QSystemTrayIconSys::getSysTrayVisualInfo() -+QSystemTrayIconSysFactory::QSystemTrayIconSysFactory() -+: pluginFactory(0) - { -- Display *display = QX11Info::display(); -- -- if (!sysTrayVisual.visual) { -- Window win = locateSystemTray(); -- if (win != XNone) { -- Atom actual_type; -- int actual_format; -- ulong nitems, bytes_remaining; -- uchar *data = 0; -- int result = XGetWindowProperty(display, win, ATOM(_NET_SYSTEM_TRAY_VISUAL), 0, 1, -- False, XA_VISUALID, &actual_type, -- &actual_format, &nitems, &bytes_remaining, &data); -- VisualID vid = 0; -- if (result == Success && data && actual_type == XA_VISUALID && actual_format == 32 && -- nitems == 1 && bytes_remaining == 0) -- vid = *(VisualID*)data; -- if (data) -- XFree(data); -- if (vid == 0) -- return 0; -- -- uint mask = VisualIDMask; -- XVisualInfo *vi, rvi; -- int count; -- rvi.visualid = vid; -- vi = XGetVisualInfo(display, mask, &rvi, &count); -- if (vi) { -- sysTrayVisual = vi[0]; -- XFree((char*)vi); -- } -- if (sysTrayVisual.depth != 32) -- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -- } -- } -- -- return sysTrayVisual.visual ? &sysTrayVisual : 0; - } - --bool QSystemTrayIconSys::sysTrayTracker(void *message, long *result) -+void QSystemTrayIconSysFactory::loadPluginFactory() - { -- bool retval = false; -- if (QSystemTrayIconSys::oldEventFilter) -- retval = QSystemTrayIconSys::oldEventFilter(message, result); -- -- if (trayIcons.isEmpty()) -- return retval; -- -- Display *display = QX11Info::display(); -- XEvent *ev = (XEvent *)message; -- if (ev->type == DestroyNotify && ev->xany.window == sysTrayWindow) { -- sysTrayWindow = locateSystemTray(); -- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -- for (int i = 0; i < trayIcons.count(); i++) { -- if (sysTrayWindow == XNone) { -- QBalloonTip::hideBalloon(); -- trayIcons[i]->hide(); // still no luck -- trayIcons[i]->destroy(); -- trayIcons[i]->create(); -- } else -- trayIcons[i]->addToTray(); // add it to the new tray -- } -- retval = true; -- } else if (ev->type == ClientMessage && sysTrayWindow == XNone) { -- static Atom manager_atom = XInternAtom(display, "MANAGER", False); -- XClientMessageEvent *cm = (XClientMessageEvent *)message; -- if ((cm->message_type == manager_atom) && ((Atom)cm->data.l[1] == sysTraySelection)) { -- sysTrayWindow = cm->data.l[2]; -- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -- XSelectInput(display, sysTrayWindow, StructureNotifyMask); -- for (int i = 0; i < trayIcons.count(); i++) { -- trayIcons[i]->addToTray(); -- } -- retval = true; -- } -- } else if (ev->type == PropertyNotify && ev->xproperty.atom == ATOM(_NET_SYSTEM_TRAY_VISUAL) && -- ev->xproperty.window == sysTrayWindow) { -- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -- for (int i = 0; i < trayIcons.count(); i++) { -- trayIcons[i]->addToTray(); -- } -- } -- -- return retval; --} -- --QSystemTrayIconSys::QSystemTrayIconSys(QSystemTrayIcon *q) -- : QWidget(0, Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint), -- q(q), colormap(0) --{ -- setAttribute(Qt::WA_AlwaysShowToolTips); -- setAttribute(Qt::WA_QuitOnClose, false); -- setAttribute(Qt::WA_NoSystemBackground, true); -- setAttribute(Qt::WA_PaintOnScreen); -- -- static bool eventFilterAdded = false; -- Display *display = QX11Info::display(); -- if (!eventFilterAdded) { -- oldEventFilter = qApp->setEventFilter(sysTrayTracker); -- eventFilterAdded = true; -- Window root = QX11Info::appRootWindow(); -- XWindowAttributes attr; -- XGetWindowAttributes(display, root, &attr); -- if ((attr.your_event_mask & StructureNotifyMask) != StructureNotifyMask) { -- (void) QApplication::desktop(); // lame trick to ensure our event mask is not overridden -- XSelectInput(display, root, attr.your_event_mask | StructureNotifyMask); // for MANAGER selection -- } -+ if (pluginFactory) { -+ return; - } -- if (trayIcons.isEmpty()) { -- sysTrayWindow = locateSystemTray(); -- if (sysTrayWindow != XNone) -- XSelectInput(display, sysTrayWindow, StructureNotifyMask); // track tray events -+#ifndef QT_NO_LIBRARY -+ QFactoryLoader loader(QSystemTrayIconSysFactoryInterface_iid, QLatin1String("/systemtrayicon")); -+ pluginFactory = qobject_cast<QSystemTrayIconSysFactoryInterface *>(loader.instance(QLatin1String("default"))); -+ if (pluginFactory) { -+ // Set parent to ensure factory destructor is called when application -+ // is closed -+ pluginFactory->setParent(QCoreApplication::instance()); -+ connect(pluginFactory, SIGNAL(availableChanged(bool)), SLOT(refreshTrayIconPrivates())); - } -- trayIcons.append(this); -- setMouseTracking(true); --#ifndef QT_NO_TOOLTIP -- setToolTip(q->toolTip()); --#endif -- if (sysTrayWindow != XNone) -- addToTray(); -+#endif // QT_NO_LIBRARY - } - --QSystemTrayIconSys::~QSystemTrayIconSys() -+QSystemTrayIconSysFactoryInterface *QSystemTrayIconSysFactory::factory() const - { -- trayIcons.removeAt(trayIcons.indexOf(this)); -- Display *display = QX11Info::display(); -- if (trayIcons.isEmpty()) { -- if (sysTrayWindow == XNone) -- return; -- if (display) -- XSelectInput(display, sysTrayWindow, 0); // stop tracking the tray -- sysTrayWindow = XNone; -+ if (!pluginFactory) { -+ const_cast<QSystemTrayIconSysFactory*>(this)->loadPluginFactory(); - } -- if (colormap) -- XFreeColormap(display, colormap); -+ if (pluginFactory && pluginFactory->isAvailable()) { -+ return pluginFactory; -+ } -+ static QXEmbedSystemTrayIconSysFactory def; -+ return def.isAvailable() ? &def : 0; - } - --void QSystemTrayIconSys::addToTray() -+void QSystemTrayIconSysFactory::refreshTrayIconPrivates() - { -- Q_ASSERT(sysTrayWindow != XNone); -- Display *display = QX11Info::display(); -- -- XVisualInfo *vi = getSysTrayVisualInfo(); -- if (vi && vi->visual) { -- Window root = RootWindow(display, vi->screen); -- Window p = root; -- if (QWidget *pw = parentWidget()) -- p = pw->effectiveWinId(); -- colormap = XCreateColormap(display, root, vi->visual, AllocNone); -- XSetWindowAttributes wsa; -- wsa.background_pixmap = 0; -- wsa.colormap = colormap; -- wsa.background_pixel = 0; -- wsa.border_pixel = 0; -- Window wid = XCreateWindow(display, p, -1, -1, 1, 1, -- 0, vi->depth, InputOutput, vi->visual, -- CWBackPixmap|CWBackPixel|CWBorderPixel|CWColormap, &wsa); -- create(wid); -- } else { -- XSetWindowBackgroundPixmap(display, winId(), ParentRelative); -- } -- -- // GNOME, NET WM Specification -- static Atom netwm_tray_atom = XInternAtom(display, "_NET_SYSTEM_TRAY_OPCODE", False); -- long l[5] = { CurrentTime, SYSTEM_TRAY_REQUEST_DOCK, static_cast<long>(winId()), 0, 0 }; -- XEvent ev; -- memset(&ev, 0, sizeof(ev)); -- ev.xclient.type = ClientMessage; -- ev.xclient.window = sysTrayWindow; -- ev.xclient.message_type = netwm_tray_atom; -- ev.xclient.format = 32; -- memcpy((char *)&ev.xclient.data, (const char *) l, sizeof(l)); -- XSendEvent(display, sysTrayWindow, False, 0, &ev); -- setMinimumSize(22, 22); // required at least on GNOME --} -- --void QSystemTrayIconSys::updateIcon() --{ -- update(); --} -- --void QSystemTrayIconSys::resizeEvent(QResizeEvent *re) --{ -- QWidget::resizeEvent(re); -- updateIcon(); --} -- --void QSystemTrayIconSys::paintEvent(QPaintEvent*) --{ -- QPainter p(this); -- if (!getSysTrayVisualInfo()) { -- const QRegion oldSystemClip = p.paintEngine()->systemClip(); -- const QRect clearedRect = oldSystemClip.boundingRect(); -- XClearArea(QX11Info::display(), winId(), clearedRect.x(), clearedRect.y(), -- clearedRect.width(), clearedRect.height(), False); -- QPaintEngine *pe = p.paintEngine(); -- pe->setSystemClip(clearedRect); -- q->icon().paint(&p, rect()); -- pe->setSystemClip(oldSystemClip); -- } else { -- p.setCompositionMode(QPainter::CompositionMode_Source); -- p.fillRect(rect(), Qt::transparent); -- p.setCompositionMode(QPainter::CompositionMode_SourceOver); -- q->icon().paint(&p, rect()); -+ Q_FOREACH(QSystemTrayIconPrivate *trayIconPrivate, trayIconPrivates) { -+ if (trayIconPrivate->sys) { -+ delete trayIconPrivate->sys; -+ trayIconPrivate->sys = 0; -+ } -+ // When visible is true, sys is usually not 0 but it can be 0 if the -+ // call to install_sys() failed. -+ if (trayIconPrivate->visible) { -+ trayIconPrivate->install_sys(); -+ } - } - } - --void QSystemTrayIconSys::mousePressEvent(QMouseEvent *ev) -+void QSystemTrayIconSysFactory::registerSystemTrayIconPrivate(QSystemTrayIconPrivate* trayIconPrivate) - { -- QPoint globalPos = ev->globalPos(); -- if (ev->button() == Qt::RightButton && q->contextMenu()) -- q->contextMenu()->popup(globalPos); -- -- if (QBalloonTip::isBalloonVisible()) { -- emit q->messageClicked(); -- QBalloonTip::hideBalloon(); -- } -- -- if (ev->button() == Qt::LeftButton) -- emit q->activated(QSystemTrayIcon::Trigger); -- else if (ev->button() == Qt::RightButton) -- emit q->activated(QSystemTrayIcon::Context); -- else if (ev->button() == Qt::MidButton) -- emit q->activated(QSystemTrayIcon::MiddleClick); -+ trayIconPrivates.insert(trayIconPrivate); - } - --void QSystemTrayIconSys::mouseDoubleClickEvent(QMouseEvent *ev) -+void QSystemTrayIconSysFactory::unregisterSystemTrayIconPrivate(QSystemTrayIconPrivate* trayIconPrivate) - { -- if (ev->button() == Qt::LeftButton) -- emit q->activated(QSystemTrayIcon::DoubleClick); -+ trayIconPrivates.remove(trayIconPrivate); - } - --#ifndef QT_NO_WHEELEVENT --void QSystemTrayIconSys::wheelEvent(QWheelEvent *e) -+QAbstractSystemTrayIconSys *QSystemTrayIconSysFactory::create(QSystemTrayIcon *trayIcon) const - { -- QApplication::sendEvent(q, e); -+ QSystemTrayIconSysFactoryInterface *f = factory(); -+ if (!f) { -+ qWarning("No systemtrayicon available"); -+ return 0; -+ } -+ return f->create(trayIcon); - } --#endif - --bool QSystemTrayIconSys::event(QEvent *e) -+bool QSystemTrayIconSysFactory::isAvailable() const - { -- if (e->type() == QEvent::ToolTip) { -- return QApplication::sendEvent(q, e); -- } -- return QWidget::event(e); -+ return factory(); - } - --bool QSystemTrayIconSys::x11Event(XEvent *event) -+//////////////////////////////////////////////// -+QSystemTrayIconPrivate::~QSystemTrayIconPrivate() - { -- if (event->type == ReparentNotify) -- show(); -- return QWidget::x11Event(event); -+ qt_guiSystemTrayIconSysFactory()->unregisterSystemTrayIconPrivate(this); -+ delete sys; - } - --//////////////////////////////////////////////////////////////////////////// - void QSystemTrayIconPrivate::install_sys() - { - Q_Q(QSystemTrayIcon); -- if (!sys) -- sys = new QSystemTrayIconSys(q); -+ if (!sys) { -+ // Register ourself even if create() fails: our "sys" will get created -+ // later by refreshTrayIconPrivates() if a systemtray becomes -+ // available. This situation can happen for applications which are -+ // started at login time, while the desktop itself is starting up. -+ qt_guiSystemTrayIconSysFactory()->registerSystemTrayIconPrivate(this); -+ sys = qt_guiSystemTrayIconSysFactory()->create(q); -+ if (!sys) { -+ return; -+ } -+ } -+ sys->updateVisibility(); - } - - QRect QSystemTrayIconPrivate::geometry_sys() const - { -- if (!sys) -- return QRect(); -- return QRect(sys->mapToGlobal(QPoint(0, 0)), sys->size()); -+ if (!sys || !visible) -+ return QRect(); -+ return sys->geometry(); - } - - void QSystemTrayIconPrivate::remove_sys() -@@ -350,35 +161,35 @@ void QSystemTrayIconPrivate::remove_sys( - if (!sys) - return; - QBalloonTip::hideBalloon(); -- sys->hide(); // this should do the trick, but... -- delete sys; // wm may resize system tray only for DestroyEvents -- sys = 0; -+ sys->updateVisibility(); - } - - void QSystemTrayIconPrivate::updateIcon_sys() - { -- if (!sys) -+ if (!sys || !visible) - return; - sys->updateIcon(); - } - - void QSystemTrayIconPrivate::updateMenu_sys() - { -- -+ if (!sys || !visible) -+ return; -+ sys->updateMenu(); - } - - void QSystemTrayIconPrivate::updateToolTip_sys() - { -- if (!sys) -+ if (!sys || !visible) - return; - #ifndef QT_NO_TOOLTIP -- sys->setToolTip(toolTip); -+ sys->updateToolTip(); - #endif - } - - bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys() - { -- return QSystemTrayIconSys::locateSystemTray() != XNone; -+ return qt_guiSystemTrayIconSysFactory()->isAvailable(); - } - - bool QSystemTrayIconPrivate::supportsMessages_sys() -@@ -389,12 +200,9 @@ bool QSystemTrayIconPrivate::supportsMes - void QSystemTrayIconPrivate::showMessage_sys(const QString &message, const QString &title, - QSystemTrayIcon::MessageIcon icon, int msecs) - { -- if (!sys) -+ if (!sys || !visible) - return; -- QPoint g = sys->mapToGlobal(QPoint(0, 0)); -- QBalloonTip::showBalloon(icon, message, title, sys->q, -- QPoint(g.x() + sys->width()/2, g.y() + sys->height()/2), -- msecs); -+ sys->showMessage(message, title, icon, msecs); - } - - QT_END_NAMESPACE -diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11.cpp ---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11.cpp.systemtrayicon 2014-03-31 18:16:39.709974914 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11.cpp 2014-03-31 18:16:39.709974914 -0500 -@@ -0,0 +1,469 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -+** All rights reserved. -+** Contact: Nokia Corporation (qt-info@nokia.com) -+** -+** This file is part of the QtGui module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** GNU Lesser General Public License Usage -+** This file may be used under the terms of the GNU Lesser General Public -+** License version 2.1 as published by the Free Software Foundation and -+** appearing in the file LICENSE.LGPL included in the packaging of this -+** file. Please review the following information to ensure the GNU Lesser -+** General Public License version 2.1 requirements will be met: -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Nokia gives you certain additional -+** rights. These rights are described in the Nokia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU General -+** Public License version 3.0 as published by the Free Software Foundation -+** and appearing in the file LICENSE.GPL included in the packaging of this -+** file. Please review the following information to ensure the GNU General -+** Public License version 3.0 requirements will be met: -+** http://www.gnu.org/copyleft/gpl.html. -+** -+** Other Usage -+** Alternatively, this file may be used in accordance with the terms and -+** conditions contained in a signed written agreement between you and Nokia. -+** -+** -+** -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+#include "qxembedsystemtrayicon_x11_p.h" -+ -+#ifndef QT_NO_SYSTEMTRAYICON -+ -+#include "private/qt_x11_p.h" -+#include "qapplication.h" -+#include "qevent.h" -+#include "qlist.h" -+#include "qmenu.h" -+#include "qpainter.h" -+#include "qpaintengine.h" -+#include "qsystemtrayicon_p.h" -+#include "qx11info_x11.h" -+ -+QT_BEGIN_INCLUDE_NAMESPACE -+#include <QtCore/qcoreapplication.h> -+#include <X11/Xlib.h> -+#include <X11/Xatom.h> -+#include <X11/Xutil.h> -+QT_END_INCLUDE_NAMESPACE -+ -+QT_BEGIN_NAMESPACE -+ -+class QSystemTrayIconWidget : public QWidget -+{ -+public: -+ QSystemTrayIconWidget(QSystemTrayIcon *q, QXEmbedSystemTrayIconSys *s); -+ ~QSystemTrayIconWidget(); -+ -+ static Window locateSystemTray(); -+ -+protected: -+ void paintEvent(QPaintEvent *pe); -+ void resizeEvent(QResizeEvent *re); -+ bool x11Event(XEvent *event); -+ void mousePressEvent(QMouseEvent *event); -+ void mouseDoubleClickEvent(QMouseEvent *event); -+#ifndef QT_NO_WHEELEVENT -+ void wheelEvent(QWheelEvent *event); -+#endif -+ bool event(QEvent *e); -+ -+private: -+ enum { -+ SYSTEM_TRAY_REQUEST_DOCK = 0, -+ SYSTEM_TRAY_BEGIN_MESSAGE = 1, -+ SYSTEM_TRAY_CANCEL_MESSAGE =2 -+ }; -+ -+ void addToTray(); -+ static XVisualInfo* getSysTrayVisualInfo(); -+ -+ static Window sysTrayWindow; -+ static QList<QSystemTrayIconWidget *> trayIcons; -+ static QCoreApplication::EventFilter oldEventFilter; -+ static bool sysTrayTracker(void *message, long *result); -+ static Atom sysTraySelection; -+ static XVisualInfo sysTrayVisual; -+ -+ QSystemTrayIcon *q; -+ QXEmbedSystemTrayIconSys *sys; -+ Colormap colormap; -+}; -+ -+Window QSystemTrayIconWidget::sysTrayWindow = XNone; -+QList<QSystemTrayIconWidget *> QSystemTrayIconWidget::trayIcons; -+QCoreApplication::EventFilter QSystemTrayIconWidget::oldEventFilter = 0; -+Atom QSystemTrayIconWidget::sysTraySelection = XNone; -+XVisualInfo QSystemTrayIconWidget::sysTrayVisual = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -+ -+QSystemTrayIconWidget::QSystemTrayIconWidget(QSystemTrayIcon* q, QXEmbedSystemTrayIconSys* sys) -+: QWidget(0, Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint) -+, q(q) -+, sys(sys) -+, colormap(0) -+{ -+ setAttribute(Qt::WA_AlwaysShowToolTips); -+ setAttribute(Qt::WA_QuitOnClose, false); -+ setAttribute(Qt::WA_NoSystemBackground, true); -+ setAttribute(Qt::WA_PaintOnScreen); -+ setMouseTracking(true); -+#ifndef QT_NO_TOOLTIP -+ setToolTip(q->toolTip()); -+#endif -+ -+ static bool eventFilterAdded = false; -+ Display *display = QX11Info::display(); -+ if (!eventFilterAdded) { -+ oldEventFilter = qApp->setEventFilter(sysTrayTracker); -+ eventFilterAdded = true; -+ Window root = QX11Info::appRootWindow(); -+ XWindowAttributes attr; -+ XGetWindowAttributes(display, root, &attr); -+ if ((attr.your_event_mask & StructureNotifyMask) != StructureNotifyMask) { -+ (void) QApplication::desktop(); // lame trick to ensure our event mask is not overridden -+ XSelectInput(display, root, attr.your_event_mask | StructureNotifyMask); // for MANAGER selection -+ } -+ } -+ if (trayIcons.isEmpty()) { -+ sysTrayWindow = locateSystemTray(); -+ if (sysTrayWindow != XNone) -+ XSelectInput(display, sysTrayWindow, StructureNotifyMask); // track tray events -+ } -+ trayIcons.append(this); -+ if (sysTrayWindow != XNone) -+ addToTray(); -+} -+ -+QSystemTrayIconWidget::~QSystemTrayIconWidget() -+{ -+ trayIcons.removeAt(trayIcons.indexOf(this)); -+ Display *display = QX11Info::display(); -+ if (trayIcons.isEmpty()) { -+ if (sysTrayWindow == XNone) -+ return; -+ if (display) -+ XSelectInput(display, sysTrayWindow, 0); // stop tracking the tray -+ sysTrayWindow = XNone; -+ } -+ if (colormap) -+ XFreeColormap(display, colormap); -+} -+ -+void QSystemTrayIconWidget::resizeEvent(QResizeEvent *re) -+{ -+ QWidget::resizeEvent(re); -+ update(); -+} -+ -+void QSystemTrayIconWidget::paintEvent(QPaintEvent*) -+{ -+ QPainter p(this); -+ if (!getSysTrayVisualInfo()) { -+ const QRegion oldSystemClip = p.paintEngine()->systemClip(); -+ const QRect clearedRect = oldSystemClip.boundingRect(); -+ XClearArea(QX11Info::display(), winId(), clearedRect.x(), clearedRect.y(), -+ clearedRect.width(), clearedRect.height(), False); -+ QPaintEngine *pe = p.paintEngine(); -+ pe->setSystemClip(clearedRect); -+ q->icon().paint(&p, rect()); -+ pe->setSystemClip(oldSystemClip); -+ } else { -+ p.setCompositionMode(QPainter::CompositionMode_Source); -+ p.fillRect(rect(), Qt::transparent); -+ p.setCompositionMode(QPainter::CompositionMode_SourceOver); -+ q->icon().paint(&p, rect()); -+ } -+} -+ -+void QSystemTrayIconWidget::mousePressEvent(QMouseEvent *ev) -+{ -+ QPoint globalPos = ev->globalPos(); -+ if (ev->button() == Qt::RightButton && q->contextMenu()) -+ q->contextMenu()->popup(globalPos); -+ -+ if (QBalloonTip::isBalloonVisible()) { -+ QMetaObject::invokeMethod(q, "messageClicked"); -+ QBalloonTip::hideBalloon(); -+ } -+ -+ if (ev->button() == Qt::LeftButton) -+ qtsystray_sendActivated(q, QSystemTrayIcon::Trigger); -+ else if (ev->button() == Qt::RightButton) -+ qtsystray_sendActivated(q, QSystemTrayIcon::Context); -+ else if (ev->button() == Qt::MidButton) -+ qtsystray_sendActivated(q, QSystemTrayIcon::MiddleClick); -+} -+ -+void QSystemTrayIconWidget::mouseDoubleClickEvent(QMouseEvent *ev) -+{ -+ if (ev->button() == Qt::LeftButton) -+ qtsystray_sendActivated(q, QSystemTrayIcon::DoubleClick); -+} -+ -+#ifndef QT_NO_WHEELEVENT -+void QSystemTrayIconWidget::wheelEvent(QWheelEvent *e) -+{ -+ sys->sendWheelEventToTrayIcon(e->delta(), e->orientation()); -+} -+#endif -+ -+bool QSystemTrayIconWidget::event(QEvent *e) -+{ -+ if (e->type() == QEvent::ToolTip) { -+ sys->sendToolTipEventToTrayIcon(); -+ } -+ return QWidget::event(e); -+} -+ -+bool QSystemTrayIconWidget::x11Event(XEvent *event) -+{ -+ if (event->type == ReparentNotify) -+ show(); -+ return QWidget::x11Event(event); -+} -+ -+// Locate the system tray -+Window QSystemTrayIconWidget::locateSystemTray() -+{ -+ Display *display = QX11Info::display(); -+ if (sysTraySelection == XNone) { -+ int screen = QX11Info::appScreen(); -+ QString net_sys_tray = QString::fromLatin1("_NET_SYSTEM_TRAY_S%1").arg(screen); -+ sysTraySelection = XInternAtom(display, net_sys_tray.toLatin1(), False); -+ } -+ -+ return XGetSelectionOwner(QX11Info::display(), sysTraySelection); -+} -+ -+XVisualInfo* QSystemTrayIconWidget::getSysTrayVisualInfo() -+{ -+ Display *display = QX11Info::display(); -+ -+ if (!sysTrayVisual.visual) { -+ Window win = locateSystemTray(); -+ if (win != XNone) { -+ Atom actual_type; -+ int actual_format; -+ ulong nitems, bytes_remaining; -+ uchar *data = 0; -+ int result = XGetWindowProperty(display, win, ATOM(_NET_SYSTEM_TRAY_VISUAL), 0, 1, -+ False, XA_VISUALID, &actual_type, -+ &actual_format, &nitems, &bytes_remaining, &data); -+ VisualID vid = 0; -+ if (result == Success && data && actual_type == XA_VISUALID && actual_format == 32 && -+ nitems == 1 && bytes_remaining == 0) -+ vid = *(VisualID*)data; -+ if (data) -+ XFree(data); -+ if (vid == 0) -+ return 0; -+ -+ uint mask = VisualIDMask; -+ XVisualInfo *vi, rvi; -+ int count; -+ rvi.visualid = vid; -+ vi = XGetVisualInfo(display, mask, &rvi, &count); -+ if (vi) { -+ sysTrayVisual = vi[0]; -+ XFree((char*)vi); -+ } -+ if (sysTrayVisual.depth != 32) -+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -+ } -+ } -+ -+ return sysTrayVisual.visual ? &sysTrayVisual : 0; -+} -+ -+bool QSystemTrayIconWidget::sysTrayTracker(void *message, long *result) -+{ -+ bool retval = false; -+ if (QSystemTrayIconWidget::oldEventFilter) -+ retval = QSystemTrayIconWidget::oldEventFilter(message, result); -+ -+ if (trayIcons.isEmpty()) -+ return retval; -+ -+ Display *display = QX11Info::display(); -+ XEvent *ev = (XEvent *)message; -+ if (ev->type == DestroyNotify && ev->xany.window == sysTrayWindow) { -+ sysTrayWindow = locateSystemTray(); -+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -+ for (int i = 0; i < trayIcons.count(); i++) { -+ if (sysTrayWindow == XNone) { -+ QBalloonTip::hideBalloon(); -+ trayIcons[i]->hide(); // still no luck -+ trayIcons[i]->destroy(); -+ trayIcons[i]->create(); -+ } else -+ trayIcons[i]->addToTray(); // add it to the new tray -+ } -+ retval = true; -+ } else if (ev->type == ClientMessage && sysTrayWindow == XNone) { -+ static Atom manager_atom = XInternAtom(display, "MANAGER", False); -+ XClientMessageEvent *cm = (XClientMessageEvent *)message; -+ if ((cm->message_type == manager_atom) && ((Atom)cm->data.l[1] == sysTraySelection)) { -+ sysTrayWindow = cm->data.l[2]; -+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -+ XSelectInput(display, sysTrayWindow, StructureNotifyMask); -+ for (int i = 0; i < trayIcons.count(); i++) { -+ trayIcons[i]->addToTray(); -+ } -+ retval = true; -+ } -+ } else if (ev->type == PropertyNotify && ev->xproperty.atom == ATOM(_NET_SYSTEM_TRAY_VISUAL) && -+ ev->xproperty.window == sysTrayWindow) { -+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -+ for (int i = 0; i < trayIcons.count(); i++) { -+ trayIcons[i]->addToTray(); -+ } -+ } -+ -+ return retval; -+} -+ -+void QSystemTrayIconWidget::addToTray() -+{ -+ Q_ASSERT(sysTrayWindow != XNone); -+ Display *display = QX11Info::display(); -+ -+ XVisualInfo *vi = getSysTrayVisualInfo(); -+ if (vi && vi->visual) { -+ Window root = RootWindow(display, vi->screen); -+ Window p = root; -+ if (QWidget *pw = parentWidget()) -+ p = pw->effectiveWinId(); -+ colormap = XCreateColormap(display, root, vi->visual, AllocNone); -+ XSetWindowAttributes wsa; -+ wsa.background_pixmap = 0; -+ wsa.colormap = colormap; -+ wsa.background_pixel = 0; -+ wsa.border_pixel = 0; -+ Window wid = XCreateWindow(display, p, -1, -1, 1, 1, -+ 0, vi->depth, InputOutput, vi->visual, -+ CWBackPixmap|CWBackPixel|CWBorderPixel|CWColormap, &wsa); -+ create(wid); -+ } else { -+ XSetWindowBackgroundPixmap(display, winId(), ParentRelative); -+ } -+ -+ // GNOME, NET WM Specification -+ static Atom netwm_tray_atom = XInternAtom(display, "_NET_SYSTEM_TRAY_OPCODE", False); -+ long l[5] = { CurrentTime, SYSTEM_TRAY_REQUEST_DOCK, static_cast<long>(winId()), 0, 0 }; -+ XEvent ev; -+ memset(&ev, 0, sizeof(ev)); -+ ev.xclient.type = ClientMessage; -+ ev.xclient.window = sysTrayWindow; -+ ev.xclient.message_type = netwm_tray_atom; -+ ev.xclient.format = 32; -+ memcpy((char *)&ev.xclient.data, (const char *) l, sizeof(l)); -+ XSendEvent(display, sysTrayWindow, False, 0, &ev); -+ setMinimumSize(22, 22); // required at least on GNOME -+} -+ -+//////////////////////////////////////////////////////////////////////////// -+QXEmbedSystemTrayIconSys::QXEmbedSystemTrayIconSys(QSystemTrayIcon *q) -+: QAbstractSystemTrayIconSys(q) -+, widget(0) -+{ -+} -+ -+QXEmbedSystemTrayIconSys::~QXEmbedSystemTrayIconSys() -+{ -+ delete widget; -+} -+ -+QRect QXEmbedSystemTrayIconSys::geometry() const -+{ -+ if (!widget) -+ return QRect(); -+ return QRect(widget->mapToGlobal(QPoint(0, 0)), widget->size()); -+} -+ -+void QXEmbedSystemTrayIconSys::updateIcon() -+{ -+ if (!widget) -+ return; -+ widget->update(); -+} -+ -+void QXEmbedSystemTrayIconSys::updateToolTip() -+{ -+ if (!widget) -+ return; -+ widget->setToolTip(trayIcon->toolTip()); -+} -+ -+void QXEmbedSystemTrayIconSys::showMessage(const QString &message, const QString &title, -+ QSystemTrayIcon::MessageIcon icon, int msecs) -+{ -+ if (!widget) -+ return; -+ QPoint point = geometry().center(); -+ QBalloonTip::showBalloon(icon, message, title, trayIcon, point, msecs); -+} -+ -+void QXEmbedSystemTrayIconSys::updateVisibility() -+{ -+ bool visible = trayIcon->isVisible(); -+ if (visible && !widget) -+ widget = new QSystemTrayIconWidget(trayIcon, this); -+ else if (!visible && widget) { -+ delete widget; -+ widget = 0; -+ } -+} -+ -+void QXEmbedSystemTrayIconSys::sendToolTipEventToTrayIcon() -+{ -+#ifndef QT_NO_TOOLTIP -+ // Pass the event through QSystemTrayIcon so that it gets a chance to -+ // update the tooltip, then asks widget to show the tooltip -+ Q_ASSERT(widget); -+ QPoint globalPos = QCursor::pos(); -+ QPoint pos = widget->mapFromGlobal(globalPos); -+ QHelpEvent event(QEvent::ToolTip, pos, globalPos); -+ QApplication::sendEvent(trayIcon, &event); -+#endif -+} -+ -+void QXEmbedSystemTrayIconSys::sendWheelEventToTrayIcon(int delta, Qt::Orientation orientation) -+{ -+#ifndef QT_NO_WHEELEVENT -+ Q_ASSERT(widget); -+ QPoint globalPos = QCursor::pos(); -+ QPoint pos = widget->mapFromGlobal(globalPos); -+ QWheelEvent event(pos, globalPos, delta, Qt::NoButton, Qt::NoModifier, orientation); -+ QApplication::sendEvent(trayIcon, &event); -+#endif -+} -+ -+void QXEmbedSystemTrayIconSys::updateMenu() -+{ -+} -+ -+///////////////////////////////////////////////////////////// -+QAbstractSystemTrayIconSys * QXEmbedSystemTrayIconSysFactory::create(QSystemTrayIcon *icon) -+{ -+ return new QXEmbedSystemTrayIconSys(icon); -+} -+ -+bool QXEmbedSystemTrayIconSysFactory::isAvailable() const -+{ -+ return QSystemTrayIconWidget::locateSystemTray() != XNone; -+} -+ -+QT_END_NAMESPACE -+#endif //QT_NO_SYSTEMTRAYICON -diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11_p.h.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11_p.h ---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11_p.h.systemtrayicon 2014-03-31 18:16:39.709974914 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11_p.h 2014-03-31 18:16:39.709974914 -0500 -@@ -0,0 +1,104 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -+** All rights reserved. -+** Contact: Nokia Corporation (qt-info@nokia.com) -+** -+** This file is part of the QtGui module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** GNU Lesser General Public License Usage -+** This file may be used under the terms of the GNU Lesser General Public -+** License version 2.1 as published by the Free Software Foundation and -+** appearing in the file LICENSE.LGPL included in the packaging of this -+** file. Please review the following information to ensure the GNU Lesser -+** General Public License version 2.1 requirements will be met: -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Nokia gives you certain additional -+** rights. These rights are described in the Nokia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU General -+** Public License version 3.0 as published by the Free Software Foundation -+** and appearing in the file LICENSE.GPL included in the packaging of this -+** file. Please review the following information to ensure the GNU General -+** Public License version 3.0 requirements will be met: -+** http://www.gnu.org/copyleft/gpl.html. -+** -+** Other Usage -+** Alternatively, this file may be used in accordance with the terms and -+** conditions contained in a signed written agreement between you and Nokia. -+** -+** -+** -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#ifndef QXEMBEDSYSTEMTRAYICON_X11_P_H -+#define QXEMBEDSYSTEMTRAYICON_X11_P_H -+ -+// -+// W A R N I N G -+// ------------- -+// -+// This file is not part of the Qt API. It exists for the convenience -+// of a number of Qt sources files. This header file may change from -+// version to version without notice, or even be removed. -+// -+// We mean it. -+// -+ -+#ifndef QT_NO_SYSTEMTRAYICON -+ -+#include "qabstractsystemtrayiconsys_p.h" -+ -+QT_BEGIN_NAMESPACE -+ -+class QSystemTrayIconWidget; -+ -+class QXEmbedSystemTrayIconSys : public QAbstractSystemTrayIconSys -+{ -+public: -+ QXEmbedSystemTrayIconSys(QSystemTrayIcon *); -+ ~QXEmbedSystemTrayIconSys(); -+ -+ QRect geometry() const; -+ -+ void updateVisibility(); -+ -+ void updateIcon(); -+ -+ void updateToolTip(); -+ -+ void updateMenu(); -+ -+ void showMessage(const QString &message, const QString &title, -+ QSystemTrayIcon::MessageIcon icon, int msecs); -+ -+private: -+ friend class QSystemTrayIconWidget; -+ QSystemTrayIconWidget *widget; -+ -+ void sendToolTipEventToTrayIcon(); -+ -+ void sendWheelEventToTrayIcon(int delta, Qt::Orientation orientation); -+}; -+ -+struct QXEmbedSystemTrayIconSysFactory : public QSystemTrayIconSysFactoryInterface -+{ -+ QAbstractSystemTrayIconSys * create(QSystemTrayIcon *trayIcon); -+ bool isAvailable() const; -+}; -+ -+ -+QT_END_NAMESPACE -+ -+#endif // QT_NO_SYSTEMTRAYICON -+ -+#endif // QXEMBEDSYSTEMTRAYICON_X11_P_H -+ -diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/util.pri.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/util.pri ---- qt-everywhere-opensource-src-4.8.6/src/gui/util/util.pri.systemtrayicon 2014-03-30 15:36:49.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/util.pri 2014-03-31 18:16:39.710974903 -0500 -@@ -29,8 +29,13 @@ wince* { - } - - unix:x11 { -+ HEADERS += \ -+ util/qabstractsystemtrayiconsys_p.h \ -+ util/qxembedsystemtrayicon_x11_p.h - SOURCES += \ -- util/qsystemtrayicon_x11.cpp -+ util/qabstractsystemtrayiconsys.cpp \ -+ util/qsystemtrayicon_x11.cpp \ -+ util/qxembedsystemtrayicon_x11.cpp - } - - embedded|qpa { diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch deleted file mode 100644 index 9bce98ff..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h.majmin qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h ---- qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h.majmin 2015-05-07 09:14:48.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h 2016-12-08 12:10:29.677359701 -0600 -@@ -52,7 +52,7 @@ - /* - can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0)) - */ --#define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch)) -+#define QT_VERSION_CHECK(qt_version_check_major, qt_version_check_minor, qt_version_check_patch) ((qt_version_check_major<<16)|(qt_version_check_minor<<8)|(qt_version_check_patch)) - - #define QT_PACKAGEDATE_STR "2015-05-07" - diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch deleted file mode 100644 index 572a955d..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch +++ /dev/null @@ -1,137 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp.than qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp ---- qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp.than 2016-02-10 16:31:02.450152334 +0100 -+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp 2016-02-10 16:31:51.495307579 +0100 -@@ -40,7 +40,7 @@ - ****************************************************************************/ - - #include <alsa/asoundlib.h> --#if(!(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 10)) -+#if(!(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 10))) - #error "Alsa version found too old, require >= 1.0.10" - #endif - -diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp -index 973cbab..0b27e9d 100644 ---- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp -+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp -@@ -63,7 +63,7 @@ QAudioDeviceInfoInternal::QAudioDeviceInfoInternal(QByteArray dev, QAudio::Mode - device = QLatin1String(dev); - this->mode = mode; - --#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) -+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14)) - checkSurround(); - #endif - } -@@ -159,13 +159,13 @@ bool QAudioDeviceInfoInternal::open() - QList<QByteArray> devices = availableDevices(mode); - - if(dev.compare(QLatin1String("default")) == 0) { --#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) -+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14)) - dev = QLatin1String(devices.first().constData()); - #else - dev = QLatin1String("hw:0,0"); - #endif - } else { --#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) -+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14)) - dev = device; - #else - int idx = 0; -@@ -212,13 +212,13 @@ bool QAudioDeviceInfoInternal::testSettings(const QAudioFormat& format) const - QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioOutput); - - if(dev.compare(QLatin1String("default")) == 0) { --#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) -+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14)) - dev = QLatin1String(devices.first().constData()); - #else - dev = QLatin1String("hw:0,0"); - #endif - } else { --#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) -+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14)) - dev = device; - #else - int idx = 0; -@@ -396,7 +396,7 @@ void QAudioDeviceInfoInternal::updateLists() - } - channelz.append(1); - channelz.append(2); --#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) -+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14)) - if (surround40) channelz.append(4); - if (surround51) channelz.append(6); - if (surround71) channelz.append(8); -@@ -419,7 +419,7 @@ QList<QByteArray> QAudioDeviceInfoInternal::availableDevices(QAudio::Mode mode) - QList<QByteArray> devices; - QByteArray filter; - --#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) -+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14)) - // Create a list of all current audio devices that support mode - void **hints, **n; - char *name, *descr, *io; -@@ -498,7 +498,7 @@ QByteArray QAudioDeviceInfoInternal::defaultOutputDevice() - return devices.first(); - } - --#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) -+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14)) - void QAudioDeviceInfoInternal::checkSurround() - { - QList<QByteArray> devices; -diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h -index 96febf4..714bf60 100644 ---- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h -+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h -@@ -98,7 +98,7 @@ private: - bool open(); - void close(); - --#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) -+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14)) - void checkSurround(); - bool surround40; - bool surround51; -diff --git a/src/multimedia/audio/qaudioinput_alsa_p.cpp b/src/multimedia/audio/qaudioinput_alsa_p.cpp -index 339fd9f..abfa4a1 100644 ---- a/src/multimedia/audio/qaudioinput_alsa_p.cpp -+++ b/src/multimedia/audio/qaudioinput_alsa_p.cpp -@@ -284,13 +284,13 @@ bool QAudioInputPrivate::open() - QString dev = QString(QLatin1String(m_device.constData())); - QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioInput); - if(dev.compare(QLatin1String("default")) == 0) { --#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) -+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14)) - dev = QLatin1String(devices.first()); - #else - dev = QLatin1String("hw:0,0"); - #endif - } else { --#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) -+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14)) - dev = QLatin1String(m_device); - #else - int idx = 0; -diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.cpp b/src/multimedia/audio/qaudiooutput_alsa_p.cpp -index bf85de5..c29a89f 100644 ---- a/src/multimedia/audio/qaudiooutput_alsa_p.cpp -+++ b/src/multimedia/audio/qaudiooutput_alsa_p.cpp -@@ -299,13 +299,13 @@ bool QAudioOutputPrivate::open() - QString dev = QString(QLatin1String(m_device.constData())); - QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioOutput); - if(dev.compare(QLatin1String("default")) == 0) { --#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) -+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14)) - dev = QLatin1String(devices.first()); - #else - dev = QLatin1String("hw:0,0"); - #endif - } else { --#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) -+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14)) - dev = QLatin1String(m_device); - #else - int idx = 0; diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-crash-in-qppmhandler.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-crash-in-qppmhandler.patch deleted file mode 100644 index eeed1b97..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-crash-in-qppmhandler.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp.me qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp ---- qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp.me 2019-03-22 10:22:16.213800109 +0100 -+++ qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp 2019-03-22 10:22:40.721890281 +0100 -@@ -108,7 +108,7 @@ static bool read_pbm_header(QIODevice *d - else - mcc = read_pbm_int(device); // get max color component - -- if (w <= 0 || w > 32767 || h <= 0 || h > 32767 || mcc <= 0) -+ if (w <= 0 || w > 32767 || h <= 0 || h > 32767 || mcc <= 0 || mcc > 0xffff) - return false; // weird P.M image - - return true; diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-firebird.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-firebird.patch deleted file mode 100644 index 456abceb..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-firebird.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp.ibase qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp ---- qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp.ibase 2015-05-07 09:14:42.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp 2016-11-30 10:55:05.825339674 -0600 -@@ -39,7 +39,7 @@ - ** - ****************************************************************************/ - --#include <ibase.h> -+#include <firebird/ibase.h> - - int main(int, char **) - { -diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro.ibase qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro ---- qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro.ibase 2015-05-07 09:14:42.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro 2016-11-30 10:56:11.017740104 -0600 -@@ -1,4 +1,4 @@ - SOURCES = ibase.cpp - CONFIG -= qt dylib - mac:CONFIG -= app_bundle --LIBS += -lgds -+LIBS += -lfbclient -diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h.ibase qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h ---- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h.ibase 2015-05-07 09:14:48.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h 2016-11-30 10:57:34.516252974 -0600 -@@ -45,7 +45,7 @@ - #include <QtSql/qsqlresult.h> - #include <QtSql/qsqldriver.h> - #include <QtSql/private/qsqlcachedresult_p.h> --#include <ibase.h> -+#include <firebird/ibase.h> - - QT_BEGIN_HEADER - -diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri.ibase qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri ---- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri.ibase 2015-05-07 09:14:48.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri 2016-11-30 10:57:11.783113341 -0600 -@@ -2,7 +2,7 @@ HEADERS += $$PWD/qsql_ibase.h - SOURCES += $$PWD/qsql_ibase.cpp - - unix { -- !contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lgds -+ !contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lfbclient - } else { - !contains(LIBS, .*gds.*):!contains(LIBS, .*fbclient.*) { - win32-borland:LIBS += gds32.lib diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc6.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc6.patch deleted file mode 100644 index 42129293..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc6.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.7/configure.gcc6 qt-everywhere-opensource-src-4.8.7/configure ---- qt-everywhere-opensource-src-4.8.7/configure.gcc6 2016-04-15 07:04:19.430268222 -0500 -+++ qt-everywhere-opensource-src-4.8.7/configure 2016-04-15 07:05:22.157568689 -0500 -@@ -7744,7 +7744,7 @@ case "$XPLATFORM" in - *-g++*) - # Check gcc's version - case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in -- 5*|4*|3.4*) -+ 9*|8*|7*|6*|5*|4*|3.4*) - ;; - 3.3*) - canBuildWebKit="no" -@@ -8060,7 +8060,7 @@ g++*) - 3.*) - COMPILER_VERSION="3.*" - ;; -- 5*|4.*) -+ 9*|8*|7*|6*|5*|4.*) - COMPILER_VERSION="4" - ;; - *) -diff -up qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6 qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h ---- qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6 2015-05-07 09:14:48.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h 2016-04-15 07:04:19.431268227 -0500 -@@ -70,8 +70,8 @@ namespace QPatternist - ForegroundShift = 10, - BackgroundShift = 20, - SpecialShift = 20, -- ForegroundMask = ((1 << ForegroundShift) - 1) << ForegroundShift, -- BackgroundMask = ((1 << BackgroundShift) - 1) << BackgroundShift -+ ForegroundMask = 0x1f << ForegroundShift, -+ BackgroundMask = 0x7 << BackgroundShift - }; - - public: diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch deleted file mode 100644 index 7e79d217..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.7/src/script/script.pro.gcc8 qt-everywhere-opensource-src-4.8.7/src/script/script.pro ---- qt-everywhere-opensource-src-4.8.7/src/script/script.pro.gcc8 2015-05-07 09:14:43.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/src/script/script.pro 2018-05-19 16:01:24.699926959 -0500 -@@ -91,6 +91,9 @@ symbian { - TARGET.UID3=0x2001B2E1 - } - -+# hack around gcc8 optimization bug with -O2 -+QMAKE_CXXFLAGS_RELEASE += -O1 -+ - symbian { - symbian-abld|symbian-sbsv2 { - MMP_RULES += ALWAYS_BUILD_AS_ARM diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-icu59.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-icu59.patch deleted file mode 100644 index 3edcdef0..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-icu59.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Fabian Vogt <fabian@ritter-vogt.de> -Subject: Fix build with ICU >= 59 - -ICU >= 59 requires C++11 for its header files. -Qt can't be compiled with -std=c++11 as a whole, so only enable -it for qlocale_icu.cpp. - -Index: qt-everywhere-opensource-src-4.8.7/src/corelib/tools/tools.pri -=================================================================== ---- qt-everywhere-opensource-src-4.8.7.orig/src/corelib/tools/tools.pri -+++ qt-everywhere-opensource-src-4.8.7/src/corelib/tools/tools.pri -@@ -102,7 +102,15 @@ contains(QT_CONFIG, zlib):include($$PWD/ - else:include($$PWD/../../3rdparty/zlib_dependency.pri) - - contains(QT_CONFIG,icu) { -- SOURCES += tools/qlocale_icu.cpp -+ cpp11.name = cpp11 -+ cpp11.input = SOURCES_CPP11 -+ cpp11.dependency_type = TYPE_C -+ cpp11.variable_out = OBJECTS -+ cpp11.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)} -+ cpp11.commands = $${QMAKE_CXX} $(CXXFLAGS) -std=c++11 $(INCPATH) -c ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} -+ QMAKE_EXTRA_COMPILERS += cpp11 -+ -+ SOURCES_CPP11 += tools/qlocale_icu.cpp - DEFINES += QT_USE_ICU - } - diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mariadb.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mariadb.patch deleted file mode 100644 index 7e480138..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mariadb.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp.mariadb qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp ---- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp.mariadb 2015-05-07 09:14:48.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp 2017-10-23 14:13:15.871808984 -0500 -@@ -1105,11 +1105,16 @@ static void qLibraryInit() - } - # endif // MYSQL_VERSION_ID - #endif // Q_NO_MYSQL_EMBEDDED -+ -+#if defined(MARIADB_BASE_VERSION) || defined(MARIADB_VERSION_ID) -+ qAddPostRoutine(mysql_server_end); -+#endif - } - - static void qLibraryEnd() - { - #ifndef Q_NO_MYSQL_EMBEDDED -+#if !defined(MARIADB_BASE_VERSION) && !defined(MARIADB_VERSION_ID) - # if MYSQL_VERSION_ID > 40000 - # if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003 - mysql_library_end(); -@@ -1118,6 +1123,7 @@ static void qLibraryEnd() - # endif - # endif - #endif -+#endif - } - - QMYSQLDriver::QMYSQLDriver(QObject * parent) diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mips64.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mips64.patch deleted file mode 100644 index 6456f2c6..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mips64.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -urp qt-everywhere-opensource-src-4.8.7/configure q/configure ---- qt-everywhere-opensource-src-4.8.7/configure 2016-04-03 16:49:50.218644449 +0200 -+++ q/configure 2016-04-03 17:22:35.376405024 +0200 -@@ -3331,6 +3331,9 @@ arm*) - CFG_ARCH=arm - COMPAT_ARCH=armv6 - ;; -+mips*) -+ CFG_ARCH=mips -+ ;; - esac - - if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch deleted file mode 100644 index 6a994603..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch +++ /dev/null @@ -1,694 +0,0 @@ -diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslcertificate.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslcertificate.cpp ---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslcertificate.cpp 2015-05-07 16:14:44.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslcertificate.cpp 2018-01-05 17:44:16.997588265 +0100 -@@ -259,10 +259,10 @@ - QByteArray QSslCertificate::version() const - { - QMutexLocker lock(QMutexPool::globalInstanceGet(d.data())); -- if (d->versionString.isEmpty() && d->x509) -+ if (d->versionString.isEmpty() && d->x509) { - d->versionString = -- QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1); -- -+ QByteArray::number(qlonglong(q_X509_get_version(d->x509)) + 1); -+ } - return d->versionString; - } - -@@ -276,7 +276,7 @@ - { - QMutexLocker lock(QMutexPool::globalInstanceGet(d.data())); - if (d->serialNumberString.isEmpty() && d->x509) { -- ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber; -+ ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509); - // if we cannot convert to a long, just output the hexadecimal number - if (serialNumber->length > 4) { - QByteArray hexString; -@@ -489,24 +489,33 @@ - QSslKey key; - - key.d->type = QSsl::PublicKey; -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - X509_PUBKEY *xkey = d->x509->cert_info->key; -+#else -+ X509_PUBKEY *xkey = q_X509_get_X509_PUBKEY(d->x509); -+#endif - EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey); - Q_ASSERT(pkey); - -- if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) { -+ int key_id; -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ key_id = q_EVP_PKEY_type(pkey->type); -+#else -+ key_id = q_EVP_PKEY_base_id(pkey); -+#endif -+ if (key_id == EVP_PKEY_RSA) { - key.d->rsa = q_EVP_PKEY_get1_RSA(pkey); - key.d->algorithm = QSsl::Rsa; - key.d->isNull = false; -- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) { -+ } else if (key_id == EVP_PKEY_DSA) { - key.d->dsa = q_EVP_PKEY_get1_DSA(pkey); - key.d->algorithm = QSsl::Dsa; - key.d->isNull = false; -- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) { -+ } else if (key_id == EVP_PKEY_DH) { - // DH unsupported - } else { - // error? - } -- - q_EVP_PKEY_free(pkey); - return key; - } -@@ -687,7 +696,11 @@ - unsigned char *data = 0; - int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e)); - info[QString::fromUtf8(obj)] = QString::fromUtf8((char*)data, size); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - q_CRYPTO_free(data); -+#else -+ q_CRYPTO_free(data, __FILE__, __LINE__); -+#endif - } - return info; - } -diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslkey.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslkey.cpp ---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslkey.cpp 2015-05-07 16:14:44.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslkey.cpp 2018-01-05 18:00:27.453937599 +0100 -@@ -321,8 +321,19 @@ - { - if (d->isNull) - return -1; -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - return (d->algorithm == QSsl::Rsa) - ? q_BN_num_bits(d->rsa->n) : q_BN_num_bits(d->dsa->p); -+#else -+ if (d->algorithm == QSsl::Rsa) { -+ return q_RSA_bits(d->rsa); -+ } else { -+ const BIGNUM *p = (const BIGNUM *) NULL; -+ q_DSA_get0_pqg(d->dsa, &p, (const BIGNUM **) NULL, (const BIGNUM **) NULL); -+ return q_BN_num_bits(p); -+ } -+#endif -+ - } - - /*! -diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl.cpp ---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp 2015-05-07 16:14:44.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl.cpp 2018-01-05 12:06:06.336990956 +0100 -@@ -93,6 +93,7 @@ - bool QSslSocketPrivate::s_loadedCiphersAndCerts = false; - bool QSslSocketPrivate::s_loadRootCertsOnDemand = false; - -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - /* \internal - - From OpenSSL's thread(3) manual page: -@@ -174,6 +175,8 @@ - } - } // extern "C" - -+#endif //OPENSSL_VERSION_NUMBER >= 0x10100000L -+ - QSslSocketBackendPrivate::QSslSocketBackendPrivate() - : ssl(0), - ctx(0), -@@ -222,9 +225,12 @@ - ciph.d->encryptionMethod = descriptionList.at(4).mid(4); - ciph.d->exportable = (descriptionList.size() > 6 && descriptionList.at(6) == QLatin1String("export")); - -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - ciph.d->bits = cipher->strength_bits; - ciph.d->supportedBits = cipher->alg_bits; -- -+#else -+ ciph.d->bits = q_SSL_CIPHER_get_bits(cipher, &ciph.d->supportedBits); -+#endif - } - return ciph; - } -@@ -363,7 +369,7 @@ - // - // See also: QSslContext::fromConfiguration() - if (caCertificate.expiryDate() >= QDateTime::currentDateTime()) { -- q_X509_STORE_add_cert(ctx->cert_store, (X509 *)caCertificate.handle()); -+ q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(ctx), (X509 *)caCertificate.handle()); - } - } - -@@ -500,8 +506,10 @@ - */ - void QSslSocketPrivate::deinitialize() - { -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - q_CRYPTO_set_id_callback(0); - q_CRYPTO_set_locking_callback(0); -+#endif - } - - /*! -@@ -522,13 +530,17 @@ - return false; - - // Check if the library itself needs to be initialized. -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - QMutexLocker locker(openssl_locks()->initLock()); -+#endif - if (!s_libraryLoaded) { - s_libraryLoaded = true; - - // Initialize OpenSSL. -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - q_CRYPTO_set_id_callback(id_function); - q_CRYPTO_set_locking_callback(locking_function); -+#endif - if (q_SSL_library_init() != 1) - return false; - q_SSL_load_error_strings(); -@@ -567,7 +579,9 @@ - - void QSslSocketPrivate::ensureCiphersAndCertsLoaded() - { -- QMutexLocker locker(openssl_locks()->initLock()); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ QMutexLocker locker(openssl_locks()->initLock()); -+#endif - if (s_loadedCiphersAndCerts) - return; - s_loadedCiphersAndCerts = true; -@@ -659,13 +673,18 @@ - STACK_OF(SSL_CIPHER) *supportedCiphers = q_SSL_get_ciphers(mySsl); - for (int i = 0; i < q_sk_SSL_CIPHER_num(supportedCiphers); ++i) { - if (SSL_CIPHER *cipher = q_sk_SSL_CIPHER_value(supportedCiphers, i)) { -- if (cipher->valid) { -+ -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ if (cipher->valid) { -+#endif - QSslCipher ciph = QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(cipher); - if (!ciph.isNull()) { - if (!ciph.name().toLower().startsWith(QLatin1String("adh"))) - ciphers << ciph; - } -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - } -+#endif - } - } - -diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_p.h qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_p.h ---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_p.h 2015-05-07 16:14:44.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_p.h 2018-01-05 12:06:06.337990940 +0100 -@@ -84,6 +84,10 @@ - #include <openssl/tls1.h> - #endif - -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+#define OPENSSL_NO_SSL2 -+#endif -+ - #if OPENSSL_VERSION_NUMBER >= 0x10000000L - typedef _STACK STACK; - #endif -diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols.cpp ---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp 2015-05-07 16:14:44.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols.cpp 2018-01-05 17:59:10.636973932 +0100 -@@ -111,16 +111,30 @@ - DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return); - DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return) - DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return) -+#else -+DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return) -+#endif - DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return) - DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return) -+#else -+DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return) -+#endif - DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return) - DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return) - DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG) - DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG) -+#endif -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG) -+#else -+DEFINEFUNC3(void, CRYPTO_free, void *a, a, const char *b, b, int c, c, return, DUMMYARG) -+#endif - DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG) - #if OPENSSL_VERSION_NUMBER < 0x00908000L - DEFINEFUNC3(X509 *, d2i_X509, X509 **a, a, unsigned char **b, b, long c, c, return 0, return) -@@ -157,6 +171,7 @@ - DEFINEFUNC2(void, RAND_seed, const void *a, a, int b, b, return, DUMMYARG) - DEFINEFUNC(int, RAND_status, void, DUMMYARG, return -1, return) - DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return) - DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG) - #if OPENSSL_VERSION_NUMBER >= 0x10000000L -@@ -166,6 +181,12 @@ - DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG) - DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return) - #endif -+#else -+DEFINEFUNC(int, OPENSSL_sk_num, STACK *a, a, return -1, return) -+DEFINEFUNC2(void, OPENSSL_sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG) -+DEFINEFUNC(void, OPENSSL_sk_free, _STACK *a, a, return, DUMMYARG) -+DEFINEFUNC2(void *, OPENSSL_sk_value, STACK *a, a, int b, b, return 0, return) -+#endif - DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return) - DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return) - DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return) -@@ -213,8 +234,12 @@ - #else - DEFINEFUNC(long, SSL_get_verify_result, SSL *a, a, return -1, return) - #endif -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return) - DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG) -+#else -+DEFINEFUNC2(int, OPENSSL_init_ssl, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return -1, return) -+#endif - DEFINEFUNC(SSL *, SSL_new, SSL_CTX *a, a, return 0, return) - #if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT) - DEFINEFUNC4(long, SSL_ctrl, SSL *a, a, int cmd, cmd, long larg, larg, void *parg, parg, return -1, return) -@@ -229,13 +254,21 @@ - DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) - #endif - DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) -+#else -+DEFINEFUNC(const SSL_METHOD *, TLS_client_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif - DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return) - #ifndef OPENSSL_NO_SSL2 - DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) - #endif - DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) -+#else -+DEFINEFUNC(const SSL_METHOD *, TLS_server_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif - DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) - #else - DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) -@@ -274,7 +307,11 @@ - DEFINEFUNC(int, X509_STORE_CTX_get_error, X509_STORE_CTX *a, a, return -1, return) - DEFINEFUNC(int, X509_STORE_CTX_get_error_depth, X509_STORE_CTX *a, a, return -1, return) - DEFINEFUNC(X509 *, X509_STORE_CTX_get_current_cert, X509_STORE_CTX *a, a, return 0, return) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return) -+#else -+DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get0_chain, X509_STORE_CTX *a, a, return 0, return) -+#endif - DEFINEFUNC(X509_STORE_CTX *, X509_STORE_CTX_new, DUMMYARG, DUMMYARG, return 0, return) - #ifdef SSLEAY_MACROS - DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return) -@@ -282,10 +319,34 @@ - DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return) - DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return) - #endif -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG) - DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG) -+#else -+DEFINEFUNC2(int, OPENSSL_init_crypto, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return -1, return) -+#endif - DEFINEFUNC3(int, SSL_CTX_load_verify_locations, SSL_CTX *ctx, ctx, const char *CAfile, CAfile, const char *CApath, CApath, return 0, return) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return) -+#else -+DEFINEFUNC(unsigned long, OpenSSL_version_num, void, DUMMYARG, return 0, return) -+#endif -+DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *ctx, ctx, return 0, return) -+ -+DEFINEFUNC(ASN1_INTEGER *, X509_get_serialNumber, X509 *x, x, return 0, return) -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+DEFINEFUNC(int, EVP_PKEY_id, const EVP_PKEY *pkey, pkey, return 0, return) -+DEFINEFUNC(int, EVP_PKEY_base_id, const EVP_PKEY *pkey, pkey, return 0, return) -+DEFINEFUNC2(int, SSL_CIPHER_get_bits, const SSL_CIPHER *cipher, cipher, int *alg_bits, alg_bits, return 0, return) -+DEFINEFUNC2(long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, long options, options, return 0, return) -+DEFINEFUNC(long, X509_get_version, X509 *x, x, return 0, return) -+DEFINEFUNC(X509_PUBKEY *, X509_get_X509_PUBKEY, X509 *x, x, return 0, return) -+DEFINEFUNC(int, RSA_bits, const RSA *rsa, rsa, return 0, return) -+DEFINEFUNC(int, DSA_security_bits, const DSA *dsa, dsa, return 0, return) -+DEFINEFUNC(ASN1_TIME *, X509_getm_notAfter, X509 *x, x, return 0, return) -+DEFINEFUNC(ASN1_TIME *, X509_getm_notBefore, X509 *x, x, return 0, return) -+DEFINEFUNC4(void, DSA_get0_pqg, const DSA *d, d, const BIGNUM **p, p, const BIGNUM **q, q, const BIGNUM **g, g, return, return) -+#endif - - #ifdef Q_OS_SYMBIAN - #define RESOLVEFUNC(func, ordinal, lib) \ -@@ -580,7 +641,11 @@ - static volatile bool symbolsResolved = false; - static volatile bool triedToResolveSymbols = false; - #ifndef QT_NO_THREAD -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_SSL_library_init)); -+#else -+ QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_OPENSSL_init_ssl)); -+#endif - #endif - if (symbolsResolved) - return true; -@@ -614,9 +679,11 @@ - RESOLVEFUNC(BIO_write, 269, libs.second ) - RESOLVEFUNC(BN_num_bits, 387, libs.second ) - RESOLVEFUNC(CRYPTO_free, 469, libs.second ) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - RESOLVEFUNC(CRYPTO_num_locks, 500, libs.second ) - RESOLVEFUNC(CRYPTO_set_id_callback, 513, libs.second ) - RESOLVEFUNC(CRYPTO_set_locking_callback, 516, libs.second ) -+#endif - RESOLVEFUNC(DSA_free, 594, libs.second ) - RESOLVEFUNC(ERR_error_string, 744, libs.second ) - RESOLVEFUNC(ERR_get_error, 749, libs.second ) -@@ -674,8 +741,10 @@ - RESOLVEFUNC(SSL_get_peer_cert_chain, 117, libs.first ) - RESOLVEFUNC(SSL_get_peer_certificate, 118, libs.first ) - RESOLVEFUNC(SSL_get_verify_result, 132, libs.first ) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - RESOLVEFUNC(SSL_library_init, 137, libs.first ) - RESOLVEFUNC(SSL_load_error_strings, 139, libs.first ) -+#endif - RESOLVEFUNC(SSL_new, 140, libs.first ) - #if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT) - RESOLVEFUNC(SSL_ctrl, 95, libs.first ) -@@ -747,9 +816,11 @@ - RESOLVEFUNC(BIO_write) - RESOLVEFUNC(BN_num_bits) - RESOLVEFUNC(CRYPTO_free) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - RESOLVEFUNC(CRYPTO_num_locks) - RESOLVEFUNC(CRYPTO_set_id_callback) - RESOLVEFUNC(CRYPTO_set_locking_callback) -+#endif - RESOLVEFUNC(DSA_free) - RESOLVEFUNC(ERR_error_string) - RESOLVEFUNC(ERR_get_error) -@@ -779,10 +850,17 @@ - RESOLVEFUNC(RAND_seed) - RESOLVEFUNC(RAND_status) - RESOLVEFUNC(RSA_free) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - RESOLVEFUNC(sk_free) - RESOLVEFUNC(sk_num) - RESOLVEFUNC(sk_pop_free) - RESOLVEFUNC(sk_value) -+#else -+ RESOLVEFUNC(OPENSSL_sk_free) -+ RESOLVEFUNC(OPENSSL_sk_num) -+ RESOLVEFUNC(OPENSSL_sk_pop_free) -+ RESOLVEFUNC(OPENSSL_sk_value) -+#endif - RESOLVEFUNC(SSL_CIPHER_description) - RESOLVEFUNC(SSL_CTX_check_private_key) - RESOLVEFUNC(SSL_CTX_ctrl) -@@ -797,6 +875,7 @@ - RESOLVEFUNC(SSL_CTX_use_PrivateKey) - RESOLVEFUNC(SSL_CTX_use_RSAPrivateKey) - RESOLVEFUNC(SSL_CTX_use_PrivateKey_file) -+ RESOLVEFUNC(SSL_CTX_get_cert_store) - RESOLVEFUNC(SSL_accept) - RESOLVEFUNC(SSL_clear) - RESOLVEFUNC(SSL_connect) -@@ -807,8 +886,12 @@ - RESOLVEFUNC(SSL_get_peer_cert_chain) - RESOLVEFUNC(SSL_get_peer_certificate) - RESOLVEFUNC(SSL_get_verify_result) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - RESOLVEFUNC(SSL_library_init) - RESOLVEFUNC(SSL_load_error_strings) -+#else -+ RESOLVEFUNC(OPENSSL_init_ssl) -+#endif - RESOLVEFUNC(SSL_new) - #if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT) - RESOLVEFUNC(SSL_ctrl) -@@ -819,17 +902,47 @@ - RESOLVEFUNC(SSL_set_connect_state) - RESOLVEFUNC(SSL_shutdown) - RESOLVEFUNC(SSL_write) -+ -+ RESOLVEFUNC(X509_get_serialNumber) -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+ RESOLVEFUNC(SSL_CTX_ctrl) -+ RESOLVEFUNC(EVP_PKEY_id) -+ RESOLVEFUNC(EVP_PKEY_base_id) -+ RESOLVEFUNC(SSL_CIPHER_get_bits) -+ RESOLVEFUNC(SSL_CTX_set_options) -+ RESOLVEFUNC(X509_get_version) -+ RESOLVEFUNC(X509_get_X509_PUBKEY) -+ RESOLVEFUNC(RSA_bits) -+ RESOLVEFUNC(DSA_security_bits) -+ RESOLVEFUNC(DSA_get0_pqg) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ RESOLVEFUNC(X509_get_notAfter) -+ RESOLVEFUNC(X509_get_notBefore) -+#else -+ RESOLVEFUNC(X509_getm_notAfter) -+ RESOLVEFUNC(X509_getm_notBefore) -+#endif -+#endif -+ - #ifndef OPENSSL_NO_SSL2 - RESOLVEFUNC(SSLv2_client_method) - #endif - RESOLVEFUNC(SSLv3_client_method) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - RESOLVEFUNC(SSLv23_client_method) -+#else -+ RESOLVEFUNC(TLS_client_method) -+#endif - RESOLVEFUNC(TLSv1_client_method) - #ifndef OPENSSL_NO_SSL2 - RESOLVEFUNC(SSLv2_server_method) - #endif - RESOLVEFUNC(SSLv3_server_method) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - RESOLVEFUNC(SSLv23_server_method) -+#else -+ RESOLVEFUNC(TLS_server_method) -+#endif - RESOLVEFUNC(TLSv1_server_method) - RESOLVEFUNC(X509_NAME_entry_count) - RESOLVEFUNC(X509_NAME_get_entry) -@@ -846,7 +959,11 @@ - RESOLVEFUNC(X509_STORE_CTX_get_error) - RESOLVEFUNC(X509_STORE_CTX_get_error_depth) - RESOLVEFUNC(X509_STORE_CTX_get_current_cert) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - RESOLVEFUNC(X509_STORE_CTX_get_chain) -+#else -+ RESOLVEFUNC(X509_STORE_CTX_get0_chain) -+#endif - RESOLVEFUNC(X509_cmp) - #ifndef SSLEAY_MACROS - RESOLVEFUNC(X509_dup) -@@ -867,10 +984,18 @@ - RESOLVEFUNC(d2i_DSAPrivateKey) - RESOLVEFUNC(d2i_RSAPrivateKey) - #endif -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf) - RESOLVEFUNC(OPENSSL_add_all_algorithms_conf) -+#else -+ RESOLVEFUNC(OPENSSL_init_crypto) -+#endif - RESOLVEFUNC(SSL_CTX_load_verify_locations) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - RESOLVEFUNC(SSLeay) -+#else -+ RESOLVEFUNC(OpenSSL_version_num) -+#endif - #endif // Q_OS_SYMBIAN - symbolsResolved = true; - delete libs.first; -diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols_p.h qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols_p.h ---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols_p.h 2015-05-07 16:14:44.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols_p.h 2018-01-05 17:59:42.041550255 +0100 -@@ -207,16 +207,31 @@ - int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b); - long q_BIO_ctrl(BIO *a, int b, long c, void *d); - int q_BIO_free(BIO *a); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - BIO *q_BIO_new(BIO_METHOD *a); -+#else -+BIO *q_BIO_new(const BIO_METHOD *a); -+#endif - BIO *q_BIO_new_mem_buf(void *a, int b); - int q_BIO_read(BIO *a, void *b, int c); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - BIO_METHOD *q_BIO_s_mem(); -+#else -+const BIO_METHOD *q_BIO_s_mem(); -+#endif - int q_BIO_write(BIO *a, const void *b, int c); - int q_BN_num_bits(const BIGNUM *a); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - int q_CRYPTO_num_locks(); - void q_CRYPTO_set_locking_callback(void (*a)(int, int, const char *, int)); - void q_CRYPTO_set_id_callback(unsigned long (*a)()); - void q_CRYPTO_free(void *a); -+#else -+#define q_CRYPTO_num_locks() 1 -+#define q_CRYPTO_set_locking_callback(a) -+#define q_CRYPTO_set_id_callback(a) -+void q_CRYPTO_free(void *a, const char *b, int c); -+#endif - void q_DSA_free(DSA *a); - #if OPENSSL_VERSION_NUMBER >= 0x00908000L - // 0.9.8 broke SC and BC by changing this function's signature. -@@ -258,6 +273,7 @@ - void q_RAND_seed(const void *a, int b); - int q_RAND_status(); - void q_RSA_free(RSA *a); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - int q_sk_num(STACK *a); - void q_sk_pop_free(STACK *a, void (*b)(void *)); - #if OPENSSL_VERSION_NUMBER >= 0x10000000L -@@ -267,6 +283,16 @@ - void q_sk_free(STACK *a); - char * q_sk_value(STACK *a, int b); - #endif -+#else -+int q_OPENSSL_sk_num(STACK *a); -+void q_OPENSSL_sk_pop_free(STACK *a, void (*b)(void *)); -+void q_OPENSSL_sk_free(_STACK *a); -+void * q_OPENSSL_sk_value(STACK *a, int b); -+#define q_sk_num q_OPENSSL_sk_num -+#define q_sk_pop_free q_OPENSSL_sk_pop_free -+#define q_sk_free q_OPENSSL_sk_free -+#define q_sk_value q_OPENSSL_sk_value -+#endif - int q_SSL_accept(SSL *a); - int q_SSL_clear(SSL *a); - char *q_SSL_CIPHER_description(SSL_CIPHER *a, char *b, int c); -@@ -314,8 +340,14 @@ - #else - long q_SSL_get_verify_result(SSL *a); - #endif -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - int q_SSL_library_init(); - void q_SSL_load_error_strings(); -+#else -+int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); -+#define q_SSL_library_init() q_OPENSSL_init_ssl(0, (const OPENSSL_INIT_SETTINGS *) NULL) -+#define q_SSL_load_error_strings() q_OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, (const OPENSSL_INIT_SETTINGS *) NULL) -+#endif - SSL *q_SSL_new(SSL_CTX *a); - #if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT) - long q_SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg); -@@ -328,11 +360,21 @@ - #if OPENSSL_VERSION_NUMBER >= 0x10000000L - const SSL_METHOD *q_SSLv2_client_method(); - const SSL_METHOD *q_SSLv3_client_method(); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - const SSL_METHOD *q_SSLv23_client_method(); -+#else -+const SSL_METHOD *q_TLS_client_method(); -+#define q_SSLv23_client_method q_TLS_client_method -+#endif - const SSL_METHOD *q_TLSv1_client_method(); - const SSL_METHOD *q_SSLv2_server_method(); - const SSL_METHOD *q_SSLv3_server_method(); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - const SSL_METHOD *q_SSLv23_server_method(); -+#else -+const SSL_METHOD *q_TLS_server_method(); -+#define q_SSLv23_server_method q_TLS_server_method -+#endif - const SSL_METHOD *q_TLSv1_server_method(); - #else - SSL_METHOD *q_SSLv2_client_method(); -@@ -377,7 +419,12 @@ - int q_X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); - int q_X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); - X509 *q_X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - STACK_OF(X509) *q_X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx); -+#else -+STACK_OF(X509) *q_X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx); -+#define q_X509_STORE_CTX_get_chain q_X509_STORE_CTX_get0_chain -+#endif - - #define q_BIO_get_mem_data(b, pp) (int)q_BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp) - #define q_BIO_pending(b) (int)q_BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL) -@@ -399,7 +446,25 @@ - PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_DSAPrivateKey,PEM_STRING_DSA,\ - bp,(char *)x,enc,kstr,klen,cb,u) - #endif -+ -+X509_STORE * q_SSL_CTX_get_cert_store(const SSL_CTX *ctx); -+ASN1_INTEGER * q_X509_get_serialNumber(X509 *x); -+ -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - #define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL) -+#define q_X509_get_version(x) X509_get_version(x) -+#else -+int q_EVP_PKEY_id(const EVP_PKEY *pkey); -+int q_EVP_PKEY_base_id(const EVP_PKEY *pkey); -+int q_SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *alg_bits); -+long q_SSL_CTX_set_options(SSL_CTX *ctx, long options); -+long q_X509_get_version(X509 *x); -+X509_PUBKEY * q_X509_get_X509_PUBKEY(X509 *x); -+int q_RSA_bits(const RSA *rsa); -+int q_DSA_security_bits(const DSA *dsa); -+void q_DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g); -+#endif -+ - #define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st) - #define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_sk_value)(st, i) - #define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st)) -@@ -410,8 +475,17 @@ - #define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i)) - #define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \ - q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509) -+ -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - #define q_X509_get_notAfter(x) X509_get_notAfter(x) - #define q_X509_get_notBefore(x) X509_get_notBefore(x) -+#else -+ASN1_TIME *q_X509_getm_notAfter(X509 *x); -+ASN1_TIME *q_X509_getm_notBefore(X509 *x); -+#define q_X509_get_notAfter(x) q_X509_getm_notAfter(x) -+#define q_X509_get_notBefore(x) q_X509_getm_notBefore(x) -+#endif -+ - #define q_EVP_PKEY_assign_RSA(pkey,rsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\ - (char *)(rsa)) - #define q_EVP_PKEY_assign_DSA(pkey,dsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\ -@@ -421,10 +495,21 @@ - #else - #define q_OpenSSL_add_all_algorithms() q_OPENSSL_add_all_algorithms_noconf() - #endif -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - void q_OPENSSL_add_all_algorithms_noconf(); - void q_OPENSSL_add_all_algorithms_conf(); -+#else -+int q_OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); -+#define q_OPENSSL_add_all_algorithms_conf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS | OPENSSL_INIT_LOAD_CONFIG, (const OPENSSL_INIT_SETTINGS *) NULL) -+# define q_OPENSSL_add_all_algorithms_noconf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS, (const OPENSSL_INIT_SETTINGS *) NULL) -+#endif - int q_SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - long q_SSLeay(); -+#else -+unsigned long q_OpenSSL_version_num(); -+#define q_SSLeay q_OpenSSL_version_num -+#endif - - // Helper function - class QDateTime; diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qforeach.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qforeach.patch deleted file mode 100644 index 836dc13a..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qforeach.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/src/corelib/global/qglobal.h -+++ b/src/corelib/global/qglobal.h -@@ -2482,22 +2482,32 @@ typedef uint Flags; - - #endif /* Q_NO_TYPESAFE_FLAGS */ - --#if defined(Q_CC_GNU) && !defined(Q_CC_INTEL) && !defined(Q_CC_RVCT) -+#if (defined(Q_CC_GNU) && !defined(Q_CC_RVCT)) - /* make use of typeof-extension */ - template <typename T> - class QForeachContainer { - public: -- inline QForeachContainer(const T& t) : c(t), brk(0), i(c.begin()), e(c.end()) { } -+ inline QForeachContainer(const T& t) : c(t), i(c.begin()), e(c.end()), control(1) { } - const T c; - int brk; - typename T::const_iterator i, e; -+ int control; - }; - -+// Explanation of the control word: -+// - it's initialized to 1 -+// - that means both the inner and outer loops start -+// - if there were no breaks, at the end of the inner loop, it's set to 0, which -+// causes it to exit (the inner loop is run exactly once) -+// - at the end of the outer loop, it's inverted, so it becomes 1 again, allowing -+// the outer loop to continue executing -+// - if there was a break inside the inner loop, it will exit with control still -+// set to 1; in that case, the outer loop will invert it to 0 and will exit too - #define Q_FOREACH(variable, container) \ - for (QForeachContainer<__typeof__(container)> _container_(container); \ -- !_container_.brk && _container_.i != _container_.e; \ -- __extension__ ({ ++_container_.brk; ++_container_.i; })) \ -- for (variable = *_container_.i;; __extension__ ({--_container_.brk; break;})) -+ _container_.control && _container_.i != _container_.e; \ -+ ++_container_.i, _container_.control ^= 1) \ -+ for (variable = *_container_.i; _container_.control; _container_.control = 0) - - #else - diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch deleted file mode 100644 index f1a5a12e..00000000 --- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix.qmake_LFLAGS qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix ---- qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix.qmake_LFLAGS 2015-05-07 09:14:42.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix 2018-02-15 08:25:13.168838577 -0600 -@@ -3,7 +3,7 @@ BUILD_PATH = @BUILD_PATH@ - QTOBJS = @QMAKE_QTOBJS@ - QTSRCS = @QMAKE_QTSRCS@ - QMAKESPEC = @QMAKESPEC@ --LFLAGS = @QMAKE_LFLAGS@ -+LFLAGS = @QMAKE_LFLAGS@ $(QMAKE_LFLAGS_RELEASE) - - #qmake code - OBJS=project.o property.o main.o makefile.o unixmake2.o unixmake.o \ diff --git a/source/l/qt/patches/qt-prefer_adwaita_on_gnome.patch b/source/l/qt/patches/qt-prefer_adwaita_on_gnome.patch deleted file mode 100644 index 71e30c4f..00000000 --- a/source/l/qt/patches/qt-prefer_adwaita_on_gnome.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- src/gui/kernel/qguiplatformplugin.cpp.adwaita 2015-02-12 14:32:45.217935391 +0100 -+++ src/gui/kernel/qguiplatformplugin.cpp 2015-02-12 14:46:11.471866038 +0100 -@@ -165,8 +165,13 @@ QString QGuiPlatformPlugin::styleName() - case DE_GNOME: { - QStringList availableStyles = QStyleFactory::keys(); - // Set QGtkStyle for GNOME if available -+ QString adwaitaStyleKey = QString::fromLatin1("adwaita"); - QString gtkStyleKey = QString::fromLatin1("GTK+"); -- if (availableStyles.contains(gtkStyleKey)) { -+ if (availableStyles.contains(adwaitaStyleKey)) { -+ stylename = adwaitaStyleKey; -+ break; -+ } -+ else if (availableStyles.contains(gtkStyleKey)) { - stylename = gtkStyleKey; - break; - } diff --git a/source/l/qt/patches/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch b/source/l/qt/patches/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch deleted file mode 100644 index e5ab4bad..00000000 --- a/source/l/qt/patches/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff -ur qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_i386.h qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_i386.h ---- qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_i386.h 2009-02-25 22:09:21.000000000 +0100 -+++ qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_i386.h 2009-04-01 17:54:21.000000000 +0200 -@@ -115,8 +115,8 @@ - asm volatile("lock\n" - "incl %0\n" - "setne %1" -- : "=m" (_q_value), "=qm" (ret) -- : "m" (_q_value) -+ : "+m" (_q_value), "=qm" (ret) -+ : - : "memory"); - return ret != 0; - } -@@ -127,8 +127,8 @@ - asm volatile("lock\n" - "decl %0\n" - "setne %1" -- : "=m" (_q_value), "=qm" (ret) -- : "m" (_q_value) -+ : "+m" (_q_value), "=qm" (ret) -+ : - : "memory"); - return ret != 0; - } -diff -ur qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_x86_64.h qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_x86_64.h ---- qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_x86_64.h 2009-02-25 22:09:21.000000000 +0100 -+++ qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_x86_64.h 2009-04-01 17:54:32.000000000 +0200 -@@ -116,8 +116,8 @@ - asm volatile("lock\n" - "incl %0\n" - "setne %1" -- : "=m" (_q_value), "=qm" (ret) -- : "m" (_q_value) -+ : "+m" (_q_value), "=qm" (ret) -+ : - : "memory"); - return ret != 0; - } -@@ -128,8 +128,8 @@ - asm volatile("lock\n" - "decl %0\n" - "setne %1" -- : "=m" (_q_value), "=qm" (ret) -- : "m" (_q_value) -+ : "+m" (_q_value), "=qm" (ret) -+ : - : "memory"); - return ret != 0; - } diff --git a/source/l/qt/patches/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch b/source/l/qt/patches/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch deleted file mode 100644 index 4ab3ea4b..00000000 --- a/source/l/qt/patches/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp.enable_ft_lcdfilter qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp ---- qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp.enable_ft_lcdfilter 2009-04-21 18:57:41.000000000 -0500 -+++ qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp 2009-04-24 11:17:49.562695405 -0500 -@@ -72,7 +72,7 @@ - #include FT_CONFIG_OPTIONS_H - #endif - --#if defined(FT_LCD_FILTER_H) && defined(FT_CONFIG_OPTION_SUBPIXEL_RENDERING) -+#if defined(FT_LCD_FILTER_H) - #define QT_USE_FREETYPE_LCDFILTER - #endif - |