mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-13 07:34:50 +00:00
Update to 1.7.14.
PR: 239502 Submitted by: maintainer (Henry Hu <henry.hu.sh gmail.com>)
This commit is contained in:
parent
2a0eba87fb
commit
ed7ae0c08f
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=509139
@ -2,8 +2,7 @@
|
||||
|
||||
PORTNAME= telegram-desktop
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 1.6.7
|
||||
PORTREVISION= 3
|
||||
DISTVERSION= 1.7.14
|
||||
CATEGORIES= net-im
|
||||
|
||||
MAINTAINER= henry.hu.sh@gmail.com
|
||||
@ -26,7 +25,7 @@ LIB_DEPENDS= libavformat.so:multimedia/ffmpeg \
|
||||
libopenal.so:audio/openal-soft \
|
||||
libopus.so:audio/opus
|
||||
|
||||
USES= compiler:c++17-lang cmake:noninja desktop-file-utils gmake pkgconfig python:2.7,build qt:5 ssl
|
||||
USES= compiler:c++17-lang cmake:noninja desktop-file-utils gmake gnome pkgconfig python:2.7,build qt:5 ssl
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= telegramdesktop
|
||||
@ -34,9 +33,11 @@ GH_PROJECT= tdesktop
|
||||
GH_TUPLE= catchorg:Catch2:5ca44b68:catch/Telegram/ThirdParty/Catch \
|
||||
mapbox:variant:550ac2f:variant/Telegram/ThirdParty/variant \
|
||||
Microsoft:GSL:d846fe5:gsl/Telegram/ThirdParty/GSL \
|
||||
telegramdesktop:libtgvoip:e701050:libtgvoip/Telegram/ThirdParty/libtgvoip \
|
||||
telegramdesktop:crl:84072fb:crl/Telegram/ThirdParty/crl \
|
||||
Cyan4973:xxHash:7cc9639:xxhash/Telegram/ThirdParty/xxHash
|
||||
telegramdesktop:libtgvoip:0e92a22:libtgvoip/Telegram/ThirdParty/libtgvoip \
|
||||
telegramdesktop:crl:9ea8700:crl/Telegram/ThirdParty/crl \
|
||||
Cyan4973:xxHash:7cc9639:xxhash/Telegram/ThirdParty/xxHash \
|
||||
john-preston:rlottie:302b7f9:rlottie/Telegram/ThirdParty/rlottie \
|
||||
lz4:lz4:9a2a9f2:lz4/Telegram/ThirdParty/lz4
|
||||
USE_GNOME= glib20
|
||||
USE_QT= core gui imageformats network widgets buildtools_build qmake_build dbus
|
||||
USE_XORG= x11 xcb
|
||||
|
@ -1,15 +1,19 @@
|
||||
TIMESTAMP = 1555805465
|
||||
SHA256 (telegramdesktop-tdesktop-v1.6.7_GH0.tar.gz) = 77f4cf6507d1ebc26eaef472aa4817cc57a77c5e3065f6b2afa294530f0633a1
|
||||
SIZE (telegramdesktop-tdesktop-v1.6.7_GH0.tar.gz) = 14323106
|
||||
TIMESTAMP = 1564285102
|
||||
SHA256 (telegramdesktop-tdesktop-v1.7.14_GH0.tar.gz) = a52ab6efb4dc7579f05543df3fc3814baa09c0644e00ca30e37a9c6f99a5d164
|
||||
SIZE (telegramdesktop-tdesktop-v1.7.14_GH0.tar.gz) = 14296012
|
||||
SHA256 (catchorg-Catch2-5ca44b68_GH0.tar.gz) = 8cdf2a345897bda1aaabffd4496dffe263768cef3e4254e74ae63545c8e12cc2
|
||||
SIZE (catchorg-Catch2-5ca44b68_GH0.tar.gz) = 375264
|
||||
SHA256 (mapbox-variant-550ac2f_GH0.tar.gz) = 7ab3aa7c9fa672027f13721584df5f7ec09c0ecca499d374c6ac76e147ef7354
|
||||
SIZE (mapbox-variant-550ac2f_GH0.tar.gz) = 108686
|
||||
SHA256 (Microsoft-GSL-d846fe5_GH0.tar.gz) = 4c463f93ca3b1dcb0b8d73b54309c1d31145761c457f1a6fd53554a6d469b468
|
||||
SIZE (Microsoft-GSL-d846fe5_GH0.tar.gz) = 58930
|
||||
SHA256 (telegramdesktop-libtgvoip-e701050_GH0.tar.gz) = 16cb5f4588f4a35877aacc5f39bb93e9c0ac5fca1ddfc4dabda841131c29d3d5
|
||||
SIZE (telegramdesktop-libtgvoip-e701050_GH0.tar.gz) = 1484741
|
||||
SHA256 (telegramdesktop-crl-84072fb_GH0.tar.gz) = 0d1c5a08b94c90ef213fadfdfb1f4587a23c01474195931c67bc98fb7fd01936
|
||||
SIZE (telegramdesktop-crl-84072fb_GH0.tar.gz) = 21681
|
||||
SHA256 (telegramdesktop-libtgvoip-0e92a22_GH0.tar.gz) = 179c780bf199ff41984756d1b0b96287edf0fa1490f76a31eb9cbdc572ecce6f
|
||||
SIZE (telegramdesktop-libtgvoip-0e92a22_GH0.tar.gz) = 1484785
|
||||
SHA256 (telegramdesktop-crl-9ea8700_GH0.tar.gz) = 68011a83a139d68bed4fd13b946c1aea6f7bea8bffc702a4795f2c0e23f9efd4
|
||||
SIZE (telegramdesktop-crl-9ea8700_GH0.tar.gz) = 21873
|
||||
SHA256 (Cyan4973-xxHash-7cc9639_GH0.tar.gz) = f40801820e885f92bbe3d2434efeb39aa18eeaf878341982e8525b538468e3ed
|
||||
SIZE (Cyan4973-xxHash-7cc9639_GH0.tar.gz) = 37534
|
||||
SHA256 (john-preston-rlottie-302b7f9_GH0.tar.gz) = ade35b77c10c2a733ecccbca261222c36755bbd0f0d03f2e2772bd7cc0ad3d2b
|
||||
SIZE (john-preston-rlottie-302b7f9_GH0.tar.gz) = 7896441
|
||||
SHA256 (lz4-lz4-9a2a9f2_GH0.tar.gz) = 437827e1a1a0eec752777d29ef7ac78b195c805438448fe08154d9b5b181b8ea
|
||||
SIZE (lz4-lz4-9a2a9f2_GH0.tar.gz) = 293999
|
||||
|
@ -1,4 +1,4 @@
|
||||
--- Telegram/gyp/codegen_rules.gypi.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/gyp/codegen_rules.gypi.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/gyp/codegen_rules.gypi
|
||||
@@ -15,7 +15,7 @@
|
||||
'<(SHARED_INTERMEDIATE_DIR)/update_dependent_styles.timestamp',
|
||||
@ -25,7 +25,7 @@
|
||||
'-o', '<(SHARED_INTERMEDIATE_DIR)/update_dependent_qrc.timestamp',
|
||||
'<@(qrc_files)',
|
||||
],
|
||||
--- Telegram/gyp/lib_export.gyp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/gyp/lib_export.gyp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/gyp/lib_export.gyp
|
||||
@@ -46,7 +46,7 @@
|
||||
'include_dirs': [
|
||||
@ -36,7 +36,7 @@
|
||||
'<(submodules_loc)/GSL/include',
|
||||
'<(submodules_loc)/variant/include',
|
||||
'<(submodules_loc)/crl/src',
|
||||
--- Telegram/gyp/lib_scheme.gyp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/gyp/lib_scheme.gyp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/gyp/lib_scheme.gyp
|
||||
@@ -48,7 +48,7 @@
|
||||
'<(SHARED_INTERMEDIATE_DIR)/scheme.h',
|
||||
@ -47,9 +47,9 @@
|
||||
'-o', '<(SHARED_INTERMEDIATE_DIR)', '<(res_loc)/scheme.tl',
|
||||
],
|
||||
'message': 'codegen_scheme-ing scheme.tl..',
|
||||
--- Telegram/gyp/qt_moc.gypi.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/gyp/qt_moc.gypi.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/gyp/qt_moc.gypi
|
||||
@@ -12,12 +12,12 @@
|
||||
@@ -15,12 +15,12 @@
|
||||
'<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp',
|
||||
],
|
||||
'action': [
|
||||
@ -64,7 +64,7 @@
|
||||
# '<!@(python -c "for s in \'<@(_include_dirs)\'.split(\' \'): print(\'-I\' + s)")',
|
||||
'<(RULE_INPUT_PATH)',
|
||||
'-o', '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp',
|
||||
--- Telegram/gyp/qt_rcc.gypi.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/gyp/qt_rcc.gypi.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/gyp/qt_rcc.gypi
|
||||
@@ -15,7 +15,7 @@
|
||||
'<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/qrc/qrc_<(RULE_INPUT_ROOT).cpp',
|
||||
@ -75,7 +75,7 @@
|
||||
'-name', '<(RULE_INPUT_ROOT)',
|
||||
'-no-compress',
|
||||
'<(RULE_INPUT_PATH)',
|
||||
--- Telegram/gyp/qt.gypi.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/gyp/qt.gypi.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/gyp/qt.gypi
|
||||
@@ -14,25 +14,21 @@
|
||||
[ 'build_macold', {
|
||||
@ -233,7 +233,7 @@
|
||||
'-pthread',
|
||||
'-rdynamic',
|
||||
],
|
||||
--- Telegram/gyp/telegram_linux.gypi.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/gyp/telegram_linux.gypi.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/gyp/telegram_linux.gypi
|
||||
@@ -10,7 +10,7 @@
|
||||
'variables': {
|
||||
@ -339,7 +339,7 @@
|
||||
],
|
||||
}], ['<!(pkg-config ayatana-appindicator3-0.1; echo $?) == 0', {
|
||||
'cflags_cc': [ '<!(pkg-config --cflags ayatana-appindicator3-0.1)' ],
|
||||
--- Telegram/gyp/Telegram.gyp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/gyp/Telegram.gyp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/gyp/Telegram.gyp
|
||||
@@ -51,7 +51,7 @@
|
||||
'pt-BR',
|
||||
@ -358,7 +358,7 @@
|
||||
'../ThirdParty/libtgvoip/libtgvoip.gyp:libtgvoip',
|
||||
'crl.gyp:crl',
|
||||
'lib_base.gyp:lib_base',
|
||||
@@ -84,27 +83,18 @@
|
||||
@@ -86,27 +85,18 @@
|
||||
],
|
||||
|
||||
'defines': [
|
||||
@ -388,7 +388,7 @@
|
||||
'<(emoji_suggestions_loc)',
|
||||
'<(submodules_loc)/GSL/include',
|
||||
'<(submodules_loc)/variant/include',
|
||||
@@ -123,7 +113,7 @@
|
||||
@@ -125,7 +115,7 @@
|
||||
'<(res_loc)/export_html/images/back@2x.png',
|
||||
],
|
||||
'sources!': [
|
||||
@ -397,7 +397,7 @@
|
||||
],
|
||||
'conditions': [
|
||||
[ '"<(official_build_target)" != ""', {
|
||||
--- Telegram/gyp/tests/tests.gyp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/gyp/tests/tests.gyp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/gyp/tests/tests.gyp
|
||||
@@ -13,7 +13,7 @@
|
||||
'src_loc': '../../SourceFiles',
|
||||
@ -408,7 +408,7 @@
|
||||
},
|
||||
'targets': [{
|
||||
'target_name': 'tests',
|
||||
--- Telegram/ThirdParty/libtgvoip/libtgvoip.gyp.orig 2019-04-03 18:20:00 UTC
|
||||
--- Telegram/ThirdParty/libtgvoip/libtgvoip.gyp.orig 2019-06-24 11:42:33 UTC
|
||||
+++ Telegram/ThirdParty/libtgvoip/libtgvoip.gyp
|
||||
@@ -14,11 +14,12 @@
|
||||
'variables': {
|
||||
@ -433,7 +433,7 @@
|
||||
'sources/': [['exclude', '<(tgvoip_src_loc)/os/linux/']],
|
||||
},
|
||||
],
|
||||
@@ -891,13 +892,16 @@
|
||||
@@ -895,13 +896,16 @@
|
||||
},
|
||||
],
|
||||
[
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/_other/packer.cpp.orig 2018-08-04 18:53:40 UTC
|
||||
--- Telegram/SourceFiles/_other/packer.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/_other/packer.cpp
|
||||
@@ -233,7 +233,7 @@ int main(int argc, char *argv[])
|
||||
@@ -254,7 +254,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
QByteArray inner = f.readAll();
|
||||
stream << name << quint32(inner.size()) << inner;
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/base/bytes.h.orig 2018-09-28 13:08:38 UTC
|
||||
--- Telegram/SourceFiles/base/bytes.h.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/base/bytes.h
|
||||
@@ -135,7 +135,7 @@ template <
|
||||
@@ -137,7 +137,7 @@ template <
|
||||
vector concatenate(Args &&...args) {
|
||||
const auto size = details::spansLength(args...);
|
||||
auto result = vector(size);
|
||||
@ -9,7 +9,7 @@
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -147,7 +147,7 @@ vector concatenate(SpanRange args) {
|
||||
@@ -149,7 +149,7 @@ vector concatenate(SpanRange args) {
|
||||
size += bytes::make_span(arg).size();
|
||||
}
|
||||
auto result = vector(size);
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/core/launcher.cpp.orig 2019-02-01 12:51:46 UTC
|
||||
--- Telegram/SourceFiles/core/launcher.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/core/launcher.cpp
|
||||
@@ -15,6 +15,8 @@ https://github.com/telegramdesktop/tdesktop/blob/maste
|
||||
@@ -16,6 +16,8 @@ https://github.com/telegramdesktop/tdesktop/blob/maste
|
||||
#include "core/sandbox.h"
|
||||
#include "base/concurrent_timer.h"
|
||||
|
||||
@ -9,10 +9,14 @@
|
||||
namespace Core {
|
||||
namespace {
|
||||
|
||||
@@ -208,9 +210,10 @@ void Launcher::init() {
|
||||
|
||||
QApplication::setApplicationName(qsl("TelegramDesktop"));
|
||||
|
||||
@@ -246,12 +248,13 @@ void Launcher::init() {
|
||||
#define TDESKTOP_LAUNCHER_FILENAME_TO_STRING_HELPER(V) #V
|
||||
#define TDESKTOP_LAUNCHER_FILENAME_TO_STRING(V) TDESKTOP_LAUNCHER_FILENAME_TO_STRING_HELPER(V)
|
||||
QApplication::setDesktopFileName(qsl(TDESKTOP_LAUNCHER_FILENAME_TO_STRING(TDESKTOP_LAUNCHER_FILENAME)));
|
||||
-#elif defined(Q_OS_LINUX) && QT_VERSION >= QT_VERSION_CHECK(5, 7, 0)
|
||||
+#elif (defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)) && QT_VERSION >= QT_VERSION_CHECK(5, 7, 0)
|
||||
QApplication::setDesktopFileName(qsl("telegramdesktop.desktop"));
|
||||
#endif
|
||||
-#ifndef OS_MAC_OLD
|
||||
+#if !defined(Q_OS_MAC) && QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
|
||||
+ // Retina display support is working fine, others are not.
|
||||
@ -22,25 +26,15 @@
|
||||
|
||||
initHook();
|
||||
}
|
||||
@@ -228,6 +231,11 @@ int Launcher::exec() {
|
||||
@@ -268,6 +271,11 @@ int Launcher::exec() {
|
||||
// both are finished in Sandbox::closeApplication
|
||||
Logs::start(this); // must be started before Platform is started
|
||||
Platform::start(); // must be started before Sandbox is created
|
||||
|
||||
+
|
||||
+ // I don't know why path is not in QT_PLUGIN_PATH by default
|
||||
+ QCoreApplication::addLibraryPath(FREEBSD_QT_PLUGINDIR);
|
||||
+ // Telegram doesn't start when extraordinary theme is set, see launchpad.net/bugs/1680943
|
||||
+ unsetenv("QT_QPA_PLATFORMTHEME");
|
||||
+
|
||||
|
||||
auto result = executeApplication();
|
||||
|
||||
DEBUG_LOG(("Telegram finished, result: %1").arg(result));
|
||||
@@ -329,6 +337,9 @@ void Launcher::prepareSettings() {
|
||||
break;
|
||||
case dbipLinux32:
|
||||
gPlatformString = qsl("Linux32bit");
|
||||
+ break;
|
||||
+ case dbipFreeBSD:
|
||||
+ gPlatformString = qsl("FreeBSD");
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/core/update_checker.cpp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/SourceFiles/core/update_checker.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/core/update_checker.cpp
|
||||
@@ -1456,6 +1456,9 @@ int UpdateChecker::size() const {
|
||||
@@ -1461,6 +1461,9 @@ int UpdateChecker::size() const {
|
||||
//}
|
||||
|
||||
bool checkReadyUpdate() {
|
||||
@ -10,7 +10,7 @@
|
||||
QString readyFilePath = cWorkingDir() + qsl("tupdates/temp/ready"), readyPath = cWorkingDir() + qsl("tupdates/temp");
|
||||
if (!QFile(readyFilePath).exists() || cExeName().isEmpty()) {
|
||||
if (QDir(cWorkingDir() + qsl("tupdates/ready")).exists() || QDir(cWorkingDir() + qsl("tupdates/temp")).exists()) {
|
||||
@@ -1508,6 +1511,9 @@ bool checkReadyUpdate() {
|
||||
@@ -1513,6 +1516,9 @@ bool checkReadyUpdate() {
|
||||
#elif defined Q_OS_LINUX // Q_OS_MAC
|
||||
QString curUpdater = (cExeDir() + qsl("Updater"));
|
||||
QFileInfo updater(cWorkingDir() + qsl("tupdates/temp/Updater"));
|
||||
|
@ -1,10 +0,0 @@
|
||||
--- Telegram/SourceFiles/core/utils.h.orig 2019-04-13 06:46:58 UTC
|
||||
+++ Telegram/SourceFiles/core/utils.h
|
||||
@@ -347,6 +347,7 @@ enum DBIPlatform {
|
||||
dbipLinux64 = 2,
|
||||
dbipLinux32 = 3,
|
||||
dbipMacOld = 4,
|
||||
+ dbipFreeBSD = 5,
|
||||
};
|
||||
|
||||
enum DBIPeerReportSpamStatus {
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/data/data_document.cpp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/SourceFiles/data/data_document.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/data/data_document.cpp
|
||||
@@ -133,7 +133,7 @@ QString FileNameUnsafe(
|
||||
@@ -138,7 +138,7 @@ QString FileNameUnsafe(
|
||||
name = name.replace(QRegularExpression(qsl("[\\\\\\/\\:\\*\\?\\\"\\<\\>\\|]")), qsl("_"));
|
||||
#elif defined Q_OS_MAC
|
||||
name = name.replace(QRegularExpression(qsl("[\\:]")), qsl("_"));
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/export/data/export_data_types.cpp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/SourceFiles/export/data/export_data_types.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/export/data/export_data_types.cpp
|
||||
@@ -353,9 +353,9 @@ QString CleanDocumentName(QString name) {
|
||||
@@ -360,9 +360,9 @@ QString CleanDocumentName(QString name) {
|
||||
'|',
|
||||
#elif defined Q_OS_MAC // Q_OS_WIN
|
||||
':',
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/history/admin_log/history_admin_log_inner.cpp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/SourceFiles/history/admin_log/history_admin_log_inner.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/history/admin_log/history_admin_log_inner.cpp
|
||||
@@ -1392,13 +1392,13 @@ void InnerWidget::mouseActionFinish(const QPoint &scre
|
||||
@@ -1411,13 +1411,13 @@ void InnerWidget::mouseActionFinish(const QPoint &scre
|
||||
_mouseSelectType = TextSelectType::Letters;
|
||||
//_widget->noSelectingScroll(); // TODO
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/history/history_inner_widget.cpp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/SourceFiles/history/history_inner_widget.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/history/history_inner_widget.cpp
|
||||
@@ -1376,7 +1376,7 @@ void HistoryInner::mouseActionFinish(
|
||||
@@ -1382,7 +1382,7 @@ void HistoryInner::mouseActionFinish(
|
||||
_widget->noSelectingScroll();
|
||||
_widget->updateTopBarSelection();
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
if (!_selected.empty() && _selected.cbegin()->second != FullSelection) {
|
||||
const auto [item, selection] = *_selected.cbegin();
|
||||
if (const auto view = item->mainView()) {
|
||||
@@ -1385,7 +1385,7 @@ void HistoryInner::mouseActionFinish(
|
||||
@@ -1391,7 +1391,7 @@ void HistoryInner::mouseActionFinish(
|
||||
QClipboard::Selection);
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/history/view/history_view_list_widget.cpp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/SourceFiles/history/view/history_view_list_widget.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/history/view/history_view_list_widget.cpp
|
||||
@@ -2031,7 +2031,7 @@ void ListWidget::mouseActionFinish(
|
||||
@@ -2042,7 +2042,7 @@ void ListWidget::mouseActionFinish(
|
||||
_mouseSelectType = TextSelectType::Letters;
|
||||
//_widget->noSelectingScroll(); // #TODO select scroll
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
if (_selectedTextItem
|
||||
&& _selectedTextRange.from != _selectedTextRange.to) {
|
||||
if (const auto view = viewForItem(_selectedTextItem)) {
|
||||
@@ -2040,7 +2040,7 @@ void ListWidget::mouseActionFinish(
|
||||
@@ -2051,7 +2051,7 @@ void ListWidget::mouseActionFinish(
|
||||
QClipboard::Selection);
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/logs.cpp.orig 2019-02-01 12:51:46 UTC
|
||||
--- Telegram/SourceFiles/logs.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/logs.cpp
|
||||
@@ -333,7 +333,7 @@ void start(not_null<Core::Launcher*> launcher) {
|
||||
@@ -338,7 +338,7 @@ void start(not_null<Core::Launcher*> launcher) {
|
||||
if (cAlphaVersion()) {
|
||||
workingDirChosen = true;
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
} else {
|
||||
if (!cWorkingDir().isEmpty()) {
|
||||
// This value must come from TelegramForcePortable
|
||||
@@ -348,16 +348,16 @@ void start(not_null<Core::Launcher*> launcher) {
|
||||
@@ -353,16 +353,16 @@ void start(not_null<Core::Launcher*> launcher) {
|
||||
}
|
||||
workingDirChosen = true;
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
#ifdef _DEBUG
|
||||
cForceWorkingDir(cExeDir());
|
||||
#else // _DEBUG
|
||||
@@ -374,7 +374,7 @@ void start(not_null<Core::Launcher*> launcher) {
|
||||
@@ -379,7 +379,7 @@ void start(not_null<Core::Launcher*> launcher) {
|
||||
workingDirChosen = true;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,38 @@
|
||||
--- Telegram/SourceFiles/platform/freebsd/info_freebsd.cpp.orig 2019-07-28 03:19:18 UTC
|
||||
+++ Telegram/SourceFiles/platform/freebsd/info_freebsd.cpp
|
||||
@@ -0,0 +1,35 @@
|
||||
+/*
|
||||
+This file is part of Telegram Desktop,
|
||||
+the official desktop application for the Telegram messaging service.
|
||||
+
|
||||
+For license and copyright information please follow this link:
|
||||
+https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
+*/
|
||||
+#include "platform/freebsd/info_freebsd.h"
|
||||
+
|
||||
+namespace Platform {
|
||||
+
|
||||
+QString DeviceModelPretty() {
|
||||
+ return "FreeBSD";
|
||||
+}
|
||||
+
|
||||
+QString SystemVersionPretty() {
|
||||
+ const auto result = getenv("XDG_CURRENT_DESKTOP");
|
||||
+ const auto value = result ? QString::fromLatin1(result) : QString();
|
||||
+ const auto list = value.split(':', QString::SkipEmptyParts);
|
||||
+ return list.isEmpty() ? "FreeBSD" : "FreeBSD " + list[0];
|
||||
+}
|
||||
+
|
||||
+QString SystemCountry() {
|
||||
+ return QString();
|
||||
+}
|
||||
+
|
||||
+QString SystemLanguage() {
|
||||
+ return QString();
|
||||
+}
|
||||
+
|
||||
+QDate WhenSystemBecomesOutdated() {
|
||||
+ return QDate();
|
||||
+}
|
||||
+
|
||||
+} // namespace Platform
|
@ -0,0 +1,59 @@
|
||||
--- Telegram/SourceFiles/platform/freebsd/info_freebsd.h.orig 2019-07-28 03:19:18 UTC
|
||||
+++ Telegram/SourceFiles/platform/freebsd/info_freebsd.h
|
||||
@@ -0,0 +1,56 @@
|
||||
+/*
|
||||
+This file is part of Telegram Desktop,
|
||||
+the official desktop application for the Telegram messaging service.
|
||||
+
|
||||
+For license and copyright information please follow this link:
|
||||
+https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
+*/
|
||||
+#pragma once
|
||||
+
|
||||
+#include "platform/platform_info.h"
|
||||
+
|
||||
+namespace Platform {
|
||||
+
|
||||
+inline constexpr bool IsLinux() {
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+inline constexpr bool IsLinux32Bit() {
|
||||
+#ifdef Q_OS_LINUX32
|
||||
+ return true;
|
||||
+#else // Q_OS_LINUX32
|
||||
+ return false;
|
||||
+#endif // Q_OS_LINUX32
|
||||
+}
|
||||
+
|
||||
+inline constexpr bool IsLinux64Bit() {
|
||||
+#ifdef Q_OS_LINUX64
|
||||
+ return true;
|
||||
+#else // Q_OS_LINUX64
|
||||
+ return false;
|
||||
+#endif // Q_OS_LINUX64
|
||||
+}
|
||||
+
|
||||
+inline constexpr bool IsWindows() { return false; }
|
||||
+inline constexpr bool IsWindowsStoreBuild() { return false; }
|
||||
+inline bool IsWindowsXPOrGreater() { return false; }
|
||||
+inline bool IsWindowsVistaOrGreater() { return false; }
|
||||
+inline bool IsWindows7OrGreater() { return false; }
|
||||
+inline bool IsWindows8OrGreater() { return false; }
|
||||
+inline bool IsWindows8Point1OrGreater() { return false; }
|
||||
+inline bool IsWindows10OrGreater() { return false; }
|
||||
+inline constexpr bool IsMac() { return false; }
|
||||
+inline constexpr bool IsMacOldBuild() { return false; }
|
||||
+inline constexpr bool IsMacStoreBuild() { return false; }
|
||||
+inline bool IsMac10_6OrGreater() { return false; }
|
||||
+inline bool IsMac10_7OrGreater() { return false; }
|
||||
+inline bool IsMac10_8OrGreater() { return false; }
|
||||
+inline bool IsMac10_9OrGreater() { return false; }
|
||||
+inline bool IsMac10_10OrGreater() { return false; }
|
||||
+inline bool IsMac10_11OrGreater() { return false; }
|
||||
+inline bool IsMac10_12OrGreater() { return false; }
|
||||
+inline bool IsMac10_13OrGreater() { return false; }
|
||||
+inline bool IsMac10_14OrGreater() { return false; }
|
||||
+
|
||||
+} // namespace Platform
|
||||
+
|
@ -1,4 +1,4 @@
|
||||
--- Telegram/SourceFiles/platform/linux/main_window_linux.cpp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/SourceFiles/platform/linux/main_window_linux.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/platform/linux/main_window_linux.cpp
|
||||
@@ -25,7 +25,9 @@ bool noQtTrayIcon = false, tryAppIndicator = false;
|
||||
bool useGtkBase = false, useAppIndicator = false, useStatusIcon = false, trayIconChecked = false, useUnityCount = false;
|
||||
@ -10,7 +10,7 @@
|
||||
GtkStatusIcon *_trayIcon = 0;
|
||||
GtkWidget *_trayMenu = 0;
|
||||
GdkPixbuf *_trayPixbuf = 0;
|
||||
@@ -290,7 +292,9 @@ void MainWindow::workmodeUpdated(DBIWorkMode mode) {
|
||||
@@ -291,7 +293,9 @@ void MainWindow::workmodeUpdated(DBIWorkMode mode) {
|
||||
if (noQtTrayIcon) {
|
||||
#ifndef TDESKTOP_DISABLE_GTK_INTEGRATION
|
||||
if (useAppIndicator) {
|
||||
@ -20,7 +20,7 @@
|
||||
} else if (useStatusIcon) {
|
||||
Libs::gtk_status_icon_set_visible(_trayIcon, false);
|
||||
}
|
||||
@@ -306,7 +310,9 @@ void MainWindow::workmodeUpdated(DBIWorkMode mode) {
|
||||
@@ -307,7 +311,9 @@ void MainWindow::workmodeUpdated(DBIWorkMode mode) {
|
||||
if (noQtTrayIcon) {
|
||||
#ifndef TDESKTOP_DISABLE_GTK_INTEGRATION
|
||||
if (useAppIndicator) {
|
||||
@ -30,7 +30,7 @@
|
||||
} else if (useStatusIcon) {
|
||||
Libs::gtk_status_icon_set_visible(_trayIcon, true);
|
||||
}
|
||||
@@ -325,7 +331,9 @@ void MainWindow::psUpdateIndicator() {
|
||||
@@ -326,7 +332,9 @@ void MainWindow::psUpdateIndicator() {
|
||||
if (iconFile.exists()) {
|
||||
QByteArray path = QFile::encodeName(iconFile.absoluteFilePath()), name = QFile::encodeName(iconFile.fileName());
|
||||
name = name.mid(0, name.size() - 4);
|
||||
@ -40,7 +40,7 @@
|
||||
} else {
|
||||
useAppIndicator = false;
|
||||
}
|
||||
@@ -422,11 +430,15 @@ void MainWindow::LibsLoaded() {
|
||||
@@ -423,11 +431,15 @@ void MainWindow::LibsLoaded() {
|
||||
&& (Libs::g_object_ref_sink != nullptr)
|
||||
&& (Libs::g_object_unref != nullptr);
|
||||
|
||||
@ -56,7 +56,7 @@
|
||||
|
||||
if (tryAppIndicator && useGtkBase && useAppIndicator) {
|
||||
noQtTrayIcon = true;
|
||||
@@ -462,6 +474,7 @@ void MainWindow::psCreateTrayIcon() {
|
||||
@@ -463,6 +475,7 @@ void MainWindow::psCreateTrayIcon() {
|
||||
}
|
||||
|
||||
#ifndef TDESKTOP_DISABLE_GTK_INTEGRATION
|
||||
@ -64,7 +64,7 @@
|
||||
if (useAppIndicator) {
|
||||
DEBUG_LOG(("Trying to create AppIndicator"));
|
||||
_trayMenu = Libs::gtk_menu_new();
|
||||
@@ -492,6 +505,7 @@ void MainWindow::psCreateTrayIcon() {
|
||||
@@ -493,6 +506,7 @@ void MainWindow::psCreateTrayIcon() {
|
||||
useAppIndicator = false;
|
||||
}
|
||||
}
|
||||
@ -72,7 +72,7 @@
|
||||
if (useStatusIcon) {
|
||||
if (Libs::gdk_init_check(0, 0)) {
|
||||
if (!_trayMenu) _trayMenu = Libs::gtk_menu_new();
|
||||
@@ -616,10 +630,12 @@ MainWindow::~MainWindow() {
|
||||
@@ -617,10 +631,12 @@ MainWindow::~MainWindow() {
|
||||
Libs::g_object_unref(_trayMenu);
|
||||
_trayMenu = nullptr;
|
||||
}
|
||||
|
@ -0,0 +1,10 @@
|
||||
--- Telegram/SourceFiles/platform/platform_info.h.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/platform/platform_info.h
|
||||
@@ -49,4 +49,6 @@ namespace Platform {
|
||||
#include "platform/linux/info_linux.h"
|
||||
#elif defined Q_OS_WIN // Q_OS_MAC || Q_OS_LINUX
|
||||
#include "platform/win/info_win.h"
|
||||
-#endif // Q_OS_MAC || Q_OS_LINUX || Q_OS_WIN
|
||||
+#elif defined Q_OS_FREEBSD // Q_OS_MAC || Q_OS_LINUX || Q_OS_WIN
|
||||
+#include "platform/freebsd/info_freebsd.h"
|
||||
+#endif // Q_OS_MAC || Q_OS_LINUX || Q_OS_WIN || Q_OS_FREEBSD
|
@ -1,11 +0,0 @@
|
||||
--- Telegram/SourceFiles/settings.cpp.orig 2018-12-24 08:16:05 UTC
|
||||
+++ Telegram/SourceFiles/settings.cpp
|
||||
@@ -77,6 +77,8 @@ DBIPlatform gPlatform = dbipMac;
|
||||
DBIPlatform gPlatform = dbipLinux64;
|
||||
#elif defined Q_OS_LINUX32
|
||||
DBIPlatform gPlatform = dbipLinux32;
|
||||
+#elif defined Q_OS_FREEBSD
|
||||
+DBIPlatform gPlatform = dbipFreeBSD;
|
||||
#else
|
||||
#error Unknown platform
|
||||
#endif
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/settings/settings_notifications.cpp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/SourceFiles/settings/settings_notifications.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/settings/settings_notifications.cpp
|
||||
@@ -479,11 +479,11 @@ void NotificationsCount::SampleWidget::destroyDelayed(
|
||||
@@ -480,11 +480,11 @@ void NotificationsCount::SampleWidget::destroyDelayed(
|
||||
_deleted = true;
|
||||
|
||||
// Ubuntu has a lag if deleteLater() called immediately.
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/ui/text/text.cpp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/SourceFiles/ui/text/text.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/ui/text/text.cpp
|
||||
@@ -1762,11 +1762,11 @@ class TextPainter { (private)
|
||||
@@ -2016,11 +2016,11 @@ class Renderer { (private)
|
||||
if (item == -1)
|
||||
return;
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/ui/text/text_block.cpp.orig 2019-02-01 12:51:46 UTC
|
||||
--- Telegram/SourceFiles/ui/text/text_block.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/ui/text/text_block.cpp
|
||||
@@ -332,6 +332,9 @@ TextBlock::TextBlock(const style::font &font, const QS
|
||||
@@ -335,6 +335,9 @@ TextBlock::TextBlock(const style::font &font, const QS
|
||||
|
||||
QStackTextEngine engine(part, blockFont->f);
|
||||
BlockParser parser(&engine, this, minResizeWidth, _from, part);
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/ui/twidget.cpp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/SourceFiles/ui/twidget.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/ui/twidget.cpp
|
||||
@@ -249,9 +249,9 @@ void sendSynteticMouseEvent(QWidget *widget, QEvent::T
|
||||
@@ -270,9 +270,9 @@ void sendSynteticMouseEvent(QWidget *widget, QEvent::T
|
||||
, button
|
||||
, QGuiApplication::mouseButtons() | button
|
||||
, QGuiApplication::keyboardModifiers()
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/ui/widgets/labels.cpp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/SourceFiles/ui/widgets/labels.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/ui/widgets/labels.cpp
|
||||
@@ -361,11 +361,11 @@ Text::StateResult FlatLabel::dragActionFinish(const QP
|
||||
@@ -391,11 +391,11 @@ Ui::Text::StateResult FlatLabel::dragActionFinish(cons
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Telegram/SourceFiles/window/main_window.cpp.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/SourceFiles/window/main_window.cpp.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/SourceFiles/window/main_window.cpp
|
||||
@@ -521,7 +521,7 @@ bool MainWindow::minimizeToTray() {
|
||||
@@ -565,7 +565,7 @@ bool MainWindow::minimizeToTray() {
|
||||
}
|
||||
|
||||
void MainWindow::reActivateWindow() {
|
||||
@ -9,7 +9,7 @@
|
||||
const auto reActivate = [=] {
|
||||
if (const auto w = App::wnd()) {
|
||||
if (auto f = QApplication::focusWidget()) {
|
||||
@@ -536,7 +536,7 @@ void MainWindow::reActivateWindow() {
|
||||
@@ -580,7 +580,7 @@ void MainWindow::reActivateWindow() {
|
||||
};
|
||||
crl::on_main(this, reActivate);
|
||||
App::CallDelayed(200, this, reActivate);
|
||||
|
@ -1,5 +1,16 @@
|
||||
--- Telegram/ThirdParty/libtgvoip/VoIPController.cpp.orig 2019-04-03 18:20:00 UTC
|
||||
--- Telegram/ThirdParty/libtgvoip/VoIPController.cpp.orig 2019-06-24 11:42:33 UTC
|
||||
+++ Telegram/ThirdParty/libtgvoip/VoIPController.cpp
|
||||
@@ -2389,8 +2389,8 @@ simpleAudioBlock random_id:long random_bytes:string ra
|
||||
stm->decoder=NULL;
|
||||
}else if(stm->type==STREAM_TYPE_VIDEO){
|
||||
if(!stm->packetReassembler){
|
||||
- stm->packetReassembler=make_shared<PacketReassembler>();
|
||||
- stm->packetReassembler->SetCallback(bind(&VoIPController::ProcessIncomingVideoFrame, this, placeholders::_1, placeholders::_2, placeholders::_3));
|
||||
+ //stm->packetReassembler=make_shared<PacketReassembler>();
|
||||
+ //stm->packetReassembler->SetCallback(bind(&VoIPController::ProcessIncomingVideoFrame, this, placeholders::_1, placeholders::_2, placeholders::_3));
|
||||
}
|
||||
}else{
|
||||
LOGW("Unknown incoming stream type: %d", stm->type);
|
||||
@@ -3048,7 +3048,7 @@ static void initMachTimestart() {
|
||||
#endif
|
||||
|
||||
|
@ -1,14 +1,5 @@
|
||||
--- Telegram/gyp/PrecompiledHeader.cmake.orig 2019-02-01 12:51:46 UTC
|
||||
--- Telegram/gyp/PrecompiledHeader.cmake.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/gyp/PrecompiledHeader.cmake
|
||||
@@ -81,7 +81,7 @@ function(export_all_flags _filename _source_name_for_f
|
||||
endfunction()
|
||||
|
||||
function(add_precompiled_header _target _input)
|
||||
- if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
+ if(CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
|
||||
get_filename_component(_name ${_input} NAME)
|
||||
set(_pch_header "${CMAKE_CURRENT_SOURCE_DIR}/${_input}")
|
||||
set(_pch_binary_dir "${CMAKE_CURRENT_BINARY_DIR}/${_target}_pch")
|
||||
@@ -114,7 +114,7 @@ function(add_precompiled_header _target _input)
|
||||
set(_compiler_FLAGS "@${_pch_c_flags_file}")
|
||||
add_custom_command(
|
||||
@ -27,10 +18,3 @@
|
||||
DEPENDS "${_pchfile}" "${_pch_cpp_flags_file}"
|
||||
IMPLICIT_DEPENDS CXX "${_pch_header}"
|
||||
COMMENT "Precompiling header ${_name} for ${_target} (C++)")
|
||||
@@ -163,5 +163,5 @@ function(add_precompiled_header _target _input)
|
||||
OBJECT_DEPENDS "${_object_depends}")
|
||||
endif()
|
||||
endforeach()
|
||||
- endif(CMAKE_COMPILER_IS_GNUCXX)
|
||||
+ endif(CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
|
||||
endfunction()
|
||||
|
@ -1,4 +1,4 @@
|
||||
--- Telegram/gyp/settings_linux.gypi.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/gyp/settings_linux.gypi.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/gyp/settings_linux.gypi
|
||||
@@ -11,7 +11,6 @@
|
||||
'linux_common_flags': [
|
||||
@ -8,7 +8,7 @@
|
||||
'-W',
|
||||
'-fPIC',
|
||||
'-Wno-unused-variable',
|
||||
@@ -26,7 +25,7 @@
|
||||
@@ -28,7 +27,7 @@
|
||||
],
|
||||
},
|
||||
'conditions': [
|
||||
@ -17,7 +17,7 @@
|
||||
'defines': [
|
||||
'Q_OS_LINUX64',
|
||||
],
|
||||
@@ -61,7 +60,6 @@
|
||||
@@ -63,7 +62,6 @@
|
||||
],
|
||||
'defines': [
|
||||
'_REENTRANT',
|
||||
@ -25,7 +25,7 @@
|
||||
'QT_PLUGIN',
|
||||
],
|
||||
'cflags_c': [
|
||||
@@ -74,9 +72,6 @@
|
||||
@@ -76,9 +74,6 @@
|
||||
'-Wno-register',
|
||||
],
|
||||
'make_global_settings': [
|
||||
|
@ -1,6 +1,17 @@
|
||||
--- Telegram/gyp/telegram_sources.txt.orig 2019-04-13 06:46:58 UTC
|
||||
--- Telegram/gyp/telegram_sources.txt.orig 2019-07-07 13:34:35 UTC
|
||||
+++ Telegram/gyp/telegram_sources.txt
|
||||
@@ -857,14 +857,7 @@
|
||||
@@ -577,8 +577,8 @@
|
||||
<(src_loc)/platform/linux/linux_libs.h
|
||||
<(src_loc)/platform/linux/file_utilities_linux.cpp
|
||||
<(src_loc)/platform/linux/file_utilities_linux.h
|
||||
-<(src_loc)/platform/linux/info_linux.cpp
|
||||
-<(src_loc)/platform/linux/info_linux.h
|
||||
+<(src_loc)/platform/freebsd/info_freebsd.cpp
|
||||
+<(src_loc)/platform/freebsd/info_freebsd.h
|
||||
<(src_loc)/platform/linux/launcher_linux.cpp
|
||||
<(src_loc)/platform/linux/launcher_linux.h
|
||||
<(src_loc)/platform/linux/main_window_linux.cpp
|
||||
@@ -894,14 +894,7 @@
|
||||
<(emoji_suggestions_loc)/emoji_suggestions.cpp
|
||||
<(emoji_suggestions_loc)/emoji_suggestions.h
|
||||
|
||||
|
172
net-im/telegram-desktop/files/patch-issue6219
Normal file
172
net-im/telegram-desktop/files/patch-issue6219
Normal file
@ -0,0 +1,172 @@
|
||||
From 0710dde4d5526454318b2748331e887c01ecfdce Mon Sep 17 00:00:00 2001
|
||||
From: John Preston <johnprestonmail@gmail.com>
|
||||
Date: Tue, 9 Jul 2019 13:43:57 +0200
|
||||
Subject: [PATCH] Use private Qt color API only in official build.
|
||||
|
||||
Fixes #6219.
|
||||
---
|
||||
.../SourceFiles/ffmpeg/ffmpeg_utility.cpp | 100 ++++++++++++------
|
||||
Telegram/gyp/lib_ffmpeg.gyp | 6 +-
|
||||
2 files changed, 71 insertions(+), 35 deletions(-)
|
||||
|
||||
diff --git a/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp b/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp
|
||||
index 5d0e50926..3775f7503 100644
|
||||
--- Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp
|
||||
+++ Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp
|
||||
@@ -11,7 +11,10 @@ For license and copyright information please follow this link:
|
||||
#include "logs.h"
|
||||
|
||||
#include <QImage>
|
||||
+
|
||||
+#ifdef TDESKTOP_OFFICIAL_TARGET
|
||||
#include <private/qdrawhelper_p.h>
|
||||
+#endif // TDESKTOP_OFFICIAL_TARGET
|
||||
|
||||
extern "C" {
|
||||
#include <libavutil/opt.h>
|
||||
@@ -44,6 +47,58 @@ void AlignedImageBufferCleanupHandler(void* data) {
|
||||
&& !(image.bytesPerLine() % kAlignImageBy);
|
||||
}
|
||||
|
||||
+void UnPremultiplyLine(uchar *dst, const uchar *src, int intsCount) {
|
||||
+#ifdef TDESKTOP_OFFICIAL_TARGET
|
||||
+ const auto layout = &qPixelLayouts[QImage::Format_ARGB32];
|
||||
+ const auto convert = layout->convertFromARGB32PM;
|
||||
+#else // TDESKTOP_OFFICIAL_TARGET
|
||||
+ const auto layout = nullptr;
|
||||
+ const auto convert = [](
|
||||
+ uint *dst,
|
||||
+ const uint *src,
|
||||
+ int count,
|
||||
+ std::nullptr_t,
|
||||
+ std::nullptr_t) {
|
||||
+ for (auto i = 0; i != count; ++i) {
|
||||
+ dst[i] = qUnpremultiply(src[i]);
|
||||
+ }
|
||||
+ };
|
||||
+#endif // TDESKTOP_OFFICIAL_TARGET
|
||||
+
|
||||
+ convert(
|
||||
+ reinterpret_cast<uint*>(dst),
|
||||
+ reinterpret_cast<const uint*>(src),
|
||||
+ intsCount,
|
||||
+ layout,
|
||||
+ nullptr);
|
||||
+}
|
||||
+
|
||||
+void PremultiplyLine(uchar *dst, const uchar *src, int intsCount) {
|
||||
+#ifdef TDESKTOP_OFFICIAL_TARGET
|
||||
+ const auto layout = &qPixelLayouts[QImage::Format_ARGB32];
|
||||
+ const auto convert = layout->convertToARGB32PM;
|
||||
+#else // TDESKTOP_OFFICIAL_TARGET
|
||||
+ const auto layout = nullptr;
|
||||
+ const auto convert = [](
|
||||
+ uint *dst,
|
||||
+ const uint *src,
|
||||
+ int count,
|
||||
+ std::nullptr_t,
|
||||
+ std::nullptr_t) {
|
||||
+ for (auto i = 0; i != count; ++i) {
|
||||
+ dst[i] = qPremultiply(src[i]);
|
||||
+ }
|
||||
+ };
|
||||
+#endif // TDESKTOP_OFFICIAL_TARGET
|
||||
+
|
||||
+ convert(
|
||||
+ reinterpret_cast<uint*>(dst),
|
||||
+ reinterpret_cast<const uint*>(src),
|
||||
+ intsCount,
|
||||
+ layout,
|
||||
+ nullptr);
|
||||
+}
|
||||
+
|
||||
} // namespace
|
||||
|
||||
IOPointer MakeIOPointer(
|
||||
@@ -360,58 +415,35 @@ void UnPremultiply(QImage &to, const QImage &from) {
|
||||
if (!GoodStorageForFrame(to, from.size())) {
|
||||
to = CreateFrameStorage(from.size());
|
||||
}
|
||||
-
|
||||
- const auto layout = &qPixelLayouts[QImage::Format_ARGB32];
|
||||
- const auto convert = layout->convertFromARGB32PM;
|
||||
const auto fromPerLine = from.bytesPerLine();
|
||||
const auto toPerLine = to.bytesPerLine();
|
||||
const auto width = from.width();
|
||||
+ const auto height = from.height();
|
||||
+ auto fromBytes = from.bits();
|
||||
+ auto toBytes = to.bits();
|
||||
if (fromPerLine != width * 4 || toPerLine != width * 4) {
|
||||
- auto fromBytes = from.bits();
|
||||
- auto toBytes = to.bits();
|
||||
- for (auto i = 0; i != to.height(); ++i) {
|
||||
- convert(
|
||||
- reinterpret_cast<uint*>(toBytes),
|
||||
- reinterpret_cast<const uint*>(fromBytes),
|
||||
- width,
|
||||
- layout,
|
||||
- nullptr);
|
||||
+ for (auto i = 0; i != height; ++i) {
|
||||
+ UnPremultiplyLine(toBytes, fromBytes, width);
|
||||
fromBytes += fromPerLine;
|
||||
toBytes += toPerLine;
|
||||
}
|
||||
} else {
|
||||
- convert(
|
||||
- reinterpret_cast<uint*>(to.bits()),
|
||||
- reinterpret_cast<const uint*>(from.bits()),
|
||||
- from.width() * from.height(),
|
||||
- layout,
|
||||
- nullptr);
|
||||
+ UnPremultiplyLine(toBytes, fromBytes, width * height);
|
||||
}
|
||||
}
|
||||
|
||||
void PremultiplyInplace(QImage &image) {
|
||||
- const auto layout = &qPixelLayouts[QImage::Format_ARGB32];
|
||||
- const auto convert = layout->convertToARGB32PM;
|
||||
const auto perLine = image.bytesPerLine();
|
||||
const auto width = image.width();
|
||||
+ const auto height = image.height();
|
||||
+ auto bytes = image.bits();
|
||||
if (perLine != width * 4) {
|
||||
- auto bytes = image.bits();
|
||||
- for (auto i = 0; i != image.height(); ++i) {
|
||||
- convert(
|
||||
- reinterpret_cast<uint*>(bytes),
|
||||
- reinterpret_cast<const uint*>(bytes),
|
||||
- width,
|
||||
- layout,
|
||||
- nullptr);
|
||||
+ for (auto i = 0; i != height; ++i) {
|
||||
+ PremultiplyLine(bytes, bytes, width);
|
||||
bytes += perLine;
|
||||
}
|
||||
} else {
|
||||
- convert(
|
||||
- reinterpret_cast<uint*>(image.bits()),
|
||||
- reinterpret_cast<const uint*>(image.bits()),
|
||||
- image.width() * image.height(),
|
||||
- layout,
|
||||
- nullptr);
|
||||
+ PremultiplyLine(bytes, bytes, width * height);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/Telegram/gyp/lib_ffmpeg.gyp b/Telegram/gyp/lib_ffmpeg.gyp
|
||||
index 9971d76ae..b9ada5362 100644
|
||||
--- Telegram/gyp/lib_ffmpeg.gyp
|
||||
+++ Telegram/gyp/lib_ffmpeg.gyp
|
||||
@@ -46,7 +46,11 @@
|
||||
'<(src_loc)/ffmpeg/ffmpeg_utility.cpp',
|
||||
'<(src_loc)/ffmpeg/ffmpeg_utility.h',
|
||||
],
|
||||
- 'conditions': [[ 'build_macold', {
|
||||
+ 'conditions': [[ '"<(official_build_target)" != ""', {
|
||||
+ 'defines': [
|
||||
+ 'TDESKTOP_OFFICIAL_TARGET=<(official_build_target)',
|
||||
+ ],
|
||||
+ }], [ 'build_macold', {
|
||||
'xcode_settings': {
|
||||
'OTHER_CPLUSPLUSFLAGS': [ '-nostdinc++' ],
|
||||
},
|
Loading…
Reference in New Issue
Block a user