Index: head/net-im/telegram-desktop/Makefile =================================================================== --- head/net-im/telegram-desktop/Makefile (revision 509138) +++ head/net-im/telegram-desktop/Makefile (revision 509139) @@ -1,119 +1,120 @@ # $FreeBSD$ PORTNAME= telegram-desktop DISTVERSIONPREFIX= v -DISTVERSION= 1.6.7 -PORTREVISION= 3 +DISTVERSION= 1.7.14 CATEGORIES= net-im MAINTAINER= henry.hu.sh@gmail.com COMMENT= Telegram Desktop messaging app LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE NOT_FOR_ARCHS= powerpc powerpc64 powerpcspe NOT_FOR_ARCHS_REASON= Please add support for your architecture in base/build_config.h BUILD_DEPENDS= dee>0:devel/dee \ gyp:devel/py-gyp@${PY_FLAVOR} \ range-v3>0:devel/range-v3 \ pulseaudio>0:audio/pulseaudio \ alsa-lib>0:audio/alsa-lib LIB_DEPENDS= libavformat.so:multimedia/ffmpeg \ libdbus-1.so:devel/dbus \ libminizip.so:archivers/minizip \ 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 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 CMAKE_SOURCE_PATH= ${WRKSRC}/out/Release # Telegram asks each custom build to have its own API ID and hash. # Use the default ones for now. We may need to switch to the official ones, # or create our own. TELEGRAM_API_ID= 17349 TELEGRAM_API_HASH= 344583e45741c457fe1862106095a5eb GYP_DEFINES= TDESKTOP_DISABLE_CRASH_REPORTS,TDESKTOP_DISABLE_AUTOUPDATE,TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME # Telegram uses OpenAL for its audio, but libtgvoip (for voice calls) can use PulseAudio or ALSA. # It dynamically loads PulseAudio, and if this fails, it loads ALSA. # If both of them are not installed, then voice calls do not work, but other functionalities still work. OPTIONS_MULTI= AUDIO OPTIONS_MULTI_AUDIO= ALSA PULSEAUDIO OPTIONS_DEFINE= GTK OPTIONS_DEFAULT= ALSA AUDIO_DESC= Audio backend for voice calls GTK_DESC= Gtk integration (Use Gtk dialogs, etc.) ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio .include .if ${PORT_OPTIONS:MGTK} USE_GNOME+= gtk30 .else GYP_DEFINES:= ${GYP_DEFINES},TDESKTOP_DISABLE_GTK_INTEGRATION .endif .include post-patch: @cd ${WRKSRC} && \ (${SED} -e " \ s|%%QT_VERSION%%|${QT5_VERSION}| ; \ s|%%LOCALBASE%%|${LOCALBASE}| ; \ s|%%CFLAGS%%|${CFLAGS:C/(.*)/'\1',/}| ; \ s|%%CXXFLAGS%%|${CXXFLAGS:C/(.*)/'\1',/}| ; \ s|%%LDFLAGS%%|${LDFLAGS:C/(.*)/'\1',/}| ; \ s|%%QT_BINDIR%%|${QT_BINDIR}| ; \ s|%%QT_INCDIR%%|${QT_INCDIR}| ; \ s|%%QT_LIBDIR%%|${QT_LIBDIR}| ; \ s|%%QMAKESPEC%%|${QMAKESPEC}| ; \ s|%%PYTHON_CMD%%|${PYTHON_CMD}|" \ ${FILESDIR}/gyp-patches | \ ${PATCH} -z .bak -s) @${ECHO} "#define FREEBSD_QT_PLUGINDIR \"${QT_PLUGINDIR}\"" > ${WRKSRC}/Telegram/SourceFiles/FREEBSD_QT_PLUGINDIR.h @${REINPLACE_CMD} "/Icon=/s|telegram|${PORTNAME}|" ${WRKSRC}/lib/xdg/telegramdesktop.desktop pre-configure: @cd ${WRKSRC} && gyp \ -Dapi_id=${TELEGRAM_API_ID} \ -Dapi_hash=${TELEGRAM_API_HASH} \ -Dbuild_defines=${GYP_DEFINES} \ -Gconfig=Release \ --depth=Telegram/gyp --generator-output=../.. -Goutput_dir=out Telegram/gyp/Telegram.gyp --format=cmake @TOT=`wc -l < ${WRKSRC}/out/Release/CMakeLists.txt` && NUM=`expr $$TOT - 2` && \ ${REINPLACE_CMD} "$$NUM r ${FILESDIR}/CMakeLists.inj" ${WRKSRC}/out/Release/CMakeLists.txt do-install: ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/Telegram ${STAGEDIR}${PREFIX}/bin/${PORTNAME} ${INSTALL_DATA} ${WRKSRC}/lib/xdg/telegramdesktop.desktop ${STAGEDIR}${PREFIX}/share/applications/${PORTNAME}.desktop @${MKDIR} ${STAGEDIR}${PREFIX}/share/kservices5 ${INSTALL_DATA} ${WRKSRC}/lib/xdg/tg.protocol ${STAGEDIR}${PREFIX}/share/kservices5 @${MKDIR} ${STAGEDIR}${PREFIX}/share/appdata ${INSTALL_DATA} ${WRKSRC}/lib/xdg/telegramdesktop.appdata.xml ${STAGEDIR}${PREFIX}/share/appdata/${PORTNAME}.appdata.xml .for icon_size in 16 32 48 64 128 256 512 @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${icon_size}x${icon_size}/apps ${INSTALL_DATA} \ ${WRKSRC}/Telegram/Resources/art/icon${icon_size}.png \ ${STAGEDIR}${PREFIX}/share/icons/hicolor/${icon_size}x${icon_size}/apps/${PORTNAME}.png .endfor .include Index: head/net-im/telegram-desktop/distinfo =================================================================== --- head/net-im/telegram-desktop/distinfo (revision 509138) +++ head/net-im/telegram-desktop/distinfo (revision 509139) @@ -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 Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_settings.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_settings.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_settings.cpp (nonexistent) @@ -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 Property changes on: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_settings.cpp ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_core_utils.h =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_core_utils.h (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_core_utils.h (nonexistent) @@ -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 { Property changes on: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_core_utils.h ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/net-im/telegram-desktop/files/gyp-patches =================================================================== --- head/net-im/telegram-desktop/files/gyp-patches (revision 509138) +++ head/net-im/telegram-desktop/files/gyp-patches (revision 509139) @@ -1,454 +1,454 @@ ---- 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', ], 'action': [ - 'python', '<(DEPTH)/update_dependent.py', '--styles', + '%%PYTHON_CMD%%', '<(DEPTH)/update_dependent.py', '--styles', '-I', '<(res_loc)', '-I', '<(src_loc)', '-o', '<(SHARED_INTERMEDIATE_DIR)/update_dependent_styles.timestamp', '<@(style_files)', @@ -26,13 +26,13 @@ 'inputs': [ '<(DEPTH)/update_dependent.py', '<@(qrc_files)', - ' /dev/null --libs <@(pkgconfig_libs))', + 'lzma', + 'openal', + 'avformat', + 'avcodec', + 'swresample', + 'swscale', + 'avutil', + 'minizip', + 'opus', + 'z', ], 'cflags_cc': [ '-Wno-strict-overflow', @@ -72,7 +63,6 @@ 'ldflags': [ '-Wl,-wrap,aligned_alloc', '-Wl,-wrap,secure_getenv', - '-Wl,-wrap,clock_gettime', '-Wl,--no-as-needed,-lrt', ], 'configurations': { @@ -80,13 +70,16 @@ 'cflags_c': [ '-Ofast', '-fno-strict-aliasing', + %%CFLAGS%% ], 'cflags_cc': [ '-Ofast', '-fno-strict-aliasing', + %%CXXFLAGS%% ], 'ldflags': [ '-Ofast', + %%LDFLAGS%% ], }, }, @@ -97,9 +90,7 @@ ], }], ['not_need_gtk!="True"', { 'cflags_cc': [ - ' /dev/null --cflags gtk+-2.0)', - ' /dev/null --cflags glib-2.0)', - ' /dev/null --cflags dee-1.0)', + ' /dev/null --cflags gtk+-3.0)', ], }], ['= 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. QApplication::setAttribute(Qt::AA_DisableHighDpiScaling, true); -#endif // OS_MAC_OLD +#endif // not defined Q_OS_MAC and QT_VERSION >= 5.6.0 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; - } + auto result = executeApplication(); Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_core_update__checker.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_core_update__checker.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_core_update__checker.cpp (revision 509139) @@ -1,22 +1,22 @@ ---- 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() { +#ifdef Q_OS_FREEBSD + return false; +#endif 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")); +#elif defined Q_OS_FREEBSD + QString curUpdater; + QFileInfo updater; #endif // Q_OS_LINUX if (!updater.exists()) { QFileInfo current(curUpdater); Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_data_data__document.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_data_data__document.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_data_data__document.cpp (revision 509139) @@ -1,11 +1,11 @@ ---- 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("_")); -#elif defined Q_OS_LINUX +#elif defined Q_OS_LINUX || defined Q_OS_FREEBSD name = name.replace(QRegularExpression(qsl("[\\/]")), qsl("_")); #endif if (Global::AskDownloadPath() || savingAs) { Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_export_data_export__data__types.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_export_data_export__data__types.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_export_data_export__data__types.cpp (revision 509139) @@ -1,14 +1,14 @@ ---- 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 ':', -#elif defined Q_OS_LINUX // Q_OS_WIN || Q_OS_MAC +#elif defined Q_OS_LINUX || defined Q_OS_FREEBSD // Q_OS_WIN || Q_OS_MAC '/', -#endif // Q_OS_WIN || Q_OS_MAC || Q_OS_LINUX +#endif // Q_OS_WIN || Q_OS_MAC || Q_OS_LINUX || Q_OS_FREEBSD }; for (const auto ch : controls) { name = std::move(name).replace(ch, '_'); Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_admin__log_history__admin__log__inner.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_admin__log_history__admin__log__inner.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_admin__log_history__admin__log__inner.cpp (revision 509139) @@ -1,18 +1,18 @@ ---- 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 -#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 +#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 || defined Q_OS_FREEBSD if (_selectedItem && _selectedText.from != _selectedText.to) { SetClipboardText( _selectedItem->selectedText(_selectedText), QClipboard::Selection); } -#endif // Q_OS_LINUX32 || Q_OS_LINUX64 +#endif // Q_OS_LINUX32 || Q_OS_LINUX64 || Q_OS_FREEBSD } void InnerWidget::updateSelected() { Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_history__inner__widget.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_history__inner__widget.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_history__inner__widget.cpp (revision 509139) @@ -1,20 +1,20 @@ ---- 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(); -#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 +#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 || defined Q_OS_FREEBSD 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); } } -#endif // Q_OS_LINUX32 || Q_OS_LINUX64 +#endif // Q_OS_LINUX32 || Q_OS_LINUX64 || Q_OS_FREEBSD } void HistoryInner::mouseReleaseEvent(QMouseEvent *e) { Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_view_history__view__list__widget.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_view_history__view__list__widget.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_view_history__view__list__widget.cpp (revision 509139) @@ -1,20 +1,20 @@ ---- 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 -#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 +#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 || defined Q_OS_FREEBSD 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); } } -#endif // Q_OS_LINUX32 || Q_OS_LINUX64 +#endif // Q_OS_LINUX32 || Q_OS_LINUX64 || Q_OS_FREEBSD } void ListWidget::mouseActionUpdate() { Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_logs.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_logs.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_logs.cpp (revision 509139) @@ -1,41 +1,41 @@ ---- 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 launcher) { +@@ -338,7 +338,7 @@ void start(not_null launcher) { if (cAlphaVersion()) { workingDirChosen = true; -#if defined Q_OS_MAC || defined Q_OS_LINUX +#if defined Q_OS_MAC || defined Q_OS_LINUX || defined Q_OS_FREEBSD } else { if (!cWorkingDir().isEmpty()) { // This value must come from TelegramForcePortable -@@ -348,16 +348,16 @@ void start(not_null launcher) { +@@ -353,16 +353,16 @@ void start(not_null launcher) { } workingDirChosen = true; -#if defined Q_OS_LINUX && !defined _DEBUG // fix first version +#if (defined Q_OS_LINUX || defined Q_OS_FREEBSD) && !defined _DEBUG // fix first version moveOldDataFrom = initialWorkingDir; -#endif // Q_OS_LINUX && !_DEBUG +#endif // (Q_OS_LINUX || Q_OS_FREEBSD) && !_DEBUG -#elif defined Q_OS_WINRT // Q_OS_MAC || Q_OS_LINUX +#elif defined Q_OS_WINRT // Q_OS_MAC || Q_OS_LINUX || Q_OS_FREEBSD } else { cForceWorkingDir(psAppDataPath()); workingDirChosen = true; -#elif defined OS_WIN_STORE // Q_OS_MAC || Q_OS_LINUX || Q_OS_WINRT +#elif defined OS_WIN_STORE // Q_OS_MAC || Q_OS_LINUX || Q_OS_WINRT || Q_OS_FREEBSD #ifdef _DEBUG cForceWorkingDir(cExeDir()); #else // _DEBUG -@@ -374,7 +374,7 @@ void start(not_null launcher) { +@@ -379,7 +379,7 @@ void start(not_null launcher) { workingDirChosen = true; } -#endif // Q_OS_MAC || Q_OS_LINUX || Q_OS_WINRT || OS_WIN_STORE +#endif // Q_OS_MAC || Q_OS_LINUX || Q_OS_WINRT || OS_WIN_STORE || Q_OS_FREEBSD } LogsData = new LogsDataFields(); Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_freebsd_info__freebsd.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_freebsd_info__freebsd.cpp (nonexistent) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_freebsd_info__freebsd.cpp (revision 509139) @@ -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 Property changes on: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_freebsd_info__freebsd.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_freebsd_info__freebsd.h =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_freebsd_info__freebsd.h (nonexistent) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_freebsd_info__freebsd.h (revision 509139) @@ -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 ++ Property changes on: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_freebsd_info__freebsd.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_main__window__linux.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_main__window__linux.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_main__window__linux.cpp (revision 509139) @@ -1,87 +1,87 @@ ---- 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; #ifndef TDESKTOP_DISABLE_GTK_INTEGRATION +#ifdef HAVE_APPINDICATOR AppIndicator *_trayIndicator = 0; +#endif 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) { +#ifdef HAVE_APPINDICATOR Libs::app_indicator_set_status(_trayIndicator, APP_INDICATOR_STATUS_PASSIVE); +#endif } 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) { +#ifdef HAVE_APPINDICATOR Libs::app_indicator_set_status(_trayIndicator, APP_INDICATOR_STATUS_ACTIVE); +#endif } 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); +#ifdef HAVE_APPINDICATOR Libs::app_indicator_set_icon_full(_trayIndicator, path.constData(), name); +#endif } 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); +#ifdef HAVE_APPINDICATOR useAppIndicator = useGtkBase && (Libs::app_indicator_new != nullptr) && (Libs::app_indicator_set_status != nullptr) && (Libs::app_indicator_set_menu != nullptr) && (Libs::app_indicator_set_icon_full != nullptr); +#else + useAppIndicator = false; +#endif 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 +#ifdef HAVE_APPINDICATOR 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; } } +#endif 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; } +#ifdef HAVE_APPINDICATOR if (_trayIndicator) { Libs::g_object_unref(_trayIndicator); _trayIndicator = nullptr; } +#endif #endif // !TDESKTOP_DISABLE_GTK_INTEGRATION } Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_platform__info.h =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_platform__info.h (nonexistent) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_platform__info.h (revision 509139) @@ -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 Property changes on: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_platform__info.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_settings_settings__notifications.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_settings_settings__notifications.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_settings_settings__notifications.cpp (revision 509139) @@ -1,17 +1,17 @@ ---- 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. -#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 +#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 || defined Q_OS_FREEBSD QTimer::singleShot(1000, [this] { delete this; }); -#else // Q_OS_LINUX32 || Q_OS_LINUX64 +#else // Q_OS_LINUX32 || Q_OS_LINUX64 || Q_OS_FREEBSD deleteLater(); -#endif // Q_OS_LINUX32 || Q_OS_LINUX64 +#endif // Q_OS_LINUX32 || Q_OS_LINUX64 || Q_OS_FREEBSD } void SetupAdvancedNotifications(not_null container) { Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_text_text.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_text_text.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_text_text.cpp (revision 509139) @@ -1,17 +1,17 @@ ---- 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; -#ifdef OS_MAC_OLD +#if defined(OS_MAC_OLD) || QT_VERSION < QT_VERSION_CHECK(5, 6, 0) auto end = _e->findItem(line.from + line.length - 1); -#else // OS_MAC_OLD +#else auto end = _e->findItem(line.from + line.length - 1, item); -#endif // OS_MAC_OLD +#endif auto blockIndex = _lineStartBlock; auto currentBlock = _t->_blocks[blockIndex].get(); Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_text_text__block.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_text_text__block.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_text_text__block.cpp (revision 509139) @@ -1,12 +1,12 @@ ---- 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); + QTextLayout layout(part, blockFont->f); + layout.beginLayout(); + layout.createLine(); CrashReports::ClearAnnotationRef("CrashString"); } Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_twidget.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_twidget.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_twidget.cpp (revision 509139) @@ -1,14 +1,14 @@ ---- 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() -#ifndef OS_MAC_OLD +#if !defined(OS_MAC_OLD) && QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) , Qt::MouseEventSynthesizedByApplication -#endif // OS_MAC_OLD +#endif ); ev.setTimestamp(crl::now()); QGuiApplication::sendEvent(windowHandle, &ev); Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_widgets_labels.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_widgets_labels.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_widgets_labels.cpp (revision 509139) @@ -1,16 +1,16 @@ ---- 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 } } -#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 +#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 || defined Q_OS_FREEBSD if (!_selection.empty()) { SetClipboardText(_text.toTextForMimeData(_selection), QClipboard::Selection); } -#endif // Q_OS_LINUX32 || Q_OS_LINUX64 +#endif // Q_OS_LINUX32 || Q_OS_LINUX64 || Q_OS_FREEBSD return state; } Index: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_window_main__window.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_window_main__window.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_window_main__window.cpp (revision 509139) @@ -1,20 +1,20 @@ ---- 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() { -#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 +#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 || defined Q_OS_FREEBSD 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); -#endif // Q_OS_LINUX32 || Q_OS_LINUX64 +#endif // Q_OS_LINUX32 || Q_OS_LINUX64 || Q_OS_FREEBSD } void MainWindow::showRightColumn(object_ptr widget) { Index: head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_VoIPController.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_VoIPController.cpp (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_VoIPController.cpp (revision 509139) @@ -1,11 +1,22 @@ ---- 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(); +- stm->packetReassembler->SetCallback(bind(&VoIPController::ProcessIncomingVideoFrame, this, placeholders::_1, placeholders::_2, placeholders::_3)); ++ //stm->packetReassembler=make_shared(); ++ //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 double VoIPController::GetCurrentTime(){ -#if defined(__linux__) +#if defined(__linux__) || defined(__FreeBSD__) struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); return ts.tv_sec+(double)ts.tv_nsec/1000000000.0; Index: head/net-im/telegram-desktop/files/patch-Telegram_gyp_PrecompiledHeader.cmake =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_gyp_PrecompiledHeader.cmake (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_gyp_PrecompiledHeader.cmake (revision 509139) @@ -1,36 +1,20 @@ ---- 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( OUTPUT "${_output_c}" - COMMAND "${CMAKE_C_COMPILER}" ${_compiler_FLAGS} -x c-header -o "${_output_c}" -c "${_pchfile}" + COMMAND "${CMAKE_C_COMPILER}" "$(C_DEFINES)" "$(C_INCLUDES)" "$(C_FLAGS)" -x c-header -o "${_output_c}" -c "${_pchfile}" DEPENDS "${_pchfile}" "${_pch_c_flags_file}" IMPLICIT_DEPENDS C "${_pch_header}" COMMENT "Precompiling ${_name} for ${_target} (C)") @@ -125,7 +125,7 @@ function(add_precompiled_header _target _input) set(_compiler_FLAGS "@${_pch_cpp_flags_file}") add_custom_command( OUTPUT "${_output_cxx}" - COMMAND "${CMAKE_CXX_COMPILER}" ${_compiler_FLAGS} -x c++-header -o "${_output_cxx}" -c "${_pchfile}" + COMMAND "${CMAKE_CXX_COMPILER}" "$(CXX_DEFINES)" "$(CXX_INCLUDES)" "$(CXX_FLAGS)" -x c++-header -o "${_output_cxx}" -c "${_pchfile}" 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() Index: head/net-im/telegram-desktop/files/patch-Telegram_gyp_settings__linux.gypi =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_gyp_settings__linux.gypi (revision 509138) +++ head/net-im/telegram-desktop/files/patch-Telegram_gyp_settings__linux.gypi (revision 509139) @@ -1,37 +1,37 @@ ---- 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': [ '-pipe', '-Wall', - '-Werror', '-W', '-fPIC', '-Wno-unused-variable', -@@ -26,7 +25,7 @@ +@@ -28,7 +27,7 @@ ], }, 'conditions': [ - [ '" +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 ++ ++#ifdef TDESKTOP_OFFICIAL_TARGET + #include ++#endif // TDESKTOP_OFFICIAL_TARGET + + extern "C" { + #include +@@ -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(dst), ++ reinterpret_cast(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(dst), ++ reinterpret_cast(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(toBytes), +- reinterpret_cast(fromBytes), +- width, +- layout, +- nullptr); ++ for (auto i = 0; i != height; ++i) { ++ UnPremultiplyLine(toBytes, fromBytes, width); + fromBytes += fromPerLine; + toBytes += toPerLine; + } + } else { +- convert( +- reinterpret_cast(to.bits()), +- reinterpret_cast(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(bytes), +- reinterpret_cast(bytes), +- width, +- layout, +- nullptr); ++ for (auto i = 0; i != height; ++i) { ++ PremultiplyLine(bytes, bytes, width); + bytes += perLine; + } + } else { +- convert( +- reinterpret_cast(image.bits()), +- reinterpret_cast(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++' ], + }, Property changes on: head/net-im/telegram-desktop/files/patch-issue6219 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property