Giter Site home page Giter Site logo

procxx / kepka Goto Github PK

View Code? Open in Web Editor NEW
114.0 114.0 29.0 146.09 MB

Unofficial Telegram Desktop messaging app

Home Page: https://procxx.github.io

License: Other

Shell 0.34% C++ 96.28% C 0.04% Python 0.30% Objective-C++ 1.45% Batchfile 0.16% CMake 1.06% CSS 0.11% JavaScript 0.05% Objective-C 0.14% VBScript 0.01% Inno Setup 0.06%
cmake procxx telegram telegram-api

kepka's People

Contributors

23rd avatar 3v1n0 avatar alireza-mim avatar anton-afanasyev avatar auchri avatar eduardosm avatar eegorov avatar erickotato avatar farseerfc avatar grishka avatar ilya-fedin avatar ivanbalashov239 avatar jaydi85 avatar john-preston avatar johnnynator avatar kanishkablack avatar kbroulik avatar mrexodia avatar mymedia2 avatar omkarnathsingh avatar oz1 avatar rezasp avatar sea-n avatar stek29 avatar svenstaro avatar udf avatar vimpostor avatar vitlav avatar xvitaly avatar zurg3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kepka's Issues

Fix warnings

Currently, we have a ton of warnings. On some distros it interprets like errors. We need to fix these warnings.

Some warnings are simple and could be fixed automatically with brand new C++17 features like [[maybe-unused]], [[fallthrough]], some warnings related to Qt/stdint types collision (see bug #18 , for example).

Links to warning-prone lines are welcomed in comments.

Add "Show only unread" checkbox

Show only unread chats when this is enabled;

for quick on/off place it somewhere reachable - e.g. a simple checkbox next to the Search bar.

Get rid of strange bicycle types

These headers contains wacky and counter-semantic implementations of some rarely used things. We should replace that stuff:

  • base/weak_unique_ptr.h
  • base/flat_set.h
  • base/flat_map.h
  • base/tests/flat_map_tests.cpp
  • base/type_traits.h
  • base/optional.h
  • base/ordered_set.h — ?
  • dialogs/dialogs_list.h
  • dialogs/dialogs_indexed_list.h

Add customizable tabs

These tabs will allow to filter all entropy existing in Telegram chats.

Example:
We could filter chats for chat type (bots, groups, supergroups, channels), for read/unread markups. These filters are proposed to add to search label

Enable continuous integration

We should set up Travis and Appveyor to build the code in this repository.

  • Appveyor
  • Travis for linux
  • Travis for macos

Instruction book

We should update the instruction book, in particular the build-related parts on operating systems:

  1. windows;
  2. Linux (especially Debian / Ubuntu / Fedora / another distros);
  3. Mac
  4. Another (????)

RPM package for Fedora

  • Create basic RPM SPEC for Fedora.
  • Rename temporary package name to final.
  • Create CI task to build package on Koji after each commit.
  • Remove all third-party libraries from repository.
  • Use packaged dependencies: minizip, libtgvoip, etc.

Fix style generator to not assume paths

codegen/style/generator.cpp:1189: auto pathAndModifiers = filepath.split('-');

this breaks if build directory path contains a -

remove this assumption and fix faulty code

Heap buffer overflow detected by ASan

==26577==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6080000040f4 at pc 0x00000058ebfc bp 0x7ffd8fecbc20 sp 0x7ffd8fecb3d0
READ of size 53 at 0x6080000040f4 thread T0
    #0 0x58ebfb in __interceptor_strndup.part.278 (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x58ebfb)
    #1 0x7fb49177f60e  (/usr/lib/x86_64-linux-gnu/libxkbcommon-x11.so.0+0x460e)
    #2 0x7fb49177ec61 in xkb_x11_keymap_new_from_device (/usr/lib/x86_64-linux-gnu/libxkbcommon-x11.so.0+0x3c61)
    #3 0x7fb49ad1a1fc  (/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5+0x421fc)
    #4 0x7fb49ad1b28c  (/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5+0x4328c)
    #5 0x7fb49ad15a1a in QXcbConnection::QXcbConnection(QXcbNativeInterface*, bool, unsigned int, char const*) (/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5+0x3da1a)
    #6 0x7fb49ad19019 in QXcbIntegration::QXcbIntegration(QStringList const&, int&, char**) (/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5+0x41019)
    #7 0x7fb49afdb2aa in _init (/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so+0x12aa)
    #8 0x7fb4b9cc2f8c in QPlatformIntegrationFactory::create(QString const&, QStringList const&, int&, char**, QString const&) (/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0xe8f8c)
    #9 0x7fb4b9cd3349 in QGuiApplicationPrivate::createPlatformIntegration() (/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0xf9349)
    #10 0x7fb4b9cd3e3c in QGuiApplicationPrivate::createEventDispatcher() (/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0xf9e3c)
    #11 0x7fb4b9721b84 in QCoreApplicationPrivate::init() (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x290b84)
    #12 0x7fb4b9cd58ce in QGuiApplicationPrivate::init() (/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0xfb8ce)
    #13 0x7fb4be005288 in QApplicationPrivate::init() (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x159288)
    #14 0x28ff1ad in Application::Application(int&, char**) /home/vista/dev/tdesktop/Telegram/SourceFiles/application.cpp:75:52
    #15 0x2974fc8 in main /home/vista/dev/tdesktop/Telegram/SourceFiles/main.cpp:48:15
    #16 0x7fb4b83b61c0 in __libc_start_main /build/glibc-CxtIbX/glibc-2.26/csu/../csu/libc-start.c:308
    #17 0x500389 in _start (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x500389)

0x6080000040f4 is located 0 bytes to the right of 84-byte region [0x6080000040a0,0x6080000040f4)
allocated by thread T1 (QXcbEventReader) here:
    #0 0x5bfd80 in __interceptor_malloc (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x5bfd80)
    #1 0x7fb4ae09ae2b  (/usr/lib/x86_64-linux-gnu/libxcb.so.1+0xde2b)

Thread T1 (QXcbEventReader) created by T0 here:
    #0 0x519400 in pthread_create (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x519400)
    #1 0x7fb4b953c795 in QThread::start(QThread::Priority) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xab795)

SUMMARY: AddressSanitizer: heap-buffer-overflow (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x58ebfb) in __interceptor_strndup.part.278
Shadow bytes around the buggy address:
  0x0c107fff87c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c107fff87d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c107fff87e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c107fff87f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c107fff8800: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fa
=>0x0c107fff8810: fa fa fa fa 00 00 00 00 00 00 00 00 00 00[04]fa
  0x0c107fff8820: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c107fff8830: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c107fff8840: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c107fff8850: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c107fff8860: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
QApplication: invalid style override passed, ignoring it.
=================================================================
==26577==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6040000d4bff at pc 0x0000005992fb bp 0x7ffd8fec5d90 sp 0x7ffd8fec5540
READ of size 7 at 0x6040000d4bff thread T0
    #0 0x5992fa in __interceptor_memcmp.part.282 (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x5992fa)
    #1 0x6c84b7 in Lang::GetKeyIndex(QLatin1String) /home/vista/dev/tdesktop/cmake-build-debug/Telegram/lang_auto.cpp:13610:20
    #2 0x1c431f6 in LangKey Lang::Instance::ParseKeyValue<std::vector<QString, std::allocator<QString> > >(QByteArray const&, QByteArray const&, std::vector<QString, std::allocator<QString> >&) /home/vista/dev/tdesktop/Telegram/SourceFiles/lang/lang_instance.cpp:453:18
    #3 0x1c37bbb in Lang::Instance::applyValue(QByteArray const&, QByteArray const&) /home/vista/dev/tdesktop/Telegram/SourceFiles/lang/lang_instance.cpp:469:15
    #4 0x1c3762a in Lang::Instance::fillFromSerialized(QByteArray const&) /home/vista/dev/tdesktop/Telegram/SourceFiles/lang/lang_instance.cpp:319:3
    #5 0x222ac02 in Local::readLangPack() /home/vista/dev/tdesktop/Telegram/SourceFiles/storage/localstorage.cpp:3947:19
    #6 0x2217667 in Local::start() /home/vista/dev/tdesktop/Telegram/SourceFiles/storage/localstorage.cpp:2335:2
    #7 0x2b46bbf in Messenger::startLocalStorage() /home/vista/dev/tdesktop/Telegram/SourceFiles/messenger.cpp:477:2
    #8 0x2b452cc in Messenger::Messenger() /home/vista/dev/tdesktop/Telegram/SourceFiles/messenger.cpp:91:2
    #9 0x290b4a7 in std::_MakeUniq<Messenger>::__single_object std::make_unique<Messenger>() /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/unique_ptr.h:825:34
    #10 0x2908c75 in Application::createMessenger() /home/vista/dev/tdesktop/Telegram/SourceFiles/application.cpp:302:23
    #11 0x2904c71 in Sandbox::launch() /home/vista/dev/tdesktop/Telegram/SourceFiles/application.cpp:410:17
    #12 0x2900196 in Application::singleInstanceChecked() /home/vista/dev/tdesktop/Telegram/SourceFiles/application.cpp:209:4
    #13 0x29036f1 in Application::socketError(QLocalSocket::LocalSocketError) /home/vista/dev/tdesktop/Telegram/SourceFiles/application.cpp:182:2
    #14 0x2cb706d in Application::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram_autogen/T6Y2NIRYHF/moc_application.cpp:116:21
    #15 0x7fb4b97498e4 in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b88e4)
    #16 0x7fb4bdc08950 in QLocalSocket::error(QLocalSocket::LocalSocketError) (/usr/lib/x86_64-linux-gnu/libQt5Network.so.5+0xe7950)
    #17 0x7fb4bdc16d89  (/usr/lib/x86_64-linux-gnu/libQt5Network.so.5+0xf5d89)
    #18 0x7fb4bdc17631  (/usr/lib/x86_64-linux-gnu/libQt5Network.so.5+0xf6631)
    #19 0x7fb4bdc1780b in QLocalSocket::connectToServer(QFlags<QIODevice::OpenModeFlag>) (/usr/lib/x86_64-linux-gnu/libQt5Network.so.5+0xf680b)
    #20 0x28ffce4 in Application::Application(int&, char**) /home/vista/dev/tdesktop/Telegram/SourceFiles/application.cpp:101:16
    #21 0x2974fc8 in main /home/vista/dev/tdesktop/Telegram/SourceFiles/main.cpp:48:15
    #22 0x7fb4b83b61c0 in __libc_start_main /build/glibc-CxtIbX/glibc-2.26/csu/../csu/libc-start.c:308
    #23 0x500389 in _start (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x500389)

0x6040000d4bff is located 0 bytes to the right of 47-byte region [0x6040000d4bd0,0x6040000d4bff)
allocated by thread T0 here:
    #0 0x5bfd80 in __interceptor_malloc (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x5bfd80)
    #1 0x7fb4b953e9f1 in QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xad9f1)

SUMMARY: AddressSanitizer: heap-buffer-overflow (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x5992fa) in __interceptor_memcmp.part.282
Shadow bytes around the buggy address:
  0x0c0880012920: fa fa 00 00 00 00 00 07 fa fa 00 00 00 00 00 04
  0x0c0880012930: fa fa 00 00 00 00 00 06 fa fa 00 00 00 00 00 02
  0x0c0880012940: fa fa 00 00 00 00 00 07 fa fa 00 00 00 00 01 fa
  0x0c0880012950: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 04 fa
  0x0c0880012960: fa fa 00 00 00 00 06 fa fa fa 00 00 00 00 00 02
=>0x0c0880012970: fa fa 00 00 00 00 00 03 fa fa 00 00 00 00 00[07]
  0x0c0880012980: fa fa 00 00 00 00 00 03 fa fa 00 00 00 00 07 fa
  0x0c0880012990: fa fa 00 00 00 00 00 06 fa fa 00 00 00 00 00 07
  0x0c08800129a0: fa fa 00 00 00 00 00 05 fa fa 00 00 00 00 07 fa
  0x0c08800129b0: fa fa 00 00 00 00 00 fa fa fa 00 00 00 00 00 01
  0x0c08800129c0: fa fa 00 00 00 00 00 03 fa fa 00 00 00 00 00 03
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  OpenType support missing for script 11
  OpenType support missing for script 11

=================================================================

Seemingly each of those connected to corresponding error message (QApplication: invalid style override passed, ignoring it. and OpenType support missing for script 11)

Allow to change file download location

Currently, the file download location is hardcoded (at least on Windows) to ~/Downloads/Telegram Desktop/. I suggest it should be possible to change in the settings.

The Duplicating code...

The Duplicating code never changes...

We should clean at most all code duplications. Feel free to add URLs to duplicated code chunks.

Codegen fails if the source path contains dashes

  1. Extract the Kepka sources to the path that contains dash (-), e.g. C:\monkey-coders\kepka
  2. Try to build the source, codegen step will fail.

Possible reason per @xvitaly: codegen uses constructs such as auto pathAndModifiers = fullpath.split('-'); to delimit the path from the command-line arguments. That breaks the build.

Possible places where it's used:

auto idParts = getString("output").split('-');

auto pathAndModifiers = filepath.split('-');

auto pathAndModifiers = fullpath.split('-');

Current workarond

Build the project on the path that doesn't contain dashes.

Russian quote marks and formatting

Steps to reproduce

  1. Write the text (**x** y z) in chat ⇒ it formats the x in bold (OK).
  2. Write the same text with Russian quote marks «**x** y z» ⇒ it doesn't format the bold text and leaves * as is (FAIL).

See upstream issue telegramdesktop/tdesktop#3867 for list of additional characters.

Expected behaviour

The Russian quote marks should be considered the same as ordinary braces in context of formatting. x should be bold in both samples.

Actual behaviour

Russian quote marks considered as ordinary text, formatting doesn't work.

Configuration

Operating system: Windows 8.1
Version of Telegram Desktop: 1.1.23

Appveyor Level Up

  • build only RelWithDebInfo on Appveyor
  • pack it without PDB
  • pack PDBs into a separate archive
  • run ctest (ctest ., see on Travis)
  • publish Release to GitHub releases (see this as an example)

Improve audio playback

So this is going to be something painful but I've done everything I can to prove this issue. If you don't have a good headphones, you're not helpful here. Basically, the issue title says it all: the sound quality is terrible, music is distorted, and, considering that thousands of people are using Telegram mobile client for music and Kepka is going to be cross-compilable, it's not just issue, it's a nightmare of any contributor.

Steps to reproduce

The easy way

Just download any music piece and compare sound that comes out of Telegram with sound from any other software.

The hard way

Here I'm actually going to explain my analysis. I've done it with MP3 for the first time, just for fun, but in this case I'm going to use a song from Monstercat FLAC pack. For obvious reasons, I can't post it fully, but if you have a FLAC record, the song name is Muzzy - Spectrum, and here's SHA512 sum: d2f04f81c8bfd51fb8eb9d6b05cebfce58a3781b648e2324edc02b8341cab2fa40856aa4784463a9b4eb945a420602085110a1664048ad45fd293f866e70cc72
AUDIOCHECKER report:

AUDIOCHECKER v2.0 beta (build 457) - by Dester - [email protected]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Path: ...\2017 - [MCEP113] - Muzzy - Spectrum EP

01 -=- 01. Muzzy - Spectrum.flac -=- CDDA (100%)
02 -=- 02. Muzzy - Lost Forever.flac -=- CDDA (100%)
03 -=- 03. Muzzy - Break Away (feat. Priority One).flac -=- CDDA (99%)
04 -=- 04. Muzzy - Outsiders (feat. Charlotte Haining).flac -=- CDDA (100%)

Summary: 99,75% CDDA

105067060

Music is distorted on ANY OS, but following procedure is correct only for Linux.

  1. You need PulseAudio and Audacity.
    It's also advised to use following configuration for crystal clear sound.
resample-method = src-sinc-best-quality
default-sample-format = s24le
  1. Turn off your mic and set monitor of your output device as a default recording device, here's what Google gave me if you're banned
  2. Download any music piece (FLAC advised), load it into Telegram. Launch Audacity.
    While recording, Audacity should now listen for sounds from PulseAudio output, i.e. sound from your computer. Make sure volume in all software you're gonna test is equal or almost equal.
  3. Record piece by playing it from any music software
  4. Stop recording, mute track so it will not be played while recording next time
  5. Repeat from 4 for all software used, including telegram
  6. Profit. Now you have several tracks that you can analyse in any way you want: visually, mathematically or just by listening to each track and thinking.

The differences in volume and the meaning of "volume" itself for each software piece may differ, so that may harden further analysis. But, assuming differences are negligible, I'm posting my own observations:
https://imgur.com/a/Y9JdV
I've done my best on sliding and slicing parts to synchronize pieces. On circled parts it's clearly visible that the difference not just in the volume, but in the structure of wave. After all, I don't think this needs much explanation because it goes too deep into music theory. Another interesting point is that it's clearly a software issue since software->software sound transition ended up with distorted sound.

Expected behaviour

Music should be clear just like in any other music software.

Actual behaviour

Probably at some frequencies or some specific wave shape, the timbre of music "shifts" and distorts.

Configuration

Operating system: (Almost) clean Debian 9.3 (Stretch) installation, Linux.

Version of Telegram Desktop: 1.1.23 and 1.2.6

Used theme: not applicable

Show admins in chat

This feature was added to upstream:

image

I think it's a nice addition, and we should backport it.

Memory leaks detected by LSan

If we run Kepka under ASan/LSan we get some leaks

==26577==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 6656 byte(s) in 26 object(s) allocated from:
    #0 0x5bfd80 in __interceptor_malloc (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x5bfd80)
    #1 0x7fb4af3e2099  (/usr/lib/x86_64-linux-gnu/libfontconfig.so.1+0x1d099)

Direct leak of 144 byte(s) in 2 object(s) allocated from:
    #0 0x5f8330 in operator new(unsigned long) (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x5f8330)
    #1 0x2602683 in internal::getImage(QPixmap const&, QByteArray) /home/vista/dev/tdesktop/Telegram/SourceFiles/ui/images.cpp:1213:9
    #2 0x187b037 in ImagePtr::ImagePtr(QPixmap const&, QByteArray) /home/vista/dev/tdesktop/Telegram/SourceFiles/ui/images.h:514:62
    #3 0x2c3accf in PhotoData::makeReplyPreview() /home/vista/dev/tdesktop/Telegram/SourceFiles/structs.cpp:1225:19
    #4 0x1890bb9 in HistoryPhoto::replyPreview() /home/vista/dev/tdesktop/Telegram/SourceFiles/history/history_media_types.cpp:657:16
    #5 0x195a9e8 in HistoryMessageReply::paint(Painter&, HistoryItem const*, int, int, int, base::flags<HistoryMessageReply::PaintFlag>) const /home/vista/dev/tdesktop/Telegram/SourceFiles/history/history_message.cpp:507:53
    #6 0x18d35f6 in HistorySticker::draw(Painter&, QRect const&, TextSelection, long long) const /home/vista/dev/tdesktop/Telegram/SourceFiles/history/history_media_types.cpp:2761:12
    #7 0x197c745 in HistoryMessage::draw(Painter&, QRect, TextSelection, long long) const /home/vista/dev/tdesktop/Telegram/SourceFiles/history/history_message.cpp:1720:11
    #8 0x17d8907 in HistoryInner::paintEvent(QPaintEvent*) /home/vista/dev/tdesktop/Telegram/SourceFiles/history/history_inner_widget.cpp:479:12
    #9 0x7fb4be040dc7 in QWidget::event(QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x194dc7)

Direct leak of 144 byte(s) in 2 object(s) allocated from:
    #0 0x5f8330 in operator new(unsigned long) (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x5f8330)
    #1 0x2602463 in internal::getImage(QByteArray const&, QByteArray) /home/vista/dev/tdesktop/Telegram/SourceFiles/ui/images.cpp:1209:9
    #2 0x12878c7 in ImagePtr::ImagePtr(QByteArray const&, QByteArray) /home/vista/dev/tdesktop/Telegram/SourceFiles/ui/images.h:510:85
    #3 0x14375ca in DocumentData::checkSticker() /home/vista/dev/tdesktop/Telegram/SourceFiles/structs.h:1293:14
    #4 0x18d1615 in HistorySticker::draw(Painter&, QRect const&, TextSelection, long long) const /home/vista/dev/tdesktop/Telegram/SourceFiles/history/history_media_types.cpp:2697:9
    #5 0x197c745 in HistoryMessage::draw(Painter&, QRect, TextSelection, long long) const /home/vista/dev/tdesktop/Telegram/SourceFiles/history/history_message.cpp:1720:11
    #6 0x17d8907 in HistoryInner::paintEvent(QPaintEvent*) /home/vista/dev/tdesktop/Telegram/SourceFiles/history/history_inner_widget.cpp:479:12
    #7 0x7fb4be040dc7 in QWidget::event(QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x194dc7)

Direct leak of 112 byte(s) in 1 object(s) allocated from:
    #0 0x5bfd80 in __interceptor_malloc (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x5bfd80)
    #1 0x7fb4bad83e57 in CRYPTO_malloc (/lib/x86_64-linux-gnu/libcrypto.so.1.0.0+0x62e57)

Direct leak of 45 byte(s) in 9 object(s) allocated from:
    #0 0x5bfd80 in __interceptor_malloc (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x5bfd80)
    #1 0x7fb4af3da61d in FcFreeTypeQueryFace (/usr/lib/x86_64-linux-gnu/libfontconfig.so.1+0x1561d)

Direct leak of 36 byte(s) in 1 object(s) allocated from:
    #0 0x5bfd80 in __interceptor_malloc (/home/vista/dev/tdesktop/cmake-build-debug/Telegram/Telegram+0x5bfd80)
    #1 0x7fb4ae09ae2b  (/usr/lib/x86_64-linux-gnu/libxcb.so.1+0xde2b)

Albums

Add Albums photo/video grouping feature that is currently only present on mobile.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.