diff options
author | Davide Beatrici <davidebeatrici@gmail.com> | 2019-09-12 23:44:16 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-12 23:44:16 +0300 |
commit | a38d19a7595c3e672f5ed549400b36348e01e442 (patch) | |
tree | 34bd1c4db9b95748d263aea811e849dec7e5525c | |
parent | 713b92c3c233f8f38200c4a458e0196d3d39a3b0 (diff) | |
parent | 15831dbca85dd906edbad2bfff2b147527a456e2 (diff) |
Merge PR #3644: Don't include PCH headers directly, add missing includes
194 files changed, 1199 insertions, 628 deletions
diff --git a/3rdparty/qqbonjour-src/BonjourServiceBrowser.cpp b/3rdparty/qqbonjour-src/BonjourServiceBrowser.cpp index ce30e5f66..329c42c4b 100644 --- a/3rdparty/qqbonjour-src/BonjourServiceBrowser.cpp +++ b/3rdparty/qqbonjour-src/BonjourServiceBrowser.cpp @@ -26,10 +26,10 @@ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "murmur_pch.h" - #include "BonjourServiceBrowser.h" +#include <QtCore/QSocketNotifier> + BonjourServiceBrowser::BonjourServiceBrowser(QObject *p) : QObject(p), dnssref(0), bonjourSocket(0) { } diff --git a/3rdparty/qqbonjour-src/BonjourServiceRegister.cpp b/3rdparty/qqbonjour-src/BonjourServiceRegister.cpp index 110f06aca..b9143e3ed 100644 --- a/3rdparty/qqbonjour-src/BonjourServiceRegister.cpp +++ b/3rdparty/qqbonjour-src/BonjourServiceRegister.cpp @@ -27,10 +27,10 @@ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "murmur_pch.h" - #include "BonjourServiceRegister.h" +#include <QtCore/QSocketNotifier> + BonjourServiceRegister::BonjourServiceRegister(QObject *p) : QObject(p), dnssref(0), bonjourSocket(0) { } diff --git a/3rdparty/qqbonjour-src/BonjourServiceResolver.cpp b/3rdparty/qqbonjour-src/BonjourServiceResolver.cpp index 0cfd7eb08..18b9e571d 100644 --- a/3rdparty/qqbonjour-src/BonjourServiceResolver.cpp +++ b/3rdparty/qqbonjour-src/BonjourServiceResolver.cpp @@ -27,10 +27,11 @@ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "murmur_pch.h" - #include "BonjourServiceResolver.h" +#include <QtCore/QSocketNotifier> +#include <QtCore/QtEndian> + BonjourServiceResolver::ResolveRecord::ResolveRecord(const BonjourRecord &r, BonjourServiceResolver *p) : record(r), bsr(p), dnssref(NULL), bonjourSocket(NULL), bonjourPort(-1) { } diff --git a/3rdparty/smallft-src/smallft.cpp b/3rdparty/smallft-src/smallft.cpp index dc64a191e..210590f90 100644 --- a/3rdparty/smallft-src/smallft.cpp +++ b/3rdparty/smallft-src/smallft.cpp @@ -38,10 +38,12 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ********************************************************************/ -#include "mumble_pch.hpp" - #include "smallft.h" +#include <cmath> +#include <cstdlib> +#include <cstring> + static void drfti1(int n, float *wa, int *ifac) { static int ntryh[4] = { 4,2,3,5 }; static float tpi = 6.28318530717958648f; diff --git a/src/ACL.cpp b/src/ACL.cpp index c9de31cbe..c0f9538e1 100644 --- a/src/ACL.cpp +++ b/src/ACL.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "ACL.h" #include "Channel.h" #include "Group.h" @@ -12,6 +10,8 @@ #ifdef MURMUR #include "ServerUser.h" + +#include <QtCore/QStack> #endif ChanACL::ChanACL(Channel *chan) : QObject(chan) { diff --git a/src/Ban.cpp b/src/Ban.cpp index 5c14ae086..8413e55a4 100644 --- a/src/Ban.cpp +++ b/src/Ban.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "Ban.h" bool Ban::isExpired() const { diff --git a/src/ByteSwap.h b/src/ByteSwap.h index 54521ef85..d570351cc 100644 --- a/src/ByteSwap.h +++ b/src/ByteSwap.h @@ -6,14 +6,17 @@ #ifndef MUMBLE_BYTESWAP_H_ #define MUMBLE_BYTESWAP_H_ +#include <QtCore/QtGlobal> + #if Q_BYTE_ORDER == Q_BIG_ENDIAN -#define SWAP64(x) (x) -#else -#if defined(__x86_64__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) -#define SWAP64(x) __builtin_bswap64(x) +# define SWAP64(x) (x) #else -#define SWAP64(x) qbswap<quint64>(x) -#endif +# if defined(__x86_64__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) +# define SWAP64(x) __builtin_bswap64(x) +# else +# include <QtCore/QtEndian> +# define SWAP64(x) qbswap<quint64>(x) +# endif #endif #endif diff --git a/src/Channel.cpp b/src/Channel.cpp index 658c4d24e..f6aad6b84 100644 --- a/src/Channel.cpp +++ b/src/Channel.cpp @@ -3,13 +3,13 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "Channel.h" #include "User.h" #include "Group.h" #include "ACL.h" +#include <QtCore/QStack> + #ifdef MUMBLE QHash<int, Channel *> Channel::c_qhChannels; QReadWriteLock Channel::c_qrwlChannels; diff --git a/src/Connection.cpp b/src/Connection.cpp index 4c07c54de..885322e82 100644 --- a/src/Connection.cpp +++ b/src/Connection.cpp @@ -3,20 +3,22 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - -#ifdef Q_OS_UNIX -#include <sys/socket.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <netinet/tcp.h> -#endif - #include "Connection.h" #include "Message.h" #include "SSL.h" #include "Mumble.pb.h" +#include <QtCore/QtEndian> +#include <QtNetwork/QHostAddress> + +#ifdef Q_OS_WIN +# include <qos2.h> +#else +# include <sys/socket.h> +# include <sys/types.h> +# include <netinet/in.h> +# include <netinet/tcp.h> +#endif #ifdef Q_OS_WIN HANDLE Connection::hQoS = NULL; diff --git a/src/Connection.h b/src/Connection.h index 307f98ef9..534d2b8e8 100644 --- a/src/Connection.h +++ b/src/Connection.h @@ -7,21 +7,29 @@ #define MUMBLE_CONNECTION_H_ #include <QtCore/QtGlobal> + +#ifdef Q_OS_WIN +# include "win.h" +#endif + +#include "CryptState.h" + #include <QtCore/QMutex> + #if QT_VERSION >= 0x040700 -#include <QtCore/QElapsedTimer> +# include <QtCore/QElapsedTimer> #else -#include <QtCore/QTime> +# include <QtCore/QTime> #endif + #include <QtCore/QList> #include <QtCore/QObject> #include <QtNetwork/QSslSocket> + #ifdef Q_OS_WIN -#include <windows.h> +# include <ws2tcpip.h> #endif -#include "CryptState.h" - namespace google { namespace protobuf { class Message; diff --git a/src/CryptState.cpp b/src/CryptState.cpp index fbe97c5af..2a1bc90a1 100644 --- a/src/CryptState.cpp +++ b/src/CryptState.cpp @@ -12,12 +12,25 @@ * OCB with something else or get yourself a license. */ -#include "murmur_pch.h" +#include <QtCore/QtGlobal> + +#ifndef __LP64__ +# ifdef Q_OS_WIN +# include "win.h" +# include <winsock2.h> +# else +# include <arpa/inet.h> +# endif +#endif #include "CryptState.h" #include "ByteSwap.h" +#include <cstring> + +#include <openssl/rand.h> + CryptState::CryptState() { for (int i=0;i<0x100;i++) decrypt_history[i] = 0; diff --git a/src/CryptographicHash.cpp b/src/CryptographicHash.cpp index 280979d1c..f84951f2c 100644 --- a/src/CryptographicHash.cpp +++ b/src/CryptographicHash.cpp @@ -3,10 +3,12 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "CryptographicHash.h" +#include <QtCore/QString> + +#include <openssl/evp.h> + class CryptographicHashPrivate { public: CryptographicHashPrivate(const EVP_MD *type); diff --git a/src/CryptographicRandom.cpp b/src/CryptographicRandom.cpp index 5dbfa9853..1f5750a77 100644 --- a/src/CryptographicRandom.cpp +++ b/src/CryptographicRandom.cpp @@ -3,12 +3,14 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "CryptographicRandom.h" #include "arc4random_uniform.h" +#include <QtCore/QDebug> + +#include <openssl/rand.h> + void CryptographicRandom::fillBuffer(void *buf, int numBytes) { // We treat negative and zero values of numBytes to be // fatal errors in the program. Abort the program if such diff --git a/src/FFDHE.cpp b/src/FFDHE.cpp index 6d290fd18..15269f316 100644 --- a/src/FFDHE.cpp +++ b/src/FFDHE.cpp @@ -3,11 +3,11 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "FFDHE.h" #include "FFDHETable.h" +#include <QtCore/QStringList> + QStringList FFDHE::NamedGroups() { QStringList ng; ng << QLatin1String("ffdhe2048"); diff --git a/src/FFDHE.h b/src/FFDHE.h index 73461fff3..a0522f6da 100644 --- a/src/FFDHE.h +++ b/src/FFDHE.h @@ -6,6 +6,10 @@ #ifndef MUMBLE_FFDHE_H_ #define MUMBLE_FFDHE_H_ +class QByteArray; +class QString; +class QStringList; + /// FFDHE provides access to the Diffie-Hellman parameters from RFC 7919. class FFDHE { public: diff --git a/src/Group.cpp b/src/Group.cpp index a9d6ab6b7..2ae8270ba 100644 --- a/src/Group.cpp +++ b/src/Group.cpp @@ -3,14 +3,14 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "Group.h" #include "Channel.h" #include "User.h" #ifdef MURMUR #include "ServerUser.h" + +#include <QtCore/QStack> #endif Group::Group(Channel *assoc, const QString &name) { diff --git a/src/HTMLFilter.cpp b/src/HTMLFilter.cpp index 2c7b982b3..6f1dd0e00 100644 --- a/src/HTMLFilter.cpp +++ b/src/HTMLFilter.cpp @@ -3,10 +3,10 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "HTMLFilter.h" +#include <QtCore/QXmlStreamReader> + QString HTMLFilter::escapeTags(const QString &in) { QString out; for (int i = 0; i < in.size(); i++) { diff --git a/src/HostAddress.cpp b/src/HostAddress.cpp index f0b8ced07..6002cfa50 100644 --- a/src/HostAddress.cpp +++ b/src/HostAddress.cpp @@ -3,12 +3,23 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "HostAddress.h" #include "ByteSwap.h" +#ifdef Q_OS_WIN +# include "win.h" +# include <winsock2.h> +# include <ws2tcpip.h> +#else +# include <arpa/inet.h> +# if defined(Q_OS_FREEBSD) || defined(Q_OS_OPENBSD) +# include <netinet/in.h> +# include <sys/socket.h> +# include <sys/types.h> +# endif +#endif + HostAddress::HostAddress() { addr[0] = addr[1] = 0ULL; } diff --git a/src/License.cpp b/src/License.cpp index a27c98988..ecc490535 100644 --- a/src/License.cpp +++ b/src/License.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "License.h" #include "licenses.h" diff --git a/src/LogEmitter.cpp b/src/LogEmitter.cpp index 3791f1b37..3363d3e58 100644 --- a/src/LogEmitter.cpp +++ b/src/LogEmitter.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "LogEmitter.h" LogEmitter::LogEmitter(QObject *p) : QObject(p) { diff --git a/src/Net.cpp b/src/Net.cpp index 53884f6c7..2794e4b0d 100644 --- a/src/Net.cpp +++ b/src/Net.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "Net.h" #include "HostAddress.h" diff --git a/src/OSInfo.cpp b/src/OSInfo.cpp index 79284d1a7..55e6ddb8c 100644 --- a/src/OSInfo.cpp +++ b/src/OSInfo.cpp @@ -3,30 +3,41 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" +#include <QtCore/QtGlobal> #if defined(Q_OS_WIN) -#include <intrin.h> +# include "win.h" +#endif + +#include "OSInfo.h" + +#include "Version.h" + +#include <QtCore/QCryptographicHash> +#include <QtCore/QProcess> +#include <QtNetwork/QNetworkInterface> +#include <QtXml/QDomDocument> + +#if defined(Q_OS_WIN) +# include <intrin.h> #endif #if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) -#include <sys/utsname.h> +# include <sys/utsname.h> #endif #if defined(Q_OS_MAC) -#include <sys/types.h> -#include <sys/sysctl.h> -#include <mach-o/arch.h> +# include <Carbon/Carbon.h> +# include <sys/types.h> +# include <sys/sysctl.h> +# include <mach-o/arch.h> // Ignore deprecation warnings for Gestalt. // See mumble-voip/mumble#3290 for more information. -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +# pragma GCC diagnostic ignored "-Wdeprecated-declarations" #endif -#include "OSInfo.h" -#include "Version.h" - #if defined(Q_OS_WIN) // regString converts a wchar_t string of size to a // QString. If the string contains a NUL value, that diff --git a/src/OSInfo.h b/src/OSInfo.h index 630c6a9d4..6f6e0e26f 100644 --- a/src/OSInfo.h +++ b/src/OSInfo.h @@ -6,8 +6,12 @@ #ifndef MUMBLE_OSINFO_H_ #define MUMBLE_OSINFO_H_ +#include <QtCore/QList> +#include <QtCore/QString> + class QDomDocument; class QDomElement; +class QHostAddress; class OSInfo { public: diff --git a/src/PasswordGenerator.cpp b/src/PasswordGenerator.cpp index 0f4c76840..9241121de 100644 --- a/src/PasswordGenerator.cpp +++ b/src/PasswordGenerator.cpp @@ -3,11 +3,11 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "CryptographicRandom.h" #include "PasswordGenerator.h" +#include <QtCore/QVector> + // This is a password alphabet that tries to be human-friendly. // Most cases of ambiguitiy have been removed. // diff --git a/src/PlatformCheck.cpp b/src/PlatformCheck.cpp index 8ade8aec8..e3669c690 100644 --- a/src/PlatformCheck.cpp +++ b/src/PlatformCheck.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include <QtCore/QLibrary> #include "PlatformCheck.h" diff --git a/src/SSL.cpp b/src/SSL.cpp index 9b369f87e..6b803204b 100644 --- a/src/SSL.cpp +++ b/src/SSL.cpp @@ -3,13 +3,17 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "SSL.h" #include "SSLLocks.h" #include "Version.h" + +#include <QtNetwork/QSslConfiguration> +#include <QtNetwork/QSslSocket> + +#include <openssl/ssl.h> + void MumbleSSL::initialize() { // Let Qt initialize its copy of OpenSSL, if it's different than // Mumble's. (Initialization is a side-effect of calling diff --git a/src/SSLCipherInfo.cpp b/src/SSLCipherInfo.cpp index d588d6ebc..bea2ebcfd 100644 --- a/src/SSLCipherInfo.cpp +++ b/src/SSLCipherInfo.cpp @@ -3,13 +3,13 @@ // that can be found in the LICENSE file at the root of the
// Mumble source tree or at <https://www.mumble.info/LICENSE>.
-#include "murmur_pch.h"
-
#include "SSLCipherInfo.h"
// Include SSLCipherInfoTable generated by 'cipherinfo.py'.
#include "SSLCipherInfoTable.h"
+#include <cstring>
+
const SSLCipherInfo *SSLCipherInfoLookupByOpenSSLName(const char *openSslCipherName) {
int len = sizeof(cipher_info_lookup_table) / sizeof(*cipher_info_lookup_table);
for (int i = 0; i < len; i++) {
diff --git a/src/SSLLocks.cpp b/src/SSLLocks.cpp index 1f15365a4..b98cca04a 100644 --- a/src/SSLLocks.cpp +++ b/src/SSLLocks.cpp @@ -3,10 +3,13 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "SSLLocks.h" +#include <QtCore/QMutex> +#include <QtCore/QThread> + +#include <openssl/crypto.h> + static QMutex **locks = NULL; void locking_callback(int mode, int type, const char *, int) { diff --git a/src/SelfSignedCertificate.cpp b/src/SelfSignedCertificate.cpp index a29c7782f..1ea6b3761 100644 --- a/src/SelfSignedCertificate.cpp +++ b/src/SelfSignedCertificate.cpp @@ -3,10 +3,10 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "SelfSignedCertificate.h" +#include <openssl/x509v3.h> + #define SSL_STRING(x) QString::fromLatin1(x).toUtf8().data() static int add_ext(X509 * crt, int nid, char *value) { diff --git a/src/ServerAddress.cpp b/src/ServerAddress.cpp index ba1aa5187..cc5f2c909 100644 --- a/src/ServerAddress.cpp +++ b/src/ServerAddress.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "ServerAddress.h" ServerAddress::ServerAddress() diff --git a/src/ServerResolver_nosrv.cpp b/src/ServerResolver_nosrv.cpp index ef2076308..07b62bdfb 100644 --- a/src/ServerResolver_nosrv.cpp +++ b/src/ServerResolver_nosrv.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "ServerResolver.h" #include <QtNetwork/QHostInfo> diff --git a/src/ServerResolver_qt5.cpp b/src/ServerResolver_qt5.cpp index 543c3c8d7..299ba6a07 100644 --- a/src/ServerResolver_qt5.cpp +++ b/src/ServerResolver_qt5.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "ServerResolver.h" #include <QtNetwork/QDnsLookup> diff --git a/src/Timer.cpp b/src/Timer.cpp index 15a04e42f..1ececf43c 100644 --- a/src/Timer.cpp +++ b/src/Timer.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include <boost/version.hpp> // Not all Boost versions can use a header-only @@ -78,7 +76,7 @@ quint64 Timer::now() { return static_cast<quint64>(epochDurationUsec.count()); } #elif defined(Q_OS_WIN) -#include <windows.h> +# include "win.h" quint64 Timer::now() { static double scale = 0; diff --git a/src/UnresolvedServerAddress.cpp b/src/UnresolvedServerAddress.cpp index 3fc89a18a..2308db4aa 100644 --- a/src/UnresolvedServerAddress.cpp +++ b/src/UnresolvedServerAddress.cpp @@ -3,10 +3,10 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "UnresolvedServerAddress.h" +#include <QtCore/QHash> + UnresolvedServerAddress::UnresolvedServerAddress() : port(0) {} diff --git a/src/User.cpp b/src/User.cpp index 7af321599..4e127880f 100644 --- a/src/User.cpp +++ b/src/User.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "User.h" #include "Channel.h" diff --git a/src/Utils.h b/src/Utils.h new file mode 100644 index 000000000..a1a66e2f6 --- /dev/null +++ b/src/Utils.h @@ -0,0 +1,32 @@ +// Copyright 2005-2019 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at <https://www.mumble.info/LICENSE>. + +// This header file defines common utility macros and values that are generally valid or used across multiple areas giving them generic scope (rather than localized or functionality-specific scope). + +#ifndef MUMBLE_UTILS_H_ +#define MUMBLE_UTILS_H_ + +#include "QAtomicIntCompat.h" +#include "Qt4Compat.h" + +#include <QtCore/QtGlobal> + +#define iroundf(x) ( static_cast<int>(x) ) + +#ifdef Q_OS_WIN +# define STACKVAR(type, varname, count) type *varname=reinterpret_cast<type *>(_alloca(sizeof(type) * (count))) +#else +# ifdef WId + typedef WId HWND; +# endif +# define __cdecl +# define INVALID_SOCKET -1 +# define SOCKET_ERROR -1 +# define STACKVAR(type, varname, count) type varname[count] +# define CopyMemory(dst,ptr,len) memcpy(dst,ptr,len) +# define ZeroMemory(ptr,len) memset(ptr, 0, len) +#endif + +#endif // MUMBLE_UTILS_H_ diff --git a/src/Version.cpp b/src/Version.cpp index 7d6b546b9..baffbb5bb 100644 --- a/src/Version.cpp +++ b/src/Version.cpp @@ -3,10 +3,10 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "Version.h" +#include <QtCore/QRegExp> + unsigned int MumbleVersion::getRaw(const QString &version) { int major, minor, patch; diff --git a/src/Version.h b/src/Version.h index 13d9e5424..c41756ada 100644 --- a/src/Version.h +++ b/src/Version.h @@ -6,6 +6,8 @@ #ifndef MUMBLE_VERSION_H_ #define MUMBLE_VERSION_H_ +#include <QtCore/QString> + #define MUMXTEXT(X) #X #define MUMTEXT(X) MUMXTEXT(X) diff --git a/src/mumble/ACLEditor.cpp b/src/mumble/ACLEditor.cpp index eac63f3b0..1636129ea 100644 --- a/src/mumble/ACLEditor.cpp +++ b/src/mumble/ACLEditor.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "ACLEditor.h" #include "ACL.h" @@ -15,6 +13,12 @@ #include "ServerHandler.h" #include "User.h" +#if QT_VERSION >= 0x050000 +# include <QtWidgets/QMessageBox> +#else +# include <QtGui/QMessageBox> +#endif + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/ALSAAudio.cpp b/src/mumble/ALSAAudio.cpp index e468b4240..1808ed55c 100644 --- a/src/mumble/ALSAAudio.cpp +++ b/src/mumble/ALSAAudio.cpp @@ -3,16 +3,17 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" +#include "ALSAAudio.h" + +#include "MainWindow.h" +#include "User.h" +#include "Utils.h" #include <alsa/asoundlib.h> #include <sys/poll.h> -#include "ALSAAudio.h" - -#include "MainWindow.h" +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" -#include "User.h" #define NBLOCKS 8 diff --git a/src/mumble/ASIOInput.cpp b/src/mumble/ASIOInput.cpp index 183e3eb87..9a8f6174d 100644 --- a/src/mumble/ASIOInput.cpp +++ b/src/mumble/ASIOInput.cpp @@ -3,11 +3,16 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "ASIOInput.h" #include "MainWindow.h" +#include "Utils.h" + +#include <QtWidgets/QMessageBox> + +#include <cmath> + +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" // From os_win.cpp. diff --git a/src/mumble/ASIOInput.h b/src/mumble/ASIOInput.h index 80c47d287..6c73774f7 100644 --- a/src/mumble/ASIOInput.h +++ b/src/mumble/ASIOInput.h @@ -6,16 +6,21 @@ #ifndef MUMBLE_MUMBLE_ASIOINPUT_H_ #define MUMBLE_MUMBLE_ASIOINPUT_H_ +#include "ui_ASIOInput.h" + +#include "AudioInput.h" +#include "ConfigDialog.h" + +#include "win.h" + #include <QtCore/QList> #include <QtCore/QObject> #include <QtCore/QString> #include <QtCore/QWaitCondition> -#include <windows.h> +#include <combaseapi.h> + #include <asiodrvr.h> -#include "AudioInput.h" -#include "ConfigDialog.h" -#include "ui_ASIOInput.h" typedef QPair<QString, QString> ASIODev; diff --git a/src/mumble/About.cpp b/src/mumble/About.cpp index 23de1e028..eef2f44e4 100644 --- a/src/mumble/About.cpp +++ b/src/mumble/About.cpp @@ -3,13 +3,15 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "About.h" #include "MainWindow.h" #include "License.h" +#include "Utils.h" + +#include <QtWidgets/QPushButton> + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/AppNap.mm b/src/mumble/AppNap.mm index cd47ff509..e6d7114ff 100644 --- a/src/mumble/AppNap.mm +++ b/src/mumble/AppNap.mm @@ -3,7 +3,9 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" +#include "MumbleApplication.h" + +#include <Foundation/Foundation.h> #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 static bool appNapSuppressed = false; diff --git a/src/mumble/Audio.cpp b/src/mumble/Audio.cpp index 7ec9f71d4..8247c26e7 100644 --- a/src/mumble/Audio.cpp +++ b/src/mumble/Audio.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Audio.h" #include "AudioInput.h" diff --git a/src/mumble/AudioConfigDialog.cpp b/src/mumble/AudioConfigDialog.cpp index bb7799eee..139fd44ca 100644 --- a/src/mumble/AudioConfigDialog.cpp +++ b/src/mumble/AudioConfigDialog.cpp @@ -34,8 +34,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "mumble_pch.hpp" - #include "AudioConfigDialog.h" #include "AudioInput.h" @@ -43,6 +41,7 @@ #include "AudioOutputSample.h" #include "Global.h" #include "NetworkConfig.h" +#include "Utils.h" static ConfigWidget *AudioInputDialogNew(Settings &st) { return new AudioInputDialog(st); diff --git a/src/mumble/AudioInput.cpp b/src/mumble/AudioInput.cpp index e4b158d1d..cb34c1644 100644 --- a/src/mumble/AudioInput.cpp +++ b/src/mumble/AudioInput.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "AudioInput.h" #include "AudioOutput.h" @@ -18,6 +16,7 @@ #include "Message.h" #include "Global.h" #include "NetworkConfig.h" +#include "Utils.h" #include "VoiceRecorder.h" #ifdef USE_RNNOISE diff --git a/src/mumble/AudioOutput.cpp b/src/mumble/AudioOutput.cpp index 229df2916..ece4a3d85 100644 --- a/src/mumble/AudioOutput.cpp +++ b/src/mumble/AudioOutput.cpp @@ -3,7 +3,13 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" +// <cmath> includes <math.h>, but only if it isn't already included. +// We include <cmath> as first header to make sure that we include <math.h> with _USE_MATH_DEFINES. +#ifdef _MSC_VER +# define _USE_MATH_DEFINES +#endif + +#include <cmath> #include "AudioOutput.h" @@ -16,6 +22,7 @@ #include "PacketDataStream.h" #include "ServerHandler.h" #include "Timer.h" +#include "Utils.h" #include "VoiceRecorder.h" // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. diff --git a/src/mumble/AudioOutputSample.cpp b/src/mumble/AudioOutputSample.cpp index 459c0b93b..6dce9a66f 100644 --- a/src/mumble/AudioOutputSample.cpp +++ b/src/mumble/AudioOutputSample.cpp @@ -3,11 +3,16 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "AudioOutputSample.h" #include "Audio.h" +#include "Utils.h" + +#include <QtCore/QDebug> +#include <QtWidgets/QFileDialog> +#include <QtWidgets/QMessageBox> + +#include <cmath> SoundFile::SoundFile(const QString &fname) { siInfo.frames = 0; diff --git a/src/mumble/AudioOutputSpeech.cpp b/src/mumble/AudioOutputSpeech.cpp index fb653a992..91368e4c1 100644 --- a/src/mumble/AudioOutputSpeech.cpp +++ b/src/mumble/AudioOutputSpeech.cpp @@ -3,7 +3,15 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" +// We want to include <math.h> with _USE_MATH_DEFINES defined. +// To make sure we do so before anything else includes the header without it +// (triggering the guard and effectively preventing a "fix include") +// we define and include before anything else. +#ifdef _MSC_VER +# define _USE_MATH_DEFINES +#endif + +#include <cmath> #include "AudioOutputSpeech.h" @@ -13,6 +21,7 @@ #include "ClientUser.h" #include "Global.h" #include "PacketDataStream.h" +#include "Utils.h" AudioOutputSpeech::AudioOutputSpeech(ClientUser *user, unsigned int freq, MessageHandler::UDPMessageType type) : AudioOutputUser(user->qsName) { int err; diff --git a/src/mumble/AudioOutputUser.cpp b/src/mumble/AudioOutputUser.cpp index fbff4378a..4f7c852ef 100644 --- a/src/mumble/AudioOutputUser.cpp +++ b/src/mumble/AudioOutputUser.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "AudioOutputUser.h" AudioOutputUser::AudioOutputUser(const QString& name) : qsName(name) { diff --git a/src/mumble/AudioStats.cpp b/src/mumble/AudioStats.cpp index 6ba0552fd..98d127555 100644 --- a/src/mumble/AudioStats.cpp +++ b/src/mumble/AudioStats.cpp @@ -3,14 +3,17 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "AudioStats.h" #include "AudioInput.h" #include "Global.h" +#include "Utils.h" #include "smallft.h" +#include <QtGui/QPainter> + +#include <cmath> + AudioBar::AudioBar(QWidget *p) : QWidget(p) { qcBelow = Qt::yellow; qcAbove = Qt::red; diff --git a/src/mumble/AudioWizard.cpp b/src/mumble/AudioWizard.cpp index 9ed95a095..21affd5b9 100644 --- a/src/mumble/AudioWizard.cpp +++ b/src/mumble/AudioWizard.cpp @@ -3,14 +3,18 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "AudioWizard.h" #include "AudioInput.h" #include "AudioOutputSample.h" #include "Log.h" #include "MainWindow.h" +#include "Utils.h" + +#include <QtGui/QMouseEvent> +#include <QtWidgets/QGraphicsEllipseItem> + +#include <cmath> // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/BanEditor.cpp b/src/mumble/BanEditor.cpp index 38ba3b518..15127893c 100644 --- a/src/mumble/BanEditor.cpp +++ b/src/mumble/BanEditor.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "BanEditor.h" #include "Channel.h" diff --git a/src/mumble/BonjourClient.cpp b/src/mumble/BonjourClient.cpp index 4d826945f..c260a0508 100644 --- a/src/mumble/BonjourClient.cpp +++ b/src/mumble/BonjourClient.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "BonjourClient.h" #include "BonjourServiceBrowser.h" diff --git a/src/mumble/CELTCodec.cpp b/src/mumble/CELTCodec.cpp index c95fee580..8935d0af8 100644 --- a/src/mumble/CELTCodec.cpp +++ b/src/mumble/CELTCodec.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "CELTCodec.h" #include "Audio.h" diff --git a/src/mumble/CELTCodec_sbcelt.cpp b/src/mumble/CELTCodec_sbcelt.cpp index 2ad62d8ed..963ca3a13 100644 --- a/src/mumble/CELTCodec_sbcelt.cpp +++ b/src/mumble/CELTCodec_sbcelt.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "CELTCodec.h" #include "Audio.h" @@ -71,4 +69,4 @@ int CELTCodecSBCELT::encode(CELTEncoder *st, const celt_int16 *pcm, unsigned cha int CELTCodecSBCELT::decode_float(CELTDecoder *st, const unsigned char *data, int len, float *pcm) { return ::sbcelt_decode_float(st, data, len, pcm); -}
\ No newline at end of file +} diff --git a/src/mumble/Cert.cpp b/src/mumble/Cert.cpp index 43f5b9fc0..fabcfb956 100644 --- a/src/mumble/Cert.cpp +++ b/src/mumble/Cert.cpp @@ -11,12 +11,22 @@ # pragma GCC diagnostic ignored "-Wold-style-cast" #endif -#include "mumble_pch.hpp" - #include "Cert.h" -#include "Global.h" #include "SelfSignedCertificate.h" +#include "Utils.h" + +#include <QtCore/QUrl> +#include <QtGui/QDesktopServices> +#include <QtWidgets/QFileDialog> +#include <QtWidgets/QToolTip> + +#include <openssl/evp.h> +#include <openssl/pkcs12.h> +#include <openssl/x509.h> + +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. +#include "Global.h" #define SSL_STRING(x) QString::fromLatin1(x).toUtf8().data() diff --git a/src/mumble/ClientUser.cpp b/src/mumble/ClientUser.cpp index 50e7ca8df..f908a7d63 100644 --- a/src/mumble/ClientUser.cpp +++ b/src/mumble/ClientUser.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "ClientUser.h" #include "Channel.h" diff --git a/src/mumble/ConfigDialog.cpp b/src/mumble/ConfigDialog.cpp index 36530c784..0a9c3a43f 100644 --- a/src/mumble/ConfigDialog.cpp +++ b/src/mumble/ConfigDialog.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "ConfigDialog.h" #include "AudioInput.h" @@ -12,6 +10,11 @@ #include "Global.h" #include "Overlay.h" +#include <QtGui/QScreen> +#include <QtWidgets/QDesktopWidget> +#include <QtWidgets/QPushButton> + + ConfigDialog::ConfigDialog(QWidget *p) : QDialog(p) { setupUi(this); diff --git a/src/mumble/ConfigWidget.cpp b/src/mumble/ConfigWidget.cpp index 901e21d98..218cb321e 100644 --- a/src/mumble/ConfigWidget.cpp +++ b/src/mumble/ConfigWidget.cpp @@ -3,10 +3,16 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "ConfigWidget.h" +#include "MumbleApplication.h" + +#include <QtCore/QMap> +#include <QtGui/QIcon> +#include <QtWidgets/QAbstractButton> +#include <QtWidgets/QComboBox> +#include <QtWidgets/QSlider> + QMap<int, ConfigWidgetNew> *ConfigRegistrar::c_qmNew; ConfigRegistrar::ConfigRegistrar(int priority, ConfigWidgetNew n) { diff --git a/src/mumble/ConnectDialog.cpp b/src/mumble/ConnectDialog.cpp index 428020dfe..bdac96d5e 100644 --- a/src/mumble/ConnectDialog.cpp +++ b/src/mumble/ConnectDialog.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "ConnectDialog.h" #ifdef USE_BONJOUR @@ -18,6 +16,27 @@ #include "ServerHandler.h" #include "WebFetch.h" #include "ServerResolver.h" +#include "Utils.h" + +#include <QtCore/QMimeData> +#include <QtCore/QUrlQuery> +#include <QtCore/QtEndian> +#include <QtGui/QClipboard> +#include <QtGui/QDesktopServices> +#include <QtGui/QPainter> +#include <QtNetwork/QUdpSocket> +#include <QtWidgets/QInputDialog> +#include <QtWidgets/QMenu> +#include <QtWidgets/QMessageBox> +#include <QtWidgets/QShortcut> +#include <QtXml/QDomDocument> + +#include <boost/accumulators/statistics/extended_p_square.hpp> +#include <boost/array.hpp> + +#ifdef Q_OS_WIN +# include <shlobj.h> +#endif // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/CoreAudio.cpp b/src/mumble/CoreAudio.cpp index 5c7cfc6d4..c9300a9c9 100644 --- a/src/mumble/CoreAudio.cpp +++ b/src/mumble/CoreAudio.cpp @@ -3,11 +3,13 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "CoreAudio.h" #include "User.h" + +#include <Carbon/Carbon.h> + +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" // Ignore deprecation warnings for the whole file, for now. diff --git a/src/mumble/CrashReporter.cpp b/src/mumble/CrashReporter.cpp index d526a5579..793b549d7 100644 --- a/src/mumble/CrashReporter.cpp +++ b/src/mumble/CrashReporter.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "CrashReporter.h" #include "Global.h" @@ -12,6 +10,12 @@ #include "OSInfo.h" #include "EnvUtils.h" +#include <QtCore/QProcess> +#include <QtCore/QTemporaryFile> +#include <QtNetwork/QHostAddress> +#include <QtWidgets/QMessageBox> +#include <QtWidgets/QPushButton> + CrashReporter::CrashReporter(QWidget *p) : QDialog(p) { setWindowTitle(tr("Mumble Crash Report")); diff --git a/src/mumble/CustomElements.cpp b/src/mumble/CustomElements.cpp index b12d5208b..1ee044cb0 100644 --- a/src/mumble/CustomElements.cpp +++ b/src/mumble/CustomElements.cpp @@ -3,13 +3,19 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "CustomElements.h" #include "ClientUser.h" #include "MainWindow.h" #include "Log.h" +#include "Utils.h" + +#include <QtCore/QTimer> +#include <QtGui/QAbstractTextDocumentLayout> +#include <QtGui/QClipboard> +#include <QtGui/QContextMenuEvent> +#include <QtGui/QKeyEvent> +#include <QtWidgets/QScrollBar> // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/DBus.cpp b/src/mumble/DBus.cpp index 6fcde04bc..478ef2238 100644 --- a/src/mumble/DBus.cpp +++ b/src/mumble/DBus.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "DBus.h" #include "Channel.h" @@ -12,6 +10,10 @@ #include "MainWindow.h" #include "ServerHandler.h" +#include <QtCore/QUrlQuery> +#include <QtDBus/QDBusConnection> +#include <QtDBus/QDBusMessage> + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/Database.cpp b/src/mumble/Database.cpp index b59678c4b..941bb8080 100644 --- a/src/mumble/Database.cpp +++ b/src/mumble/Database.cpp @@ -3,15 +3,19 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Database.h" #include "Global.h" #include "Message.h" +#include "MumbleApplication.h" #include "Net.h" +#include "Utils.h" #include "Version.h" +#include <QtCore/QStandardPaths> +#include <QtSql/QSqlError> +#include <QtSql/QSqlQuery> +#include <QtWidgets/QMessageBox> static void logSQLError(const QSqlQuery &query) { const QSqlError error(query.lastQuery()); diff --git a/src/mumble/DeveloperConsole.cpp b/src/mumble/DeveloperConsole.cpp index 1b676440b..cd8a4b443 100644 --- a/src/mumble/DeveloperConsole.cpp +++ b/src/mumble/DeveloperConsole.cpp @@ -3,11 +3,13 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "DeveloperConsole.h" #include "LogEmitter.h" + +#include <QtWidgets/QTextBrowser> + +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" DeveloperConsole::DeveloperConsole(QObject *parent) diff --git a/src/mumble/DirectSound.cpp b/src/mumble/DirectSound.cpp index 2185e2bec..5ced0f04e 100644 --- a/src/mumble/DirectSound.cpp +++ b/src/mumble/DirectSound.cpp @@ -3,7 +3,13 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" +#include "DirectSound.h" + +#include "MainWindow.h" +#include "Plugins.h" +#include "User.h" + +#include "win.h" #define DIRECTSOUND_VERSION 0x1000 @@ -12,11 +18,7 @@ #include <ks.h> #include <ksmedia.h> -#include "DirectSound.h" - -#include "MainWindow.h" -#include "Plugins.h" -#include "User.h" +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" // from os_win.cpp diff --git a/src/mumble/G15LCDEngine_helper.cpp b/src/mumble/G15LCDEngine_helper.cpp index 19417089e..0b0faceb3 100644 --- a/src/mumble/G15LCDEngine_helper.cpp +++ b/src/mumble/G15LCDEngine_helper.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "G15LCDEngine_helper.h" #include "MumbleApplication.h" diff --git a/src/mumble/G15LCDEngine_helper.h b/src/mumble/G15LCDEngine_helper.h index e43f972a1..353232f33 100644 --- a/src/mumble/G15LCDEngine_helper.h +++ b/src/mumble/G15LCDEngine_helper.h @@ -6,10 +6,11 @@ #ifndef MUMBLE_MUMBLE_G15LCDENGINE_HELPER_H_ #define MUMBLE_MUMBLE_G15LCDENGINE_HELPER_H_ -#include "mumble_pch.hpp" #include "LCD.h" #include "../../g15helper/g15helper.h" +#include <QtCore/QProcess> + class G15LCDDeviceHelper; class G15LCDEngineHelper : public LCDEngine { diff --git a/src/mumble/G15LCDEngine_lglcd.cpp b/src/mumble/G15LCDEngine_lglcd.cpp index 7784d69d1..814738dcd 100644 --- a/src/mumble/G15LCDEngine_lglcd.cpp +++ b/src/mumble/G15LCDEngine_lglcd.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "G15LCDEngine_lglcd.h" #define G15_MAX_DEV 5 diff --git a/src/mumble/G15LCDEngine_lglcd.h b/src/mumble/G15LCDEngine_lglcd.h index 6855177fe..c3e7cb24d 100644 --- a/src/mumble/G15LCDEngine_lglcd.h +++ b/src/mumble/G15LCDEngine_lglcd.h @@ -5,8 +5,6 @@ #ifndef MUMBLE_MUMBLE_G15LCDENGINE_LGLCD_H_ #define MUMBLE_MUMBLE_G15LCDENGINE_LGLCD_H_ - -#include "mumble_pch.hpp" #include "LCD.h" #include "../../g15helper/g15helper.h" diff --git a/src/mumble/G15LCDEngine_unix.cpp b/src/mumble/G15LCDEngine_unix.cpp index cd4748bbb..63eebe760 100644 --- a/src/mumble/G15LCDEngine_unix.cpp +++ b/src/mumble/G15LCDEngine_unix.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include <G15LCDEngine_unix.h> static LCDEngine *G15LCDEngineNew() { diff --git a/src/mumble/G15LCDEngine_unix.h b/src/mumble/G15LCDEngine_unix.h index cba95ee45..f2070ef9b 100644 --- a/src/mumble/G15LCDEngine_unix.h +++ b/src/mumble/G15LCDEngine_unix.h @@ -5,8 +5,6 @@ #ifndef MUMBLE_MUMBLE_G15LCDENGINE_UNIX_H_ #define MUMBLE_MUMBLE_G15LCDENGINE_UNIX_H_ - -#include "mumble_pch.hpp" #include "LCD.h" #include <g15daemon_client.h> diff --git a/src/mumble/GKey.cpp b/src/mumble/GKey.cpp index ceddb5284..d99a9e109 100644 --- a/src/mumble/GKey.cpp +++ b/src/mumble/GKey.cpp @@ -65,8 +65,6 @@ * unless mumble is the active window.
*/
-#include "mumble_pch.hpp"
-
#include "GKey.h"
#ifdef Q_CC_GNU
diff --git a/src/mumble/GKey.h b/src/mumble/GKey.h index 0532df87c..b7f649379 100644 --- a/src/mumble/GKey.h +++ b/src/mumble/GKey.h @@ -6,7 +6,7 @@ #ifndef MUMBLE_MUMBLE_GKEY_H
#define MUMBLE_MUMBLE_GKEY_H
-#include <windows.h>
+#include "win.h"
#include <QtCore/QLibrary>
#include <QtCore/QString>
diff --git a/src/mumble/Global.cpp b/src/mumble/Global.cpp index f10846b6e..41ec60e17 100644 --- a/src/mumble/Global.cpp +++ b/src/mumble/Global.cpp @@ -3,8 +3,15 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" +#include "MumbleApplication.h" +#include <QtCore/QStandardPaths> + +#ifdef Q_OS_WIN +# include <shlobj.h> +#endif + +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" Global *Global::g_global_struct; diff --git a/src/mumble/GlobalShortcut.cpp b/src/mumble/GlobalShortcut.cpp index 804c3eb1a..833893544 100644 --- a/src/mumble/GlobalShortcut.cpp +++ b/src/mumble/GlobalShortcut.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "GlobalShortcut.h" #include "AudioInput.h" @@ -13,6 +11,15 @@ #include "Database.h" #include "MainWindow.h" +#include <QtCore/QProcess> +#include <QtGui/QFocusEvent> +#include <QtWidgets/QItemEditorFactory> + +#ifdef Q_OS_MAC +# include <QtCore/QOperatingSystemVersion> +# include <ApplicationServices/ApplicationServices.h> +#endif + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/GlobalShortcut_macx.mm b/src/mumble/GlobalShortcut_macx.mm index 7a04566df..6d5367dac 100644 --- a/src/mumble/GlobalShortcut_macx.mm +++ b/src/mumble/GlobalShortcut_macx.mm @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #import <AppKit/AppKit.h> #import <Carbon/Carbon.h> diff --git a/src/mumble/GlobalShortcut_unix.cpp b/src/mumble/GlobalShortcut_unix.cpp index e7516d4b6..6ef82bf1f 100644 --- a/src/mumble/GlobalShortcut_unix.cpp +++ b/src/mumble/GlobalShortcut_unix.cpp @@ -3,13 +3,16 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "GlobalShortcut_unix.h" -#include "Global.h" #include "Settings.h" +#include <QtCore/QFileSystemWatcher> +#include <QtCore/QSocketNotifier> + +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. +#include "Global.h" + // We have to use a global 'diagnostic ignored' pragmas because // we still support old versions of GCC. (FreeBSD 9.3 ships with GCC 4.2) #if defined (__GNUC__) diff --git a/src/mumble/GlobalShortcut_win.cpp b/src/mumble/GlobalShortcut_win.cpp index 784620887..4e5f36447 100644 --- a/src/mumble/GlobalShortcut_win.cpp +++ b/src/mumble/GlobalShortcut_win.cpp @@ -3,7 +3,11 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" +#include "GlobalShortcut_win.h" + +#include "MainWindow.h" +#include "OverlayClient.h" +#include "Utils.h" // MinGW does not support std::future/std::promise // at present. Use Boost's implementation for now. @@ -11,15 +15,15 @@ #include <boost/thread.hpp> #include <boost/thread/future.hpp> -#include "GlobalShortcut_win.h" - -#include "MainWindow.h" -#include "OverlayClient.h" -#include "Global.h" +#include <QtCore/QElapsedTimer> +#include <QtCore/QTimer> // 3rdparty/xinputcheck-src. #include <xinputcheck.h> +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. +#include "Global.h" + #undef FAILED #define FAILED(Status) (static_cast<HRESULT>(Status)<0) diff --git a/src/mumble/LCD.cpp b/src/mumble/LCD.cpp index c69c3c3df..62385eaf9 100644 --- a/src/mumble/LCD.cpp +++ b/src/mumble/LCD.cpp @@ -3,14 +3,15 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "LCD.h" #include "ClientUser.h" #include "Channel.h" #include "Message.h" #include "ServerHandler.h" +#include "Utils.h" + +#include <QtGui/QPainter> // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/Log.cpp b/src/mumble/Log.cpp index c074773d8..274da974d 100644 --- a/src/mumble/Log.cpp +++ b/src/mumble/Log.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Log.h" #include "AudioOutput.h" @@ -16,6 +14,14 @@ #include "Screen.h" #include "ServerHandler.h" #include "TextToSpeech.h" +#include "Utils.h" + +#include <QtNetwork/QNetworkReply> +#include <QtGui/QImageWriter> +#include <QtGui/QScreen> +#include <QtGui/QTextBlock> +#include <QtGui/QTextDocumentFragment> +#include <QtWidgets/QDesktopWidget> // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/Log_macx.mm b/src/mumble/Log_macx.mm index b8df8238c..4abc3e39a 100644 --- a/src/mumble/Log_macx.mm +++ b/src/mumble/Log_macx.mm @@ -3,9 +3,13 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Log.h" + +#include <QtCore/QOperatingSystemVersion> + +#include <Foundation/Foundation.h> + +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 diff --git a/src/mumble/Log_unix.cpp b/src/mumble/Log_unix.cpp index ce8fad87a..11953b79e 100644 --- a/src/mumble/Log_unix.cpp +++ b/src/mumble/Log_unix.cpp @@ -3,12 +3,12 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Log.h" #include "MainWindow.h" #include "Settings.h" +#include <QtDBus/QDBusInterface> + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/Log_win.cpp b/src/mumble/Log_win.cpp index afd9c0272..2703d39ad 100644 --- a/src/mumble/Log_win.cpp +++ b/src/mumble/Log_win.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Log.h" void Log::postNotification(MsgType mt, const QString &plain) { diff --git a/src/mumble/LookConfig.cpp b/src/mumble/LookConfig.cpp index ae7554b71..dc9b0c248 100644 --- a/src/mumble/LookConfig.cpp +++ b/src/mumble/LookConfig.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "LookConfig.h" #include "Themes.h" @@ -12,6 +10,10 @@ #include "AudioOutput.h" #include "MainWindow.h" +#include <QtCore/QFileSystemWatcher> +#include <QtCore/QStack> +#include <QtCore/QTimer> + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/MainWindow.cpp b/src/mumble/MainWindow.cpp index eeb62d263..83911c152 100644 --- a/src/mumble/MainWindow.cpp +++ b/src/mumble/MainWindow.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "MainWindow.h" #include "About.h" @@ -47,13 +45,32 @@ #include "SSLCipherInfo.h" #include "Screen.h" #include "SvgIcon.h" +#include "Utils.h" #ifdef Q_OS_WIN -#include "TaskList.h" +# include "TaskList.h" #endif #ifdef Q_OS_MAC -#include "AppNap.h" +# include "AppNap.h" +#endif + +#include <QtCore/QStandardPaths> +#include <QtCore/QUrlQuery> +#include <QtGui/QClipboard> +#include <QtGui/QDesktopServices> +#include <QtGui/QImageReader> +#include <QtGui/QScreen> +#include <QtWidgets/QDesktopWidget> +#include <QtWidgets/QFileDialog> +#include <QtWidgets/QInputDialog> +#include <QtWidgets/QMessageBox> +#include <QtWidgets/QScrollBar> +#include <QtWidgets/QToolTip> +#include <QtWidgets/QWhatsThis> + +#ifdef Q_OS_WIN +# include <dbt.h> #endif // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. diff --git a/src/mumble/Messages.cpp b/src/mumble/Messages.cpp index 403dae42d..b6f210e5a 100644 --- a/src/mumble/Messages.cpp +++ b/src/mumble/Messages.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "About.h" #include "ACLEditor.h" #include "AudioInput.h" @@ -28,6 +26,7 @@ #include "VersionCheck.h" #include "ViewCert.h" #include "CryptState.h" +#include "Utils.h" // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/MumbleApplication.cpp b/src/mumble/MumbleApplication.cpp index 902e0609a..c338fc805 100644 --- a/src/mumble/MumbleApplication.cpp +++ b/src/mumble/MumbleApplication.cpp @@ -3,19 +3,21 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "MumbleApplication.h" #include "MainWindow.h" #include "GlobalShortcut.h" -#include "Global.h" #include "EnvUtils.h" #if defined(Q_OS_WIN) # include "GlobalShortcut_win.h" #endif +#include <QtGui/QFileOpenEvent> + +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. +#include "Global.h" + MumbleApplication *MumbleApplication::instance() { return static_cast<MumbleApplication *>(QCoreApplication::instance()); } diff --git a/src/mumble/NetworkConfig.cpp b/src/mumble/NetworkConfig.cpp index 1ea72d6d4..60949e52d 100644 --- a/src/mumble/NetworkConfig.cpp +++ b/src/mumble/NetworkConfig.cpp @@ -3,13 +3,15 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "NetworkConfig.h" #include "MainWindow.h" #include "OSInfo.h" +#include <QtNetwork/QHostAddress> +#include <QtNetwork/QNetworkProxy> +#include <QtNetwork/QNetworkAccessManager> + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/OSS.cpp b/src/mumble/OSS.cpp index 4edc6caa3..9ceafcb85 100644 --- a/src/mumble/OSS.cpp +++ b/src/mumble/OSS.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "OSS.h" #include <sys/soundcard.h> diff --git a/src/mumble/OpusCodec.cpp b/src/mumble/OpusCodec.cpp index 2b57e9c29..fdaf58604 100644 --- a/src/mumble/OpusCodec.cpp +++ b/src/mumble/OpusCodec.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "OpusCodec.h" #include "Audio.h" diff --git a/src/mumble/Overlay.cpp b/src/mumble/Overlay.cpp index 38e2bfc43..c6cbcdd70 100644 --- a/src/mumble/Overlay.cpp +++ b/src/mumble/Overlay.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Overlay.h" #include "OverlayClient.h" @@ -18,8 +16,26 @@ #include "RichTextEditor.h" #include "ServerHandler.h" #include "User.h" +#include "Utils.h" #include "WebFetch.h" +#include <QtCore/QProcessEnvironment> +#include <QtCore/QtEndian> +#include <QtGui/QFocusEvent> +#include <QtGui/QImageReader> +#include <QtGui/QImageWriter> +#include <QtNetwork/QLocalServer> +#include <QtWidgets/QMessageBox> + +#ifdef Q_OS_WIN +# include <shellapi.h> +#endif + +#ifdef Q_OS_MAC +# include <ApplicationServices/ApplicationServices.h> +# include <CoreFoundation/CoreFoundation.h> +#endif + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/OverlayClient.cpp b/src/mumble/OverlayClient.cpp index c0a755944..ceb3722c1 100644 --- a/src/mumble/OverlayClient.cpp +++ b/src/mumble/OverlayClient.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "OverlayClient.h" #include "OverlayPositionableItem.h" #include "OverlayEditor.h" @@ -18,6 +16,18 @@ #include "MainWindow.h" #include "GlobalShortcut.h" #include "Themes.h" +#include "Utils.h" + +#ifdef Q_OS_WIN +# include <QtGui/QBitmap> +#endif + +#include <QtGui/QImageReader> +#include <QtWidgets/QGraphicsProxyWidget> + +#ifdef Q_OS_WIN +# include <psapi.h> +#endif // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/OverlayConfig.cpp b/src/mumble/OverlayConfig.cpp index c8de04b64..906db86e3 100644 --- a/src/mumble/OverlayConfig.cpp +++ b/src/mumble/OverlayConfig.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "OverlayConfig.h" #include "Overlay.h" @@ -22,15 +20,22 @@ #include "PathListWidget.h" #include "Screen.h" -// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. -#include "Global.h" - #ifdef Q_OS_WIN #include "../../overlay/overlay_launchers.h" #include "../../overlay/overlay_whitelist.h" #include "../../overlay/overlay_blacklist.h" #endif +#include <QtGui/QScreen> +#include <QtGui/QWindow> +#include <QtWidgets/QColorDialog> +#include <QtWidgets/QDesktopWidget> +#include <QtWidgets/QFileDialog> +#include <QtWidgets/QFontDialog> + +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. +#include "Global.h" + static const int OVERLAYCONFIG_PATH_ROLE = Qt::UserRole; static const int OVERLAYCONFIG_BUILTIN_ROLE = Qt::UserRole + 1; diff --git a/src/mumble/OverlayEditor.cpp b/src/mumble/OverlayEditor.cpp index 5b3654ea4..afb76726c 100644 --- a/src/mumble/OverlayEditor.cpp +++ b/src/mumble/OverlayEditor.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "OverlayEditor.h" #include "OverlayClient.h" @@ -17,6 +15,9 @@ #include "ServerHandler.h" #include "MainWindow.h" #include "GlobalShortcut.h" +#include "Utils.h" + +#include <QtWidgets/QGraphicsProxyWidget> // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/OverlayEditorScene.cpp b/src/mumble/OverlayEditorScene.cpp index be149f4ef..0ec7e929c 100644 --- a/src/mumble/OverlayEditorScene.cpp +++ b/src/mumble/OverlayEditorScene.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "OverlayEditorScene.h" #include "OverlayClient.h" @@ -18,6 +16,13 @@ #include "ServerHandler.h" #include "MainWindow.h" #include "GlobalShortcut.h" +#include "Utils.h" + +#include <QtGui/QImageReader> +#include <QtWidgets/QColorDialog> +#include <QtWidgets/QFontDialog> +#include <QtWidgets/QGraphicsProxyWidget> +#include <QtWidgets/QGraphicsSceneMouseEvent> // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/OverlayPositionableItem.cpp b/src/mumble/OverlayPositionableItem.cpp index db5c0e4a8..04bf243e4 100644 --- a/src/mumble/OverlayPositionableItem.cpp +++ b/src/mumble/OverlayPositionableItem.cpp @@ -3,10 +3,14 @@ // that can be found in the LICENSE file at the root of the
// Mumble source tree or at <https://www.mumble.info/LICENSE>.
-#include "mumble_pch.hpp"
-
#include "OverlayPositionableItem.h"
+#include "Utils.h"
+
+#include <QtCore/QEvent>
+#include <QtGui/QPen>
+#include <QtWidgets/QGraphicsScene>
+
OverlayPositionableItem::OverlayPositionableItem(QRectF *posPtr, const bool isPositionable)
: m_position(posPtr)
, m_isPositionEditable(isPositionable)
diff --git a/src/mumble/OverlayText.cpp b/src/mumble/OverlayText.cpp index 3ece1713c..437115a34 100644 --- a/src/mumble/OverlayText.cpp +++ b/src/mumble/OverlayText.cpp @@ -3,10 +3,16 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "OverlayText.h" +#include "Utils.h" + +#include <QtCore/QDebug> +#include <QtGui/QFontMetrics> +#include <QtGui/QPainter> +#include <QtGui/QPen> + +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" BasepointPixmap::BasepointPixmap() : diff --git a/src/mumble/OverlayUser.cpp b/src/mumble/OverlayUser.cpp index bb7f464c5..887a43d07 100644 --- a/src/mumble/OverlayUser.cpp +++ b/src/mumble/OverlayUser.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "OverlayUser.h" #include "OverlayText.h" @@ -17,6 +15,9 @@ #include "ServerHandler.h" #include "MainWindow.h" #include "GlobalShortcut.h" +#include "Utils.h" + +#include <QtGui/QImageReader> // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/OverlayUserGroup.cpp b/src/mumble/OverlayUserGroup.cpp index 133e930c0..f62f0f33a 100644 --- a/src/mumble/OverlayUserGroup.cpp +++ b/src/mumble/OverlayUserGroup.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "OverlayUserGroup.h" #include "OverlayUser.h" @@ -20,6 +18,12 @@ #include "ServerHandler.h" #include "MainWindow.h" #include "GlobalShortcut.h" +#include "Utils.h" + +#include <QtGui/QImageReader> +#include <QtWidgets/QGraphicsSceneContextMenuEvent> +#include <QtWidgets/QGraphicsSceneWheelEvent> +#include <QtWidgets/QInputDialog> // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/Overlay_macx.mm b/src/mumble/Overlay_macx.mm index 0167f0dd4..9704c3301 100644 --- a/src/mumble/Overlay_macx.mm +++ b/src/mumble/Overlay_macx.mm @@ -3,14 +3,17 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" -#import <ScriptingBridge/ScriptingBridge.h> -#import <Cocoa/Cocoa.h> -#include <Carbon/Carbon.h> #include "OverlayConfig.h" #include "OverlayClient.h" #include "MainWindow.h" +#include <QtCore/QProcess> +#include <QtCore/QXmlStreamReader> + +#import <ScriptingBridge/ScriptingBridge.h> +#import <Cocoa/Cocoa.h> +#include <Carbon/Carbon.h> + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/Overlay_unix.cpp b/src/mumble/Overlay_unix.cpp index 2fe7a4caa..dc27b3216 100644 --- a/src/mumble/Overlay_unix.cpp +++ b/src/mumble/Overlay_unix.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Overlay.h" #include "OverlayConfig.h" diff --git a/src/mumble/Overlay_win.cpp b/src/mumble/Overlay_win.cpp index 56666f50c..c3f0597ee 100644 --- a/src/mumble/Overlay_win.cpp +++ b/src/mumble/Overlay_win.cpp @@ -3,21 +3,21 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Overlay.h" #include "User.h" #include "Channel.h" #include "OverlayConfig.h" #include "MainWindow.h" -#include "Global.h" #include "MumbleApplication.h" #include "Overlay_win.h" #include "../../overlay/overlay_exe/overlay_exe.h" +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. +#include "Global.h" + // Used by the overlay to detect whether we injected into ourselves. // // A similar declaration can be found in mumble_exe's Overlay.cpp, diff --git a/src/mumble/Overlay_win.h b/src/mumble/Overlay_win.h index 6eaeb29fc..2a19ce118 100644 --- a/src/mumble/Overlay_win.h +++ b/src/mumble/Overlay_win.h @@ -6,7 +6,9 @@ #ifndef MUMBLE_MUMBLE_OVERLAY_WIN_H_
#define MUMBLE_MUMBLE_OVERLAY_WIN_H_
-#include <windows.h>
+#include "Overlay.h"
+
+#include "win.h"
#include <QString>
#include <QStringList>
@@ -14,8 +16,6 @@ #include <QTimer>
#include <QElapsedTimer>
-#include "Overlay.h"
-
class OverlayPrivateWin : public OverlayPrivate {
private:
Q_OBJECT
diff --git a/src/mumble/PAAudio.cpp b/src/mumble/PAAudio.cpp index 873a8667d..988b35f27 100644 --- a/src/mumble/PAAudio.cpp +++ b/src/mumble/PAAudio.cpp @@ -34,8 +34,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "mumble_pch.hpp" - #include "PAAudio.h" #include "Global.h" diff --git a/src/mumble/PTTButtonWidget.cpp b/src/mumble/PTTButtonWidget.cpp index 0957e929d..9595f3cd3 100644 --- a/src/mumble/PTTButtonWidget.cpp +++ b/src/mumble/PTTButtonWidget.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "PTTButtonWidget.h" #include "Global.h" diff --git a/src/mumble/PathListWidget.cpp b/src/mumble/PathListWidget.cpp index 8394db76d..4d272dec4 100644 --- a/src/mumble/PathListWidget.cpp +++ b/src/mumble/PathListWidget.cpp @@ -3,17 +3,17 @@ // that can be found in the LICENSE file at the root of the
// Mumble source tree or at <https://www.mumble.info/LICENSE>.
-#include "mumble_pch.hpp"
-
#include "PathListWidget.h"
-#include <QDragEnterEvent>
-#include <QDragMoveEvent>
-#include <QDropEvent>
-#include <QFile>
-#include <QDir>
#include "Overlay.h"
+#include <QtCore/QDir>
+#include <QtCore/QFile>
+#include <QtCore/QMimeData>
+#include <QtGui/QDragEnterEvent>
+#include <QtGui/QDragMoveEvent>
+#include <QtGui/QDropEvent>
+
PathListWidget::PathListWidget(QWidget *parent)
: QListWidget(parent)
, pathType(FILE_EXE) {
diff --git a/src/mumble/Plugins.cpp b/src/mumble/Plugins.cpp index 040163f1b..fca8876bf 100644 --- a/src/mumble/Plugins.cpp +++ b/src/mumble/Plugins.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Plugins.h" #include "Log.h" @@ -15,6 +13,22 @@ #include "WebFetch.h" #include "MumbleApplication.h" #include "ManualPlugin.h" +#include "Utils.h" + +#include <QtCore/QLibrary> +#include <QtCore/QUrlQuery> + +#ifdef Q_OS_WIN +# include <QtCore/QTemporaryFile> +#endif + +#include <QtWidgets/QMessageBox> +#include <QtXml/QDomDocument> + +#ifdef Q_OS_WIN +# include <softpub.h> +# include <tlhelp32.h> +#endif // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/Plugins.h b/src/mumble/Plugins.h index 2bf42a871..88b252c2b 100644 --- a/src/mumble/Plugins.h +++ b/src/mumble/Plugins.h @@ -6,17 +6,18 @@ #ifndef MUMBLE_MUMBLE_PLUGINS_H_ #define MUMBLE_MUMBLE_PLUGINS_H_ +#include "ConfigDialog.h" + +#include "ui_Plugins.h" + +#ifdef Q_OS_WIN +# include "win.h" +#endif + #include <QtCore/QObject> #include <QtCore/QMutex> #include <QtCore/QReadWriteLock> #include <QtCore/QUrl> -#ifdef Q_OS_WIN -#include <windows.h> -#endif - -#include "ConfigDialog.h" - -#include "ui_Plugins.h" struct PluginInfo; diff --git a/src/mumble/PulseAudio.cpp b/src/mumble/PulseAudio.cpp index 0dd54ac4d..02c53bd66 100644 --- a/src/mumble/PulseAudio.cpp +++ b/src/mumble/PulseAudio.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "PulseAudio.h" #include "MainWindow.h" diff --git a/src/mumble/RichTextEditor.cpp b/src/mumble/RichTextEditor.cpp index a2fb1e72a..20c5d5ace 100644 --- a/src/mumble/RichTextEditor.cpp +++ b/src/mumble/RichTextEditor.cpp @@ -3,14 +3,23 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "RichTextEditor.h" #include "Log.h" #include "MainWindow.h" #include "XMLTools.h" +#include <QtCore/QMimeData> +#include <QtGui/QImageReader> +#include <QtGui/QPainter> +#include <QtWidgets/QColorDialog> +#include <QtWidgets/QMessageBox> +#include <QtWidgets/QToolTip> + +#ifdef Q_OS_WIN +# include <shlobj.h> +#endif + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/ServerHandler.cpp b/src/mumble/ServerHandler.cpp index 116b03e13..653f0eb2f 100644 --- a/src/mumble/ServerHandler.cpp +++ b/src/mumble/ServerHandler.cpp @@ -3,7 +3,11 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" +#include <QtCore/QtGlobal> + +#ifdef Q_OS_WIN +# include "win.h" +#endif #include "ServerHandler.h" @@ -24,6 +28,33 @@ #include "HostAddress.h" #include "ServerResolver.h" #include "ServerResolverRecord.h" +#include "Utils.h" + +#include <QtCore/QtEndian> +#include <QtGui/QImageReader> +#include <QtNetwork/QSslConfiguration> +#include <QtNetwork/QUdpSocket> + +#include <openssl/crypto.h> + +#ifdef Q_OS_WIN +// <delayimp.h> is not protected with an include guard on MinGW, resulting in +// redefinitions if the PCH header is used. +// The workaround consists in including the header only if _DELAY_IMP_VER +// (defined in the header) is not defined. +# ifndef _DELAY_IMP_VER +# include <delayimp.h> +# endif +# include <qos2.h> +# include <wincrypt.h> +# include <winsock2.h> +#else +# if defined(Q_OS_FREEBSD) || defined(Q_OS_OPENBSD) +# include <netinet/in.h> +# endif +# include <netinet/ip.h> +# include <sys/socket.h> +#endif // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/ServerHandler.h b/src/mumble/ServerHandler.h index 9723160e8..058fe45a8 100644 --- a/src/mumble/ServerHandler.h +++ b/src/mumble/ServerHandler.h @@ -6,6 +6,12 @@ #ifndef MUMBLE_MUMBLE_SERVERHANDLER_H_ #define MUMBLE_MUMBLE_SERVERHANDLER_H_ +#include <QtCore/QtGlobal> + +#ifdef Q_OS_WIN +# include "win.h" +#endif + #ifndef Q_MOC_RUN # include <boost/accumulators/accumulators.hpp> # include <boost/accumulators/statistics/stats.hpp> @@ -23,10 +29,6 @@ #include <QtNetwork/QSslCipher> #include <QtNetwork/QSslError> -#ifdef Q_OS_WIN -#include <windows.h> -#endif - #define SERVERSEND_EVENT 3501 #include "Timer.h" diff --git a/src/mumble/Settings.cpp b/src/mumble/Settings.cpp index dbb9ab596..446a529ba 100644 --- a/src/mumble/Settings.cpp +++ b/src/mumble/Settings.cpp @@ -3,18 +3,25 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Settings.h" #include "AudioInput.h" #include "Cert.h" #include "Log.h" -#include "Global.h" #include "SSL.h" #include "../../overlay/overlay.h" +#include <QtCore/QProcessEnvironment> +#include <QtCore/QStandardPaths> +#include <QtGui/QImageReader> +#include <QtWidgets/QSystemTrayIcon> + +#include <boost/typeof/typeof.hpp> + +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. +#include "Global.h" + bool Shortcut::isServerSpecific() const { if (qvData.canConvert<ShortcutTarget>()) { const ShortcutTarget &sc = qvariant_cast<ShortcutTarget> (qvData); diff --git a/src/mumble/SharedMemory.cpp b/src/mumble/SharedMemory.cpp index 8ca323f59..b5c5dc5bd 100644 --- a/src/mumble/SharedMemory.cpp +++ b/src/mumble/SharedMemory.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "SharedMemory.h" unsigned int SharedMemory2::uiIndex = 0; diff --git a/src/mumble/SharedMemory_unix.cpp b/src/mumble/SharedMemory_unix.cpp index abd5ad08f..73022fe65 100644 --- a/src/mumble/SharedMemory_unix.cpp +++ b/src/mumble/SharedMemory_unix.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "SharedMemory.h" #include <sys/types.h> diff --git a/src/mumble/SharedMemory_win.cpp b/src/mumble/SharedMemory_win.cpp index 044932d55..d951ffbea 100644 --- a/src/mumble/SharedMemory_win.cpp +++ b/src/mumble/SharedMemory_win.cpp @@ -3,14 +3,9 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "SharedMemory.h" -#ifndef _WIN32_WINNT -#define _WIN32_WINNT 0x0501 -#include <windows.h> -#endif +#include "win.h" #include <QtCore/QDebug> diff --git a/src/mumble/SocketRPC.cpp b/src/mumble/SocketRPC.cpp index 900361c8a..8a220b928 100644 --- a/src/mumble/SocketRPC.cpp +++ b/src/mumble/SocketRPC.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "SocketRPC.h" #include "Channel.h" @@ -12,6 +10,11 @@ #include "MainWindow.h" #include "ServerHandler.h" +#include <QtCore/QProcessEnvironment> +#include <QtCore/QUrlQuery> +#include <QtNetwork/QLocalServer> +#include <QtXml/QDomDocument> + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/TaskList.cpp b/src/mumble/TaskList.cpp index f619683d4..58e37dedc 100644 --- a/src/mumble/TaskList.cpp +++ b/src/mumble/TaskList.cpp @@ -3,10 +3,17 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "TaskList.h" +#include "MumbleApplication.h" + +#include <QtCore/QFileInfo> +#include <QtCore/QSettings> +#include <QtCore/QString> +#include <QtCore/QUrl> +#include <QtCore/QUrlQuery> + +#include <shlobj.h> #include <shobjidl.h> #include <propkey.h> #include <propvarutil.h> diff --git a/src/mumble/TaskList.h b/src/mumble/TaskList.h index dd965ca88..a5a0ec512 100644 --- a/src/mumble/TaskList.h +++ b/src/mumble/TaskList.h @@ -6,6 +6,8 @@ #ifndef MUMBLE_MUMBLE_TASK_LIST_H_ #define MUMBLE_MUMBLE_TASK_LIST_H_ +class QString; + class TaskList { public: static void addToRecentList(QString name, QString user, QString host, int port); diff --git a/src/mumble/TextMessage.cpp b/src/mumble/TextMessage.cpp index 039d10f7b..5614e2814 100644 --- a/src/mumble/TextMessage.cpp +++ b/src/mumble/TextMessage.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "TextMessage.h" TextMessage::TextMessage(QWidget *p, QString title, bool bChannel) : QDialog(p) { diff --git a/src/mumble/TextToSpeech.cpp b/src/mumble/TextToSpeech.cpp index f4cea8f31..39d970d8a 100644 --- a/src/mumble/TextToSpeech.cpp +++ b/src/mumble/TextToSpeech.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "TextToSpeech.h" #include <QTextToSpeech> diff --git a/src/mumble/TextToSpeech_macx.mm b/src/mumble/TextToSpeech_macx.mm index e68910a21..b7901e2d9 100644 --- a/src/mumble/TextToSpeech_macx.mm +++ b/src/mumble/TextToSpeech_macx.mm @@ -38,8 +38,6 @@ #import <AppKit/AppKit.h> -#include "mumble_pch.hpp" - #include "Global.h" #include "TextToSpeech.h" diff --git a/src/mumble/TextToSpeech_unix.cpp b/src/mumble/TextToSpeech_unix.cpp index 5aeedee7d..106808d28 100644 --- a/src/mumble/TextToSpeech_unix.cpp +++ b/src/mumble/TextToSpeech_unix.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "TextToSpeech.h" #ifdef USE_SPEECHD @@ -15,6 +13,9 @@ # endif #endif +#include <QtCore/QLocale> + +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" class TextToSpeechPrivate { diff --git a/src/mumble/TextToSpeech_win.cpp b/src/mumble/TextToSpeech_win.cpp index de16e55fb..ae32c9805 100644 --- a/src/mumble/TextToSpeech_win.cpp +++ b/src/mumble/TextToSpeech_win.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "TextToSpeech.h" #include <servprov.h> diff --git a/src/mumble/ThemeInfo.cpp b/src/mumble/ThemeInfo.cpp index 58abaf705..f22619b2a 100644 --- a/src/mumble/ThemeInfo.cpp +++ b/src/mumble/ThemeInfo.cpp @@ -3,10 +3,12 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "ThemeInfo.h" +#include <QtCore/QDebug> +#include <QtCore/QDir> +#include <QtCore/QSettings> + QFileInfo ThemeInfo::StyleInfo::getPlatformQss() const { #if defined(Q_OS_WIN) return qssFiles.value(QLatin1String("WIN"), defaultQss); diff --git a/src/mumble/Themes.cpp b/src/mumble/Themes.cpp index 5fe8e82e2..901ddd0e8 100644 --- a/src/mumble/Themes.cpp +++ b/src/mumble/Themes.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Themes.h" #include "MainWindow.h" #include "MumbleApplication.h" diff --git a/src/mumble/Tokens.cpp b/src/mumble/Tokens.cpp index 9344e749b..a518234e4 100644 --- a/src/mumble/Tokens.cpp +++ b/src/mumble/Tokens.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Tokens.h" #include "Database.h" diff --git a/src/mumble/Usage.cpp b/src/mumble/Usage.cpp index 10de98edd..0bdbd7b2d 100644 --- a/src/mumble/Usage.cpp +++ b/src/mumble/Usage.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Usage.h" #include "ClientUser.h" @@ -14,6 +12,12 @@ #include "OSInfo.h" #include "Version.h" +#include <QtCore/QTimer> +#include <QtNetwork/QHostAddress> +#include <QtNetwork/QNetworkAccessManager> +#include <QtNetwork/QNetworkReply> +#include <QtXml/QDomElement> + Usage::Usage(QObject *p) : QObject(p) { qbReport.open(QBuffer::ReadWrite); qdsReport.setDevice(&qbReport); diff --git a/src/mumble/UserEdit.cpp b/src/mumble/UserEdit.cpp index 2172aa1a5..d1305dcf9 100644 --- a/src/mumble/UserEdit.cpp +++ b/src/mumble/UserEdit.cpp @@ -3,17 +3,16 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "UserEdit.h" -#include <QItemSelectionModel> - #include "Channel.h" #include "ServerHandler.h" #include "User.h" #include "UserListModel.h" +#include <QtCore/QItemSelectionModel> +#include <QtWidgets/QMenu> + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/UserInformation.cpp b/src/mumble/UserInformation.cpp index f4ec2e5d1..4fb5d2ce9 100644 --- a/src/mumble/UserInformation.cpp +++ b/src/mumble/UserInformation.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "UserInformation.h" #include "Audio.h" @@ -13,6 +11,8 @@ #include "ServerHandler.h" #include "ViewCert.h" +#include <QtCore/QUrl> + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/UserListModel.cpp b/src/mumble/UserListModel.cpp index e708ea572..2f5d41596 100644 --- a/src/mumble/UserListModel.cpp +++ b/src/mumble/UserListModel.cpp @@ -3,15 +3,20 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "UserListModel.h" + #include "Channel.h" #include "Message.h" +#include "Utils.h" -#include <vector> #include <algorithm> +#ifdef _MSC_VER +# include <functional> +#endif + +#include <vector> + UserListModel::UserListModel(const MumbleProto::UserList& userList, QObject *parent_) : QAbstractTableModel(parent_) , m_legacyMode(false) { diff --git a/src/mumble/UserLocalVolumeDialog.cpp b/src/mumble/UserLocalVolumeDialog.cpp index 10a21336e..b6d20a3b9 100644 --- a/src/mumble/UserLocalVolumeDialog.cpp +++ b/src/mumble/UserLocalVolumeDialog.cpp @@ -34,13 +34,18 @@ */ -#include "mumble_pch.hpp" - #include "UserLocalVolumeDialog.h" -#include "Global.h" #include "ClientUser.h" #include "Database.h" +#include <QtGui/QCloseEvent> +#include <QtWidgets/QPushButton> + +#include <cmath> + +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. +#include "Global.h" + UserLocalVolumeDialog::UserLocalVolumeDialog(unsigned int sessionId, QMap<unsigned int, UserLocalVolumeDialog *> *qmUserVolTracker) : QDialog(NULL) diff --git a/src/mumble/UserLockFile.h b/src/mumble/UserLockFile.h index f3d81a1e2..feb61ba49 100644 --- a/src/mumble/UserLockFile.h +++ b/src/mumble/UserLockFile.h @@ -6,10 +6,14 @@ #ifndef MUMBLE_MUMBLE_LOCKFILE_H_ #define MUMBLE_MUMBLE_LOCKFILE_H_ -#if defined(Q_OS_WIN) -# include <windows.h> +#include <QtCore/QtGlobal> + +#ifdef Q_OS_WIN +# include "win.h" #endif +#include <QtCore/QString> + /// UserLockFile implements an atomic lock file /// that can be used as a mutex between different /// processes run by the same user. diff --git a/src/mumble/UserLockFile_win.cpp b/src/mumble/UserLockFile_win.cpp index 4b9f66b45..c0c9bdd22 100644 --- a/src/mumble/UserLockFile_win.cpp +++ b/src/mumble/UserLockFile_win.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "UserLockFile.h" UserLockFile::UserLockFile(const QString &lockFilePath) diff --git a/src/mumble/UserModel.cpp b/src/mumble/UserModel.cpp index 901f97039..4f8c308c7 100644 --- a/src/mumble/UserModel.cpp +++ b/src/mumble/UserModel.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "UserModel.h" #include "ClientUser.h" @@ -19,6 +17,13 @@ #include "Usage.h" #include "User.h" +#include <QtCore/QMimeData> +#include <QtCore/QStack> +#include <QtGui/QImageReader> +#include <QtWidgets/QMessageBox> +#include <QtWidgets/QToolTip> +#include <QtWidgets/QWhatsThis> + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/UserView.cpp b/src/mumble/UserView.cpp index 45548db14..fdcd5afd2 100644 --- a/src/mumble/UserView.cpp +++ b/src/mumble/UserView.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "UserView.h" #include "Channel.h" @@ -14,6 +12,11 @@ #include "ServerHandler.h" #include "UserModel.h" +#include <QtGui/QDesktopServices> +#include <QtGui/QHelpEvent> +#include <QtGui/QPainter> +#include <QtWidgets/QWhatsThis> + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/VersionCheck.cpp b/src/mumble/VersionCheck.cpp index 0a7a1a526..a14af8ab6 100644 --- a/src/mumble/VersionCheck.cpp +++ b/src/mumble/VersionCheck.cpp @@ -3,13 +3,25 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "VersionCheck.h" #include "MainWindow.h" +#include "Utils.h" #include "WebFetch.h" +#ifdef Q_OS_WIN +# include "win.h" +#endif + +#include <QtCore/QUrlQuery> +#include <QtXml/QDomDocument> +#include <QtWidgets/QMessageBox> + +#ifdef Q_OS_WIN +# include <shellapi.h> +# include <softpub.h> +#endif + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/ViewCert.cpp b/src/mumble/ViewCert.cpp index bca5faa43..6aa6d539f 100644 --- a/src/mumble/ViewCert.cpp +++ b/src/mumble/ViewCert.cpp @@ -3,10 +3,16 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "ViewCert.h" +#include <QtCore/QUrl> +#include <QtNetwork/QSslKey> +#include <QtWidgets/QDialogButtonBox> +#include <QtWidgets/QGroupBox> +#include <QtWidgets/QHBoxLayout> +#include <QtWidgets/QListWidget> +#include <QtWidgets/QVBoxLayout> + static QString decode_utf8_qssl_string(const QString &input) { QString i = input; return QUrl::fromPercentEncoding(i.replace(QLatin1String("\\x"), QLatin1String("%")).toLatin1()); diff --git a/src/mumble/VoiceRecorder.cpp b/src/mumble/VoiceRecorder.cpp index 708b1070c..bf8f74649 100644 --- a/src/mumble/VoiceRecorder.cpp +++ b/src/mumble/VoiceRecorder.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "VoiceRecorder.h" #include "AudioOutput.h" @@ -13,6 +11,8 @@ #include "../Timer.h" +#include <boost/make_shared.hpp> + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/VoiceRecorder.h b/src/mumble/VoiceRecorder.h index f82b8cf88..7eac9712c 100644 --- a/src/mumble/VoiceRecorder.h +++ b/src/mumble/VoiceRecorder.h @@ -6,12 +6,17 @@ #ifndef MUMBLE_MUMBLE_VOICERECORDER_H_ #define MUMBLE_MUMBLE_VOICERECORDER_H_ +#include <QtCore/QtGlobal> + +#ifdef Q_OS_WIN +# include "win.h" +#endif + #ifndef Q_MOC_RUN # include <boost/scoped_ptr.hpp> # include <boost/shared_array.hpp> #endif -#include <sndfile.h> #include <QtCore/QDateTime> #include <QtCore/QHash> #include <QtCore/QMutex> @@ -19,6 +24,12 @@ #include <QtCore/QThread> #include <QtCore/QWaitCondition> +#ifdef Q_OS_WIN +# define ENABLE_SNDFILE_WINDOWS_PROTOTYPES 1 +#endif + +#include <sndfile.h> + class ClientUser; class RecordUser; class Timer; diff --git a/src/mumble/VoiceRecorderDialog.cpp b/src/mumble/VoiceRecorderDialog.cpp index 2ed5c4772..0a65efb42 100644 --- a/src/mumble/VoiceRecorderDialog.cpp +++ b/src/mumble/VoiceRecorderDialog.cpp @@ -3,14 +3,16 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "VoiceRecorderDialog.h" #include "AudioOutput.h" #include "ServerHandler.h" #include "VoiceRecorder.h" +#include <QtGui/QCloseEvent> +#include <QtWidgets/QFileDialog> +#include <QtWidgets/QMessageBox> + // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/WASAPI.cpp b/src/mumble/WASAPI.cpp index 16d16691a..fcd6b5a3c 100644 --- a/src/mumble/WASAPI.cpp +++ b/src/mumble/WASAPI.cpp @@ -3,12 +3,11 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "WASAPI.h" #include "WASAPINotificationClient.h" #include "MainWindow.h" +#include "Utils.h" // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/WASAPI.h b/src/mumble/WASAPI.h index aa855e439..421574498 100644 --- a/src/mumble/WASAPI.h +++ b/src/mumble/WASAPI.h @@ -6,10 +6,14 @@ #ifndef MUMBLE_MUMBLE_WASAPI_H_ #define MUMBLE_MUMBLE_WASAPI_H_ +#include "AudioInput.h" +#include "AudioOutput.h" + +#include "win.h" + #include <QtCore/QObject> #include <QtCore/QUuid> -#include <windows.h> #include <mmreg.h> #include <strsafe.h> #include <mmdeviceapi.h> @@ -24,9 +28,6 @@ #include <propidl.h> #include <audiopolicy.h> -#include "AudioInput.h" -#include "AudioOutput.h" - class WASAPISystem : public QObject { private: Q_OBJECT diff --git a/src/mumble/WASAPINotificationClient.cpp b/src/mumble/WASAPINotificationClient.cpp index d07dcda68..9c6f98614 100644 --- a/src/mumble/WASAPINotificationClient.cpp +++ b/src/mumble/WASAPINotificationClient.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "MainWindow.h" #include "WASAPINotificationClient.h" diff --git a/src/mumble/WebFetch.cpp b/src/mumble/WebFetch.cpp index b5266a54e..0b40c4261 100644 --- a/src/mumble/WebFetch.cpp +++ b/src/mumble/WebFetch.cpp @@ -3,13 +3,15 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "WebFetch.h" -#include "Global.h" #include "NetworkConfig.h" +#include <QtNetwork/QNetworkReply> + +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. +#include "Global.h" + WebFetch::WebFetch(QString service, QUrl url, QObject *obj, const char *slot) : QObject() , qoObject(obj) diff --git a/src/mumble/XboxInput.cpp b/src/mumble/XboxInput.cpp index 748194a1c..2abb4f42b 100644 --- a/src/mumble/XboxInput.cpp +++ b/src/mumble/XboxInput.cpp @@ -3,10 +3,10 @@ // that can be found in the LICENSE file at the root of the
// Mumble source tree or at <https://www.mumble.info/LICENSE>.
-#include "mumble_pch.hpp"
-
#include "XboxInput.h"
+#include <QtCore/QStringList>
+
const QUuid XboxInput::s_XboxInputGuid = QUuid(QString::fromLatin1("ca3937e3-640c-4d9e-9ef3-903f8b4fbcab"));
XboxInput::XboxInput()
diff --git a/src/mumble/XboxInput.h b/src/mumble/XboxInput.h index 64c5535cb..2af568976 100644 --- a/src/mumble/XboxInput.h +++ b/src/mumble/XboxInput.h @@ -6,10 +6,12 @@ #ifndef MUMBLE_MUMBLE_XBOXINPUT_H_
#define MUMBLE_MUMBLE_XBOXINPUT_H_
-#include <windows.h>
-#include <stdint.h>
+#include "win.h"
+
#include <QUuid>
+#include <stdint.h>
+
/// XBOXINPUT_MAX_DEVICES defines the maximum
/// number of devices that can be connected
/// to the system at once.
diff --git a/src/mumble/main.cpp b/src/mumble/main.cpp index a25aef7ef..ecc93d55e 100644 --- a/src/mumble/main.cpp +++ b/src/mumble/main.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "Overlay.h" #include "MainWindow.h" #include "ServerHandler.h" @@ -17,16 +15,15 @@ #include "Plugins.h" #include "LogEmitter.h" #include "DeveloperConsole.h" -#include "Global.h" #include "LCD.h" #ifdef USE_BONJOUR -#include "BonjourClient.h" +# include "BonjourClient.h" #endif #ifdef USE_DBUS -#include "DBus.h" +# include "DBus.h" #endif #ifdef USE_VLD -#include "vld.h" +# include "vld.h" #endif #include "VersionCheck.h" #include "NetworkConfig.h" @@ -40,10 +37,24 @@ #include "License.h" #include "EnvUtils.h" +#include <QtCore/QLibraryInfo> +#include <QtCore/QProcess> +#include <QtCore/QStandardPaths> +#include <QtCore/QTranslator> +#include <QtGui/QDesktopServices> +#include <QtWidgets/QMessageBox> + +#ifdef USE_DBUS +# include <QtDBus/QDBusInterface> +#endif + #if defined(Q_OS_WIN) && defined(QT_NO_DEBUG) -#include <shellapi.h> // For CommandLineToArgvW() +# include <shellapi.h> // For CommandLineToArgvW() #endif +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. +#include "Global.h" + #if defined(USE_STATIC_QT_PLUGINS) && QT_VERSION < 0x050000 Q_IMPORT_PLUGIN(qtaccessiblewidgets) # ifdef Q_OS_WIN diff --git a/src/mumble/mumble_pch.hpp b/src/mumble/mumble_pch.hpp index 594350cd3..cabbdc8ac 100644 --- a/src/mumble/mumble_pch.hpp +++ b/src/mumble/mumble_pch.hpp @@ -12,28 +12,21 @@ #define QT_USE_FAST_CONCATENATION #define QT_USE_FAST_OPERATOR_PLUS -#define NOMINMAX -#define WIN32_LEAN_AND_MEAN +#include <QtCore/QtGlobal> + +#ifdef Q_OS_WIN +# include "win.h" +#endif #define BOOST_TYPEOF_SUPPRESS_UNNAMED_NAMESPACE #ifdef __APPLE__ -#include <Carbon/Carbon.h> -#include <CoreFoundation/CoreFoundation.h> -#include <ApplicationServices/ApplicationServices.h> -#undef nil -#undef check -#undef TYPE_BOOL -#endif - -#ifdef __MINGW32__ -// Our MinGW build targets Windows 7 for now. -// Set up the appropriate Windows macros such that -// MinGW's Windows headers expose all the functionality -// we need. -#define _WIN32_WINNT 0x0601 -#define NTDDI_VERSION NTDDI_WIN7 -#include <ws2tcpip.h> +# include <Carbon/Carbon.h> +# include <CoreFoundation/CoreFoundation.h> +# include <ApplicationServices/ApplicationServices.h> +# undef nil +# undef check +# undef TYPE_BOOL #endif #include <QtCore/QtCore> @@ -45,19 +38,19 @@ #include <QtSvg/QtSvg> #ifdef USE_DBUS -#include <QtDBus/QtDBus> +# include <QtDBus/QtDBus> #endif #include <QtNetwork/QtNetwork> #include <QtSql/QtSql> #include <QtXml/QtXml> #ifdef Q_OS_WIN -#define ENABLE_SNDFILE_WINDOWS_PROTOTYPES 1 +# define ENABLE_SNDFILE_WINDOWS_PROTOTYPES 1 #endif #include <sndfile.h> #include <celt.h> #ifdef USE_SBCELT -#include <sbcelt.h> +# include <sbcelt.h> #endif #include <speex/speex.h> #include <speex/speex_jitter.h> @@ -85,46 +78,31 @@ #include <cmath> #ifdef Q_OS_WIN -#include "../qos2_mingw.h" - -#include <winsock2.h> -#include <qos2.h> -#include <windows.h> -#include <shellapi.h> -#include <wintrust.h> -#include <softpub.h> -#include <dbt.h> -#include <delayimp.h> -#include <shlobj.h> -#include <tlhelp32.h> -#include <psapi.h> -#include <math.h> -#include <mmreg.h> - -#define STACKVAR(type, varname, count) type *varname=reinterpret_cast<type *>(_alloca(sizeof(type) * (count))) - +# include <ws2tcpip.h> +# include <qos2.h> +# include <shellapi.h> +# include <wintrust.h> +# include <softpub.h> +# include <dbt.h> +# include <delayimp.h> +# include <shlobj.h> +# include <tlhelp32.h> +# include <psapi.h> +# include <mmreg.h> #else // ifndef Q_OS_WIN -#include <math.h> -#define STACKVAR(type, varname, count) type varname[count] -#define CopyMemory(dst,ptr,len) memcpy(dst,ptr,len) -#define ZeroMemory(ptr,len) memset(ptr, 0, len) -#define __cdecl -typedef WId HWND; -#include <sys/socket.h> -#include <sys/types.h> -#include <arpa/inet.h> -#include <netinet/in.h> -#include <netinet/tcp.h> +# include <sys/socket.h> +# include <sys/types.h> +# include <arpa/inet.h> +# include <netinet/in.h> +# include <netinet/tcp.h> #endif #if !defined(Q_OS_OPENBSD) && (defined(__MMX__) || defined(Q_OS_WIN)) -#include <mmintrin.h> +# include <mmintrin.h> #endif -#define iroundf(x) ( static_cast<int>(x) ) - #ifdef USE_BONJOUR -#include <dns_sd.h> +# include <dns_sd.h> #endif #ifdef __OBJC__ diff --git a/src/mumble/murmur_pch.h b/src/mumble/murmur_pch.h deleted file mode 100644 index 0ca10b03f..000000000 --- a/src/mumble/murmur_pch.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2005-2019 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at <https://www.mumble.info/LICENSE>. - -#ifndef MUMBLE_MUMBLE_MURMUR_PCH_H_ -#define MUMBLE_MUMBLE_MURMUR_PCH_H_ - -#include "mumble_pch.hpp" - -#endif diff --git a/src/mumble/os_early_win.cpp b/src/mumble/os_early_win.cpp index 7cf060f73..a896ce441 100644 --- a/src/mumble/os_early_win.cpp +++ b/src/mumble/os_early_win.cpp @@ -3,13 +3,14 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include <windows.h> +#include "win.h" + +#include <string> + #include <shlwapi.h> #include <stdio.h> #include <sddl.h> -#include <string> - // Alert shows a fatal error dialog and waits for the user to click OK. static void Alert(LPCWSTR title, LPCWSTR msg) { MessageBox(NULL, msg, title, MB_OK|MB_ICONERROR); diff --git a/src/mumble/os_macx.mm b/src/mumble/os_macx.mm index dc8070774..616b5251b 100644 --- a/src/mumble/os_macx.mm +++ b/src/mumble/os_macx.mm @@ -3,10 +3,12 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" #include "LogEmitter.h" -#include "Overlay.h" #include "MainWindow.h" +#include "Overlay.h" +#include "Utils.h" + +#include <CoreFoundation/CoreFoundation.h> // We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" diff --git a/src/mumble/os_unix.cpp b/src/mumble/os_unix.cpp index 3efab3a22..dc14de63d 100644 --- a/src/mumble/os_unix.cpp +++ b/src/mumble/os_unix.cpp @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. - -#include "mumble_pch.hpp" #include "LogEmitter.h" #include "Global.h" diff --git a/src/mumble/os_win.cpp b/src/mumble/os_win.cpp index 480f22ecd..ba107c7ef 100644 --- a/src/mumble/os_win.cpp +++ b/src/mumble/os_win.cpp @@ -3,21 +3,34 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" +#include "LogEmitter.h" +#include "MumbleApplication.h" + +#ifdef _MSC_VER +# include "Utils.h" +#endif + +#include "Version.h" +#include "win.h" + +#include <cmath> +#include <cfloat> -#include <windows.h> +#include <wincrypt.h> #include <tlhelp32.h> #include <dbghelp.h> + +#ifdef _MSC_VER +# include <delayimp.h> +#endif + #include <emmintrin.h> -#include <math.h> -#include <float.h> #include <shobjidl.h> #include <shlobj.h> #include <share.h> // For share flags for _wfsopen +// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. #include "Global.h" -#include "Version.h" -#include "LogEmitter.h" extern "C" { void __cpuid(int a[4], int b); diff --git a/src/mumble/widgets/MUComboBox.cpp b/src/mumble/widgets/MUComboBox.cpp index 72ebfcb71..cfe3694de 100644 --- a/src/mumble/widgets/MUComboBox.cpp +++ b/src/mumble/widgets/MUComboBox.cpp @@ -3,10 +3,10 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "mumble_pch.hpp" - #include "MUComboBox.h" +#include <QtWidgets/QListView> + MUComboBox::MUComboBox(QWidget *parent) : QComboBox(parent) { diff --git a/src/mumble_exe/mumble_exe.cpp b/src/mumble_exe/mumble_exe.cpp index cb8b60079..488e4fcf9 100644 --- a/src/mumble_exe/mumble_exe.cpp +++ b/src/mumble_exe/mumble_exe.cpp @@ -3,7 +3,8 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include <windows.h> +#include "win.h" + #include <shlwapi.h> #include <stdio.h> diff --git a/src/mumble_exe/mumble_exe.pro b/src/mumble_exe/mumble_exe.pro index 8d2d19c00..d9628bdd0 100644 --- a/src/mumble_exe/mumble_exe.pro +++ b/src/mumble_exe/mumble_exe.pro @@ -10,6 +10,8 @@ CONFIG -= qt CONFIG += debug_and_release TARGET = mumble +INCLUDEPATH *= $$PWD/.. + win32 { DEFINES += WIN32 _WIN32 RC_FILE = ../mumble/mumble.rc diff --git a/src/murmur/About.cpp b/src/murmur/About.cpp index 8f4aaf12c..1a72af15b 100644 --- a/src/murmur/About.cpp +++ b/src/murmur/About.cpp @@ -3,17 +3,18 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - -#if QT_VERSION >= 0x050000 -# include <QtWidgets/QApplication> -#else -# include <QtGui/QApplication> -#endif - #include "About.h" #include "Version.h" #include "License.h" +#include "Utils.h" + +#include <QtWidgets/QApplication> +#include <QtWidgets/QLabel> +#include <QtWidgets/QPushButton> +#include <QtWidgets/QTabWidget> +#include <QtWidgets/QTextBrowser> +#include <QtWidgets/QTextEdit> +#include <QtWidgets/QVBoxLayout> AboutDialog::AboutDialog(QWidget *p, AboutDialogOptions options) : QDialog(p) { setWindowTitle(tr("About Murmur")); diff --git a/src/murmur/BonjourServer.cpp b/src/murmur/BonjourServer.cpp index edb2ab89b..b92d882b3 100644 --- a/src/murmur/BonjourServer.cpp +++ b/src/murmur/BonjourServer.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "BonjourServer.h" #include "BonjourServiceRegister.h" diff --git a/src/murmur/Cert.cpp b/src/murmur/Cert.cpp index 1f102bc26..3a1fe10b1 100644 --- a/src/murmur/Cert.cpp +++ b/src/murmur/Cert.cpp @@ -3,12 +3,24 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" +#include <QtCore/QtGlobal> + +#ifdef Q_OS_WIN +# include "win.h" +#endif #include "Meta.h" #include "Server.h" #include "SelfSignedCertificate.h" +#include <openssl/err.h> +#include <openssl/evp.h> +#include <openssl/x509.h> + +#ifdef Q_OS_WIN +# include <winsock2.h> +#endif + bool Server::isKeyForCert(const QSslKey &key, const QSslCertificate &cert) { if (key.isNull() || cert.isNull() || (key.type() != QSsl::PrivateKey)) return false; diff --git a/src/murmur/DBus.cpp b/src/murmur/DBus.cpp index 9aa2628dc..2de841cce 100644 --- a/src/murmur/DBus.cpp +++ b/src/murmur/DBus.cpp @@ -3,7 +3,11 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" +#include <QtCore/QtGlobal> + +#ifdef Q_OS_WIN +# include "win.h" +#endif #include "DBus.h" @@ -13,6 +17,20 @@ #include "ServerUser.h" #include "ServerDB.h" +#include <QtCore/QCoreApplication> +#include <QtCore/QStack> +#include <QtDBus/QDBusConnectionInterface> +#include <QtDBus/QDBusInterface> +#include <QtDBus/QDBusMessage> +#include <QtDBus/QDBusMetaType> +#include <QtDBus/QDBusReply> + +#ifdef Q_OS_WIN +# include <winsock2.h> +#else +# include <arpa/inet.h> +#endif + QDBusArgument &operator<<(QDBusArgument &a, const PlayerInfo &s) { a.beginStructure(); a << s.session << s.mute << s.deaf << s.suppressed << s.selfMute << s.selfDeaf << s.channel; diff --git a/src/murmur/Messages.cpp b/src/murmur/Messages.cpp index aa07064cb..11e283553 100644 --- a/src/murmur/Messages.cpp +++ b/src/murmur/Messages.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "User.h" #include "Channel.h" #include "ACL.h" @@ -17,6 +15,9 @@ #include "Version.h" #include "CryptState.h" +#include <QtCore/QStack> +#include <QtCore/QtEndian> + #define RATELIMIT(user) \ if (user->leakyBucket.ratelimit(1)) { \ return; \ diff --git a/src/murmur/Meta.cpp b/src/murmur/Meta.cpp index 2c7ca7672..3baac7a7b 100644 --- a/src/murmur/Meta.cpp +++ b/src/murmur/Meta.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "Meta.h" #include "Connection.h" @@ -17,8 +15,25 @@ #include "EnvUtils.h" #include "FFDHE.h" +#include <QtCore/QCoreApplication> +#include <QtCore/QSettings> + +#ifdef Q_OS_WIN +# include <QtCore/QStandardPaths> +#endif + +#include <QtNetwork/QHostInfo> +#include <QtNetwork/QNetworkInterface> + #if defined(USE_QSSLDIFFIEHELLMANPARAMETERS) -# include <QSslDiffieHellmanParameters> +# include <QtNetwork/QSslDiffieHellmanParameters> +#endif + +#ifdef Q_OS_WIN +# include <qos2.h> +#else +# include <pwd.h> +# include <sys/resource.h> #endif MetaParams Meta::mp; diff --git a/src/murmur/Meta.h b/src/murmur/Meta.h index f2a1fdcd0..f9af242d9 100644 --- a/src/murmur/Meta.h +++ b/src/murmur/Meta.h @@ -6,6 +6,12 @@ #ifndef MUMBLE_MURMUR_META_H_ #define MUMBLE_MURMUR_META_H_ +#include "Timer.h" + +#ifdef Q_OS_WIN +# include "win.h" +#endif + #include <QtCore/QDir> #include <QtCore/QList> #include <QtCore/QUrl> @@ -14,11 +20,6 @@ #include <QtNetwork/QSslCertificate> #include <QtNetwork/QSslKey> #include <QtNetwork/QSslCipher> -#ifdef Q_OS_WIN -#include <windows.h> -#endif - -#include "Timer.h" class Server; class QSettings; diff --git a/src/murmur/MurmurGRPCImpl.cpp b/src/murmur/MurmurGRPCImpl.cpp index f4a7f6946..f8f204aec 100644 --- a/src/murmur/MurmurGRPCImpl.cpp +++ b/src/murmur/MurmurGRPCImpl.cpp @@ -7,8 +7,6 @@ # include <boost/function.hpp> #endif -#include "murmur_pch.h" - #include "Mumble.pb.h" #include "../Message.h" @@ -18,6 +16,9 @@ #include "ServerUser.h" #include "Server.h" #include "Channel.h" +#include "Utils.h" + +#include <QtCore/QStack> #include "MurmurRPC.proto.Wrapper.cpp" diff --git a/src/murmur/MurmurGRPCImpl.h b/src/murmur/MurmurGRPCImpl.h index 420e3209b..3592a62f2 100644 --- a/src/murmur/MurmurGRPCImpl.h +++ b/src/murmur/MurmurGRPCImpl.h @@ -7,6 +7,10 @@ #ifndef MUMBLE_MURMUR_MURMURRPC_H_ #define MUMBLE_MURMUR_MURMURRPC_H_ +#include <QtCore/QCoreApplication> + +#include <boost/bind.hpp> + #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-parameter" #include "MurmurRPC.grpc.pb.h" diff --git a/src/murmur/MurmurIce.cpp b/src/murmur/MurmurIce.cpp index 1160faad5..14d4b336f 100644 --- a/src/murmur/MurmurIce.cpp +++ b/src/murmur/MurmurIce.cpp @@ -3,16 +3,8 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "MurmurIce.h" -#include <limits> - -#include <Ice/Ice.h> -#include <Ice/SliceChecksums.h> -#include <IceUtil/IceUtil.h> - #include "Channel.h" #include "Group.h" #include "Meta.h" @@ -22,6 +14,21 @@ #include "ServerDB.h" #include "User.h" #include "Ban.h" +#include "Utils.h" + +#include <QtCore/QCoreApplication> +#include <QtCore/QSettings> +#include <QtCore/QStack> + +#include <boost/bind.hpp> + +#include <openssl/err.h> + +#include <Ice/Ice.h> +#include <Ice/SliceChecksums.h> +#include <IceUtil/IceUtil.h> + +#include <limits> using namespace std; using namespace Murmur; diff --git a/src/murmur/MurmurIce.h b/src/murmur/MurmurIce.h index f780e5eff..86f1196c7 100644 --- a/src/murmur/MurmurIce.h +++ b/src/murmur/MurmurIce.h @@ -7,6 +7,13 @@ #ifndef MUMBLE_MURMUR_MURMURICE_H_ #define MUMBLE_MURMUR_MURMURICE_H_ +#include <QtCore/QtGlobal> + +#ifdef Q_OS_WIN +// To prevent <windows.h> (included by Ice) from including <winsock.h>. +# define WIN32_LEAN_AND_MEAN +#endif + #include <QtCore/QList> #include <QtCore/QMap> #include <QtCore/QMutex> diff --git a/src/murmur/PBKDF2.cpp b/src/murmur/PBKDF2.cpp index e521b5112..91857ee39 100644 --- a/src/murmur/PBKDF2.cpp +++ b/src/murmur/PBKDF2.cpp @@ -34,10 +34,27 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "murmur_pch.h" +#include <QtCore/QtGlobal> + +#ifdef Q_OS_WIN +// <openssl/rand.h> includes <windows.h> without defining NOMINMAX, +// which breaks our compilation because of the "max" macro. +#ifndef NOMINMAX +# define NOMINMAX +#endif +#endif #include "PBKDF2.h" +#include <QtCore/QElapsedTimer> +#include <QtCore/QLatin1String> + +#include <openssl/err.h> +#include <openssl/evp.h> +#include <openssl/rand.h> + +#include <limits> + int PBKDF2::benchmark() { const QString pseudopass(QLatin1String("aboutAvg")); const QString hexSalt = getSalt(); // Could tolerate not getting a salt here, will likely only make it harder. diff --git a/src/murmur/RPC.cpp b/src/murmur/RPC.cpp index ff62bad9d..f95604d9c 100644 --- a/src/murmur/RPC.cpp +++ b/src/murmur/RPC.cpp @@ -3,7 +3,11 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" +#include <QtCore/QtGlobal> + +#ifdef Q_OS_WIN +# include "win.h" +#endif #include "Channel.h" #include "Group.h" @@ -13,6 +17,10 @@ #include "ServerUser.h" #include "Version.h" +#ifdef Q_OS_WIN +# include <winsock2.h> +#endif + void Server::setUserState(User *pUser, Channel *cChannel, bool mute, bool deaf, bool suppressed, bool prioritySpeaker, const QString& name, const QString &comment) { bool changed = false; diff --git a/src/murmur/Register.cpp b/src/murmur/Register.cpp index 444030a16..5911dd701 100644 --- a/src/murmur/Register.cpp +++ b/src/murmur/Register.cpp @@ -3,13 +3,15 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "Server.h" #include "Meta.h" #include "Version.h" #include "OSInfo.h" +#include <QtNetwork/QNetworkAccessManager> +#include <QtNetwork/QNetworkReply> +#include <QtXml/QDomDocument> + void Server::initRegister() { connect(&qtTick, SIGNAL(timeout()), this, SLOT(update())); diff --git a/src/murmur/Server.cpp b/src/murmur/Server.cpp index 9a3872f98..7315aab7f 100644 --- a/src/murmur/Server.cpp +++ b/src/murmur/Server.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "Server.h" #include "ACL.h" @@ -22,12 +20,30 @@ #include "HostAddress.h" #ifdef USE_BONJOUR -#include "BonjourServer.h" -#include "BonjourServiceRegister.h" +# include "BonjourServer.h" +# include "BonjourServiceRegister.h" +#endif + +#include "Utils.h" + +#include <QtCore/QCoreApplication> +#include <QtCore/QXmlStreamAttributes> +#include <QtCore/QtEndian> +#include <QtNetwork/QHostInfo> +#include <QtNetwork/QSslConfiguration> + +#include <boost/bind.hpp> + +#ifdef Q_OS_WIN +# include <qos2.h> +# include <ws2tcpip.h> +#else +# include <netinet/in.h> +# include <poll.h> #endif #ifndef MAX -#define MAX(a,b) ((a)>(b) ? (a):(b)) +# define MAX(a,b) ((a)>(b) ? (a):(b)) #endif #define UDP_PACKET_SIZE 1024 diff --git a/src/murmur/Server.h b/src/murmur/Server.h index 007532b7c..79dd87b07 100644 --- a/src/murmur/Server.h +++ b/src/murmur/Server.h @@ -6,6 +6,20 @@ #ifndef MUMBLE_MURMUR_SERVER_H_ #define MUMBLE_MURMUR_SERVER_H_ +#include <QtCore/QtGlobal> + +#ifdef Q_OS_WIN +# include "win.h" +#endif + +#include "ACL.h" +#include "Message.h" +#include "Mumble.pb.h" +#include "User.h" +#include "Timer.h" +#include "HostAddress.h" +#include "Ban.h" + #ifndef Q_MOC_RUN # include <boost/function.hpp> #endif @@ -26,18 +40,11 @@ #if defined(USE_QSSLDIFFIEHELLMANPARAMETERS) # include <QtNetwork/QSslDiffieHellmanParameters> #endif + #ifdef Q_OS_WIN -#include <windows.h> +# include <winsock2.h> #endif -#include "ACL.h" -#include "Message.h" -#include "Mumble.pb.h" -#include "User.h" -#include "Timer.h" -#include "HostAddress.h" -#include "Ban.h" - class BonjourServer; class Channel; class PacketDataStream; diff --git a/src/murmur/ServerDB.cpp b/src/murmur/ServerDB.cpp index 07b7b3e00..fbfa5a506 100644 --- a/src/murmur/ServerDB.cpp +++ b/src/murmur/ServerDB.cpp @@ -3,7 +3,11 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" +#include <QtCore/QtGlobal> + +#ifdef Q_OS_WIN +# include "win.h" +#endif #include "ServerDB.h" @@ -19,6 +23,16 @@ #include "PBKDF2.h" #include "PasswordGenerator.h" +#include <QtCore/QCoreApplication> +#include <QtSql/QSqlError> +#include <QtSql/QSqlQuery> + +#ifdef Q_OS_WIN +# include <winsock2.h> +#else +# include <arpa/inet.h> +#endif + #define SQLQUERY(x) ServerDB::query(query, QLatin1String(x), true) #define SQLDO(x) ServerDB::exec(query, QLatin1String(x), true) #define SQLMAY(x) ServerDB::exec(query, QLatin1String(x), false, false) diff --git a/src/murmur/ServerUser.cpp b/src/murmur/ServerUser.cpp index d7f77297f..f74e54d81 100644 --- a/src/murmur/ServerUser.cpp +++ b/src/murmur/ServerUser.cpp @@ -3,11 +3,14 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - -#include "Server.h" #include "ServerUser.h" + #include "Meta.h" +#include "Server.h" + +#ifdef Q_OS_UNIX +# include "Utils.h" +#endif ServerUser::ServerUser(Server *p, QSslSocket *socket) : Connection(p, socket), User(), s(NULL), leakyBucket(p->iMessageLimit, p->iMessageBurst) { sState = ServerUser::Connected; diff --git a/src/murmur/ServerUser.h b/src/murmur/ServerUser.h index 09dee4dcb..c0766594c 100644 --- a/src/murmur/ServerUser.h +++ b/src/murmur/ServerUser.h @@ -6,13 +6,10 @@ #ifndef MUMBLE_MURMUR_SERVERUSER_H_ #define MUMBLE_MURMUR_SERVERUSER_H_ -#include <QtCore/QStringList> -#include <QtCore/QTime> +#include <QtCore/QtGlobal> -#ifdef Q_OS_UNIX -#include <sys/socket.h> -#else -#include <winsock2.h> +#ifdef Q_OS_WIN +# include "win.h" #endif #include "Connection.h" @@ -20,6 +17,15 @@ #include "User.h" #include "HostAddress.h" +#include <QtCore/QStringList> +#include <QtCore/QTime> + +#ifdef Q_OS_WIN +# include <winsock2.h> +#else +# include <sys/socket.h> +#endif + // Unfortunately, this needs to be "large enough" to hold // enough frames to account for both short-term and // long-term "maladjustments". diff --git a/src/murmur/Tray.cpp b/src/murmur/Tray.cpp index cf9a4751c..d4c027163 100644 --- a/src/murmur/Tray.cpp +++ b/src/murmur/Tray.cpp @@ -3,8 +3,6 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "Tray.h" #include "About.h" @@ -13,6 +11,13 @@ #include "Version.h" #include "LogEmitter.h" +#include <QtWidgets/QAction> +#include <QtWidgets/QApplication> +#include <QtWidgets/QMainWindow> +#include <QtWidgets/QMenu> +#include <QtWidgets/QMessageBox> +#include <QtWidgets/QTextBrowser> + Tray::Tray(QObject *p, LogEmitter *logger) : QObject(p) { le = logger; diff --git a/src/murmur/UnixMurmur.cpp b/src/murmur/UnixMurmur.cpp index 16098fe14..5e0c6cbed 100644 --- a/src/murmur/UnixMurmur.cpp +++ b/src/murmur/UnixMurmur.cpp @@ -3,13 +3,30 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - #include "UnixMurmur.h" #include "Meta.h" #include "EnvUtils.h" +#include <QtCore/QAbstractEventDispatcher> +#include <QtCore/QCoreApplication> +#include <QtCore/QMutex> +#include <QtCore/QSocketNotifier> +#include <QtCore/QWaitCondition> + +#include <grp.h> +#include <signal.h> + +#ifdef Q_OS_LINUX +# include <sys/capability.h> +# include <sys/prctl.h> +# include <sys/resource.h> +#endif + +#include <sys/socket.h> +#include <sys/stat.h> +#include <unistd.h> + QMutex *LimitTest::qm; QWaitCondition *LimitTest::qw; QWaitCondition *LimitTest::qstartw; diff --git a/src/murmur/main.cpp b/src/murmur/main.cpp index b66dc3668..5572ea67c 100644 --- a/src/murmur/main.cpp +++ b/src/murmur/main.cpp @@ -3,16 +3,12 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -#include "murmur_pch.h" - -#ifdef Q_OS_WIN -#include "Tray.h" -#include "About.h" +#ifdef USE_DBUS +# include "DBus.h" #endif #include "Server.h" #include "ServerDB.h" -#include "DBus.h" #include "Meta.h" #include "Version.h" #include "SSL.h" @@ -20,8 +16,31 @@ #include "LogEmitter.h" #include "EnvUtils.h" -#ifdef Q_OS_UNIX -#include "UnixMurmur.h" +#ifdef Q_OS_WIN +# include "About.h" +# include "Tray.h" + +# include <QtWidgets/QApplication> +#else +# include "UnixMurmur.h" + +# include <QtCore/QCoreApplication> +#endif + +#include <QtCore/QTextCodec> + +#ifdef USE_DBUS +# include <QtDBus/QDBusError> +# include <QtDBus/QDBusServer> +#endif + +#include <openssl/crypto.h> + +#ifdef Q_OS_WIN +# include <intrin.h> +#else +# include <fcntl.h> +# include <sys/syslog.h> #endif QFile *qfLog = NULL; diff --git a/src/murmur/murmur_pch.h b/src/murmur/murmur_pch.h index ce83046cf..eb2405e94 100644 --- a/src/murmur/murmur_pch.h +++ b/src/murmur/murmur_pch.h @@ -7,21 +7,21 @@ #ifndef MUMBLE_MURMUR_MURMUR_PCH_H_ #define MUMBLE_MURMUR_MURMUR_PCH_H_ -#define WIN32_LEAN_AND_MEAN +#ifdef _MSC_VER +# define _USE_MATH_DEFINES +#endif -#define _USE_MATH_DEFINES +#include <QtCore/QtGlobal> -#ifdef __APPLE__ -#include <CoreFoundation/CoreFoundation.h> -#include <CoreServices/CoreServices.h> -#undef check -#undef TYPE_BOOL +#ifdef Q_OS_WIN +# include "win.h" #endif -#ifdef __MINGW32__ -#define _WIN32_WINNT 0x0600 -#include <ws2tcpip.h> -#include <mswsock.h> +#ifdef __APPLE__ +# include <CoreFoundation/CoreFoundation.h> +# include <CoreServices/CoreServices.h> +# undef check +# undef TYPE_BOOL #endif #include <QtCore/QtCore> @@ -29,72 +29,60 @@ #include <QtSql/QtSql> #include <QtXml/QtXml> #ifdef USE_DBUS -#include <QtDBus/QtDBus> +# include <QtDBus/QtDBus> #endif #include "QAtomicIntCompat.h" #ifdef Q_OS_WIN -#include <QtGui/QtGui> -#if QT_VERSION >= 0x050000 -# include "Qt4Compat.h" -# include <QtWidgets/QtWidgets> -#endif - -#include "../qos2_mingw.h" - -#include <winsock2.h> -#include <qos2.h> -#include <windows.h> -#include <shellapi.h> -#include <delayimp.h> +# include <QtGui/QtGui> +# if QT_VERSION >= 0x050000 +# include "Qt4Compat.h" +# include <QtWidgets/QtWidgets> +# endif + +# include <ws2tcpip.h> +# include <qos2.h> +# include <shellapi.h> +# include <delayimp.h> extern "C" { void __cpuid(int a[4], int b); }; #endif #ifdef Q_OS_UNIX -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <sys/time.h> -#include <sys/resource.h> -#include <syslog.h> -#ifdef Q_OS_LINUX -#include <linux/types.h> // needed to work around evil magic stuff in capability.h -#include <sys/capability.h> -#include <sys/prctl.h> -#endif -#include <pwd.h> -#include <grp.h> -#if defined __FreeBSD__ || defined __OpenBSD__ -#include <netinet/in_systm.h> -#endif -#include <netinet/in.h> -#include <netinet/ip.h> -#include <errno.h> -#include <signal.h> -#include <poll.h> -#define INVALID_SOCKET -1 -#define SOCKET_ERROR -1 -#ifdef Q_OS_DARWIN -#include <poll.h> +# include <stdio.h> +# include <stdlib.h> +# include <unistd.h> +# include <sys/types.h> +# include <sys/stat.h> +# include <fcntl.h> +# include <sys/types.h> +# include <sys/socket.h> +# include <sys/time.h> +# include <sys/resource.h> +# include <syslog.h> +# ifdef Q_OS_LINUX +# include <linux/types.h> // needed to work around evil magic stuff in capability.h +# include <sys/capability.h> +# include <sys/prctl.h> +# endif +# include <pwd.h> +# include <grp.h> +# if defined __FreeBSD__ || defined __OpenBSD__ +# include <netinet/in_systm.h> +# endif +# include <netinet/in.h> +# include <netinet/ip.h> +# include <errno.h> +# include <signal.h> +# include <poll.h> +# ifdef Q_OS_DARWIN +# include <poll.h> +# endif #endif -#endif - -#include <math.h> -#if defined (Q_OS_WIN) -#define snprintf ::_snprintf -#define STACKVAR(type, varname, count) type *varname=reinterpret_cast<type *>(_alloca(sizeof(type) * (count))) -#else -#define STACKVAR(type, varname, count) type varname[count] -#endif +#include <cmath> #include <boost/function.hpp> #include <boost/bind.hpp> @@ -102,7 +90,7 @@ extern "C" { #include <boost/weak_ptr.hpp> #ifdef USE_BONJOUR -#include <dns_sd.h> +# include <dns_sd.h> #endif #include <openssl/opensslv.h> diff --git a/src/qos2_mingw.h b/src/qos2_mingw.h deleted file mode 100644 index 95b529758..000000000 --- a/src/qos2_mingw.h +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2005-2019 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at <https://www.mumble.info/LICENSE>. - -// This is a collection of fixes for MinGW's <qos2.h> header. -// MinGW's <qos2.h> header does not provide everything we need, -// so define QOS_FLOWID (and PQOS_FLOWID) as well as QOS_NON_ADAPTIVE_FLOW ourselves -// to allow us to build with QoS support on MinGW. - -#ifndef MUMBLE_QOS2_MINGW_H_ -#define MUMBLE_QOS2_MINGW_H_ - -#ifdef __MINGW32__ - typedef UINT32 QOS_FLOWID, *PQOS_FLOWID; - #define QOS_NON_ADAPTIVE_FLOW 0x00000002 // MinGW's qos2.h header doesn't define QOS_NON_ADAPTIVE_FLOW, so we define it ourselves for MinGW to use. -#endif - -#endif diff --git a/src/tests/OverlayTest.cpp b/src/tests/OverlayTest.cpp index 71dfe6caf..1665da844 100644 --- a/src/tests/OverlayTest.cpp +++ b/src/tests/OverlayTest.cpp @@ -2,19 +2,21 @@ * Overlay drawing test application. */ -#include <QtCore> -#include <QtNetwork> -#include <QtGui> -#include "SharedMemory.h" - #include "../../overlay/overlay.h" +#include "SharedMemory.h" #include "Timer.h" -#include <ctime> + #ifdef Q_OS_WIN -#include <windows.h> +# include "win.h" #endif +#include <QtCore> +#include <QtNetwork> +#include <QtGui> + +#include <ctime> + class OverlayWidget : public QWidget { Q_OBJECT diff --git a/src/tests/Resample.cpp b/src/tests/Resample.cpp index 5447afab6..7cc693ebc 100644 --- a/src/tests/Resample.cpp +++ b/src/tests/Resample.cpp @@ -2,17 +2,23 @@ * Speex resampling test / information. */ +#ifdef Q_OS_WIN +# include "win.h" +#endif + +#include "Timer.h" + +#include <QtCore> + #define _USE_MATH_DEFINES #include <cmath> -#include <QtCore> + +#include <speex/speex_resampler.h> + #include <ipp.h> -#include <windows.h> -#include "Timer.h" #define ITER 1000 -#include <speex/speex_resampler.h> - int main(int argc, char **argv) { ippStaticInit(); ippSetNumThreads(1); diff --git a/src/tests/TestCrypt/TestCrypt.cpp b/src/tests/TestCrypt/TestCrypt.cpp index 61179fc9d..1aa0f67a4 100644 --- a/src/tests/TestCrypt/TestCrypt.cpp +++ b/src/tests/TestCrypt/TestCrypt.cpp @@ -3,15 +3,13 @@ // that can be found in the LICENSE file at the root of the // Mumble source tree or at <https://www.mumble.info/LICENSE>. -// Include murmur_pch.h for STACKVAR -#include "murmur_pch.h" - #include <QtCore> #include <QtTest> #include "SSL.h" #include "Timer.h" #include "CryptState.h" +#include "Utils.h" class TestCrypt : public QObject { Q_OBJECT diff --git a/src/tests/TestCrypt/TestCrypt.pro b/src/tests/TestCrypt/TestCrypt.pro index 4d8796493..09746edb7 100644 --- a/src/tests/TestCrypt/TestCrypt.pro +++ b/src/tests/TestCrypt/TestCrypt.pro @@ -10,3 +10,5 @@ QT *= network TARGET = TestCrypt HEADERS *= SSL.h SSLLocks.h Timer.h CryptState.h SOURCES *= SSL.cpp SSLLocks.cpp TestCrypt.cpp CryptState.cpp Timer.cpp + +win32:LIBS *= -lws2_32 diff --git a/src/tests/TestLink.cpp b/src/tests/TestLink.cpp index 470cbe928..9249f9315 100644 --- a/src/tests/TestLink.cpp +++ b/src/tests/TestLink.cpp @@ -8,11 +8,11 @@ #include <QtCore> -#ifdef WIN32 -#include <windows.h> +#ifdef Q_OS_WIN +# include "win.h" #else -#include <fcntl.h> -#include <sys/mman.h> +# include <fcntl.h> +# include <sys/mman.h> #endif struct LinkedMem { diff --git a/src/tests/TestServerAddress/TestServerAddress.pro b/src/tests/TestServerAddress/TestServerAddress.pro index beda32c00..705982351 100644 --- a/src/tests/TestServerAddress/TestServerAddress.pro +++ b/src/tests/TestServerAddress/TestServerAddress.pro @@ -10,3 +10,5 @@ QT += network TARGET = TestServerAddress SOURCES *= TestServerAddress.cpp ServerAddress.cpp HostAddress.cpp HEADERS *= ServerAddress.h HostAddress.h + +win32:LIBS *= -lws2_32 diff --git a/src/tests/TestServerResolver/TestServerResolver.pro b/src/tests/TestServerResolver/TestServerResolver.pro index c59100c35..eab330173 100644 --- a/src/tests/TestServerResolver/TestServerResolver.pro +++ b/src/tests/TestServerResolver/TestServerResolver.pro @@ -21,3 +21,5 @@ CONFIG(no-srv) { SOURCES -= ServerResolver_qt5.cpp SOURCES *= ServerResolver_nosrv.cpp } + +win32:LIBS *= -lws2_32 diff --git a/src/tests/test.pri b/src/tests/test.pri index 22b2747b6..f3b622e80 100644 --- a/src/tests/test.pri +++ b/src/tests/test.pri @@ -13,15 +13,6 @@ CONFIG += testcase CONFIG += thread warn_on CONFIG -= app_bundle -# We build this test without 'gui' in QT, -# but we include the QtGui headers from -# murmur_pch.h. This causes an error when Qt -# tries to find the OpenGL headers to use, since -# we're missing the include paths from QtGui's -# .pri files. Define QT_NO_OPENGL to avoid these -# build errors. -DEFINES += QT_NO_OPENGL - LANGUAGE = C++ VPATH *= ../.. ../../murmur ../../mumble diff --git a/src/win.h b/src/win.h new file mode 100644 index 000000000..aaeb1a7db --- /dev/null +++ b/src/win.h @@ -0,0 +1,54 @@ +// Copyright 2005-2019 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at <https://www.mumble.info/LICENSE>. + +// This header is meant to be included instead of <windows.h>. +// It takes care of including <windows.h> with the right settings and +// for MinGW compilers it defines stuff that is missing in MinGW’s headers. + +#ifndef MUMBLE_WIN_H_ +#define MUMBLE_WIN_H_ + +#ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +#endif + +#ifndef UNICODE +# define UNICODE +#endif + +#ifndef NOMINMAX +# define NOMINMAX +#endif + +#ifdef __MINGW32__ +// Our MinGW build targets Windows 7 for now. +// Set up the appropriate Windows macros such that +// MinGW's Windows headers expose all the functionality +// we need. +// This seems to be required only with MXE, with MSYS2 +// the target is already Windows 7 +# if (_WIN32_WINNT < 0x0601) +# undef _WIN32_WINNT +# define _WIN32_WINNT 0x0601 +# endif +# if (NTDDI_VERSION < NTDDI_WIN7) +# undef NTDDI_VERSION +# define NTDDI_VERSION NTDDI_WIN7 +# endif +#endif + +#include <windows.h> + +#ifdef __MINGW32__ +// MinGW's <qos2.h> header does not provide everything we need, +// so define QOS_FLOWID (and PQOS_FLOWID) as well as QOS_NON_ADAPTIVE_FLOW +// ourselves to allow us to build with QoS support on MinGW. +typedef UINT32 QOS_FLOWID, *PQOS_FLOWID; +# ifndef QOS_NON_ADAPTIVE_FLOW +# define QOS_NON_ADAPTIVE_FLOW 0x00000002 +# endif +#endif + +#endif // MUMBLE_WIN_H_ |