This file is part of MXE. See LICENSE.md for licensing information. Contains ad hoc patches for cross building. From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Pavel Vatagin Date: Tue, 31 Jan 2017 22:15:13 +0300 Subject: [PATCH 1/4] fix build diff --git a/3rdparty/libprojectm/CMakeLists.txt b/3rdparty/libprojectm/CMakeLists.txt index 1111111..2222222 100644 --- a/3rdparty/libprojectm/CMakeLists.txt +++ b/3rdparty/libprojectm/CMakeLists.txt @@ -176,6 +176,8 @@ if(BUNDLE_PROJECTM_PRESETS) COPY_ONLY ) endforeach (preset) + elseif (WIN32) + INSTALL(FILES ${presets} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/projectm-presets) else (APPLE) INSTALL(FILES ${presets} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/clementine/projectm-presets) endif (APPLE) diff --git a/3rdparty/libprojectm/glew.h b/3rdparty/libprojectm/glew.h index 1111111..2222222 100644 --- a/3rdparty/libprojectm/glew.h +++ b/3rdparty/libprojectm/glew.h @@ -149,7 +149,7 @@ typedef unsigned short wchar_t; # endif #endif #if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_) -# ifdef _WIN64 +# if defined(_WIN64) && !defined(__MINGW32__) typedef __int64 ptrdiff_t; # else typedef _W64 int ptrdiff_t; diff --git a/3rdparty/qtsingleapplication/qtlocalpeer.cpp b/3rdparty/qtsingleapplication/qtlocalpeer.cpp index 1111111..2222222 100644 --- a/3rdparty/qtsingleapplication/qtlocalpeer.cpp +++ b/3rdparty/qtsingleapplication/qtlocalpeer.cpp @@ -54,14 +54,12 @@ static PProcessIdToSessionId pProcessIdToSessionId = 0; #include #endif -namespace QtLP_Private { #include "qtlockedfile.cpp" #if defined(Q_OS_WIN) #include "qtlockedfile_win.cpp" #else #include "qtlockedfile_unix.cpp" #endif -} const char* QtLocalPeer::ack = "ack"; @@ -113,7 +111,7 @@ bool QtLocalPeer::isClient() if (lockFile.isLocked()) return false; - if (!lockFile.lock(QtLP_Private::QtLockedFile::WriteLock, false)) + if (!lockFile.lock(QtLockedFile::WriteLock, false)) return true; bool res = server->listen(socketName); diff --git a/3rdparty/qtsingleapplication/qtlocalpeer.h b/3rdparty/qtsingleapplication/qtlocalpeer.h index 1111111..2222222 100644 --- a/3rdparty/qtsingleapplication/qtlocalpeer.h +++ b/3rdparty/qtsingleapplication/qtlocalpeer.h @@ -67,7 +67,7 @@ protected: QString id; QString socketName; QLocalServer* server; - QtLP_Private::QtLockedFile lockFile; + QtLockedFile lockFile; private: static const char* ack; diff --git a/3rdparty/qtsingleapplication/qtlockedfile.h b/3rdparty/qtsingleapplication/qtlockedfile.h index 1111111..2222222 100644 --- a/3rdparty/qtsingleapplication/qtlockedfile.h +++ b/3rdparty/qtsingleapplication/qtlockedfile.h @@ -61,8 +61,6 @@ # define QT_QTLOCKEDFILE_EXPORT #endif -namespace QtLP_Private { - class QT_QTLOCKEDFILE_EXPORT QtLockedFile : public QFile { public: @@ -92,5 +90,5 @@ private: #endif LockMode m_lock_mode; }; -} + #endif diff --git a/3rdparty/qtsingleapplication/qtlockedfile_win.cpp b/3rdparty/qtsingleapplication/qtlockedfile_win.cpp index 1111111..2222222 100644 --- a/3rdparty/qtsingleapplication/qtlockedfile_win.cpp +++ b/3rdparty/qtsingleapplication/qtlockedfile_win.cpp @@ -62,7 +62,7 @@ Qt::HANDLE QtLockedFile::getMutexHandle(int idx, bool doCreate) QT_WA( { mutex = CreateMutexW(NULL, FALSE, (TCHAR*)mname.utf16()); }, { mutex = CreateMutexA(NULL, FALSE, mname.toLocal8Bit().constData()); } ); #else - mutex = CreateMutexW(NULL, FALSE, (TCHAR*)mname.utf16()); + mutex = CreateMutexW(NULL, FALSE, (WCHAR*)mname.utf16()); #endif if (!mutex) { qErrnoWarning("QtLockedFile::lock(): CreateMutex failed"); @@ -74,7 +74,7 @@ Qt::HANDLE QtLockedFile::getMutexHandle(int idx, bool doCreate) QT_WA( { mutex = OpenMutexW(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, (TCHAR*)mname.utf16()); }, { mutex = OpenMutexA(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, mname.toLocal8Bit().constData()); } ); #else - mutex = OpenMutexW(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, (TCHAR*)mname.utf16()); + mutex = OpenMutexW(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, (WCHAR*)mname.utf16()); #endif if (!mutex) { if (GetLastError() != ERROR_FILE_NOT_FOUND) diff --git a/3rdparty/tinysvcmdns/CMakeLists.txt b/3rdparty/tinysvcmdns/CMakeLists.txt index 1111111..2222222 100644 --- a/3rdparty/tinysvcmdns/CMakeLists.txt +++ b/3rdparty/tinysvcmdns/CMakeLists.txt @@ -7,7 +7,7 @@ set(TINYSVCMDNS-SOURCES ) find_library(PTHREAD - pthreadGC2 + pthread ) add_library(tinysvcmdns STATIC From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Alexander Golubev Date: Thu, 16 Mar 2017 14:54:55 +0300 Subject: [PATCH 2/4] core/database: configure fts3 tokenizer support Original patch by Arfrever This fixes https://github.com/clementine-player/Clementine/issues/5297 https://github.com/clementine-player/Clementine/pull/5669 diff --git a/src/core/database.cpp b/src/core/database.cpp index 1111111..2222222 100644 --- a/src/core/database.cpp +++ b/src/core/database.cpp @@ -265,6 +265,20 @@ QSqlDatabase Database::Connect() { StaticInit(); { + +#ifdef SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER + // In case sqlite>=3.12 is compiled without -DSQLITE_ENABLE_FTS3_TOKENIZER (generally a good idea + // due to security reasons) the fts3 support should be enabled explicitly. + // see https://github.com/clementine-player/Clementine/issues/5297 + QVariant v = db.driver()->handle(); + if (v.isValid() && qstrcmp(v.typeName(), "sqlite3*") == 0) { + sqlite3* handle = *static_cast(v.data()); + if (handle) { + sqlite3_db_config(handle, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, NULL); + } + } +#endif + QSqlQuery set_fts_tokenizer(db); set_fts_tokenizer.prepare("SELECT fts3_tokenizer(:name, :pointer)"); set_fts_tokenizer.bindValue(":name", "unicode"); From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Krzysztof Sobiecki Date: Sun, 9 Jul 2017 19:05:14 +0200 Subject: [PATCH 3/4] Fix build in src/ui/ It looks like there is a problem with build of src/ui/appearancesettingspage.cpp It might fix it. https://github.com/clementine-player/Clementine/pull/5784 diff --git a/src/ui/appearancesettingspage.cpp b/src/ui/appearancesettingspage.cpp index 1111111..2222222 100644 --- a/src/ui/appearancesettingspage.cpp +++ b/src/ui/appearancesettingspage.cpp @@ -81,7 +81,7 @@ AppearanceSettingsPage::AppearanceSettingsPage(SettingsDialog* dialog) connect(ui_->use_no_background, SIGNAL(toggled(bool)), SLOT(DisableBlurAndOpacitySliders(bool))); #if !defined (Q_OS_UNIX) || defined (Q_OS_MACOS) - ui_->sys_icons->setDisabled(true); + ui_->b_use_sys_icons->setDisabled(true); #endif } From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Pavel Vatagin Date: Mon, 24 Jul 2017 20:49:21 +0300 Subject: [PATCH 4/4] fix qtsparkle headers diff --git a/src/main.cpp b/src/main.cpp index 1111111..2222222 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -95,7 +95,7 @@ const QDBusArgument& operator>>(const QDBusArgument& arg, QImage& image); #endif #ifdef Q_OS_WIN32 -#include +#include #endif // Load sqlite plugin on windows and mac. diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index 1111111..2222222 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -38,7 +38,7 @@ #include #ifdef Q_OS_WIN32 -#include +#include #endif #include "core/appearance.h"