Page MenuHomeSolus

D11473.id.diff
No OneTemporary

D11473.id.diff

diff --git a/abi_used_symbols b/abi_used_symbols
--- a/abi_used_symbols
+++ b/abi_used_symbols
@@ -1418,7 +1418,6 @@
libQt5WaylandClient.so.5:_ZTIN15QtWaylandClient30QWaylandShellIntegrationPluginE
libQt5WaylandClient.so.5:_ZTVN15QtWaylandClient20QWaylandShellSurfaceE
libQt5WaylandClient.so.5:wl_output_interface
-libQt5WaylandClient.so.5:wl_seat_interface
libQt5WaylandClient.so.5:wl_surface_interface
libQt5Widgets.so.5:_ZN11QFileDialog10selectFileERK7QString
libQt5Widgets.so.5:_ZN11QFileDialog10setOptionsE6QFlagsINS_6OptionEE
@@ -2526,6 +2525,7 @@
libglibmm-2.4.so.1:_ZN4Glib8MainLoop3runEv
libglibmm-2.4.so.1:_ZN4Glib8MainLoop4quitEv
libglibmm-2.4.so.1:_ZN4Glib8MainLoop6createERKNS_6RefPtrINS_11MainContextEEEb
+libglibmm-2.4.so.1:_ZN4Glib8MainLoop6createEb
libglibmm-2.4.so.1:_ZN4Glib9MatchInfo5fetchEi
libglibmm-2.4.so.1:_ZN4Glib9MatchInfoC1Ev
libglibmm-2.4.so.1:_ZN4Glib9MatchInfoD1Ev
@@ -3005,7 +3005,6 @@
libwayland-client.so.0:wl_proxy_marshal_constructor
libwayland-client.so.0:wl_proxy_marshal_constructor_versioned
libwayland-client.so.0:wl_seat_interface
-libwayland-client.so.0:wl_surface_interface
libxcb-keysyms.so.1:xcb_is_keypad_key
libxcb-keysyms.so.1:xcb_is_private_keypad_key
libxcb-keysyms.so.1:xcb_key_symbols_alloc
diff --git a/files/0001-fix-freeze-after-file-dialog.patch b/files/0001-fix-freeze-after-file-dialog.patch
new file mode 100644
--- /dev/null
+++ b/files/0001-fix-freeze-after-file-dialog.patch
@@ -0,0 +1,41 @@
+From 1261c775d4ca6fb78277ec213794da7c15e304e2 Mon Sep 17 00:00:00 2001
+From: Ilya Fedin <fedin-ilja2010@ya.ru>
+Date: Fri, 2 Jul 2021 16:50:34 +0400
+Subject: [PATCH] Fix freeze after creating file dialog
+
+---
+ .../platform/linux/linux_xdp_file_dialog.cpp | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/Telegram/SourceFiles/platform/linux/linux_xdp_file_dialog.cpp b/Telegram/SourceFiles/platform/linux/linux_xdp_file_dialog.cpp
+index 7bbd7e218644..96d5b2102e03 100644
+--- a/Telegram/SourceFiles/platform/linux/linux_xdp_file_dialog.cpp
++++ b/Telegram/SourceFiles/platform/linux/linux_xdp_file_dialog.cpp
+@@ -569,13 +569,6 @@ int XDPFileDialog::exec() {
+ setAttribute(Qt::WA_ShowModal, true);
+ setResult(0);
+
+- show();
+- if (failedToOpen()) {
+- return result();
+- }
+-
+- QPointer<QDialog> guard = this;
+-
+ // HACK we have to avoid returning until we emit
+ // that the dialog was accepted or rejected
+ const auto context = Glib::MainContext::create();
+@@ -593,6 +586,13 @@ int XDPFileDialog::exec() {
+ loop->quit();
+ }, lifetime);
+
++ show();
++ if (failedToOpen()) {
++ return result();
++ }
++
++ QPointer<QDialog> guard = this;
++
+ loop->run();
+ g_main_context_pop_thread_default(context->gobj());
+
diff --git a/files/0002-use-gsl-finally-to-pop-thread.patch b/files/0002-use-gsl-finally-to-pop-thread.patch
new file mode 100644
--- /dev/null
+++ b/files/0002-use-gsl-finally-to-pop-thread.patch
@@ -0,0 +1,78 @@
+From b335741f99f530156cd64fde5a5517f4561089f7 Mon Sep 17 00:00:00 2001
+From: Ilya Fedin <fedin-ilja2010@ya.ru>
+Date: Fri, 2 Jul 2021 20:29:46 +0400
+Subject: [PATCH] Use gsl::finally to pop thread context where appropriate
+
+---
+ .../SourceFiles/platform/linux/linux_xdp_file_dialog.cpp | 5 ++++-
+ .../platform/linux/linux_xdp_open_with_dialog.cpp | 4 +++-
+ Telegram/SourceFiles/platform/linux/specific_linux.cpp | 4 +++-
+ 3 files changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/Telegram/SourceFiles/platform/linux/linux_xdp_file_dialog.cpp b/Telegram/SourceFiles/platform/linux/linux_xdp_file_dialog.cpp
+index 96d5b2102e03..47622c2d58b5 100644
+--- a/Telegram/SourceFiles/platform/linux/linux_xdp_file_dialog.cpp
++++ b/Telegram/SourceFiles/platform/linux/linux_xdp_file_dialog.cpp
+@@ -574,6 +574,10 @@ int XDPFileDialog::exec() {
+ const auto context = Glib::MainContext::create();
+ const auto loop = Glib::MainLoop::create(context);
+ g_main_context_push_thread_default(context->gobj());
++ const auto contextGuard = gsl::finally([&] {
++ g_main_context_pop_thread_default(context->gobj());
++ });
++
+ rpl::lifetime lifetime;
+
+ accepted(
+@@ -594,7 +598,6 @@ int XDPFileDialog::exec() {
+ QPointer<QDialog> guard = this;
+
+ loop->run();
+- g_main_context_pop_thread_default(context->gobj());
+
+ if (guard.isNull()) {
+ return QDialog::Rejected;
+diff --git a/Telegram/SourceFiles/platform/linux/linux_xdp_open_with_dialog.cpp b/Telegram/SourceFiles/platform/linux/linux_xdp_open_with_dialog.cpp
+index de8e02bcfb8f..dddf1b54acc0 100644
+--- a/Telegram/SourceFiles/platform/linux/linux_xdp_open_with_dialog.cpp
++++ b/Telegram/SourceFiles/platform/linux/linux_xdp_open_with_dialog.cpp
+@@ -108,6 +108,9 @@ bool ShowXDPOpenWithDialog(const QString &filepath) {
+ const auto context = Glib::MainContext::create();
+ const auto loop = Glib::MainLoop::create(context);
+ g_main_context_push_thread_default(context->gobj());
++ const auto contextGuard = gsl::finally([&] {
++ g_main_context_pop_thread_default(context->gobj());
++ });
+
+ const auto signalId = connection->signal_subscribe(
+ [&](
+@@ -163,7 +166,6 @@ bool ShowXDPOpenWithDialog(const QString &filepath) {
+ QWindow window;
+ QGuiApplicationPrivate::showModalWindow(&window);
+ loop->run();
+- g_main_context_pop_thread_default(context->gobj());
+ QGuiApplicationPrivate::hideModalWindow(&window);
+ }
+
+diff --git a/Telegram/SourceFiles/platform/linux/specific_linux.cpp b/Telegram/SourceFiles/platform/linux/specific_linux.cpp
+index 7f13948eee96..1707e53f388b 100644
+--- a/Telegram/SourceFiles/platform/linux/specific_linux.cpp
++++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp
+@@ -148,6 +148,9 @@ void PortalAutostart(bool start, bool silent) {
+ const auto context = Glib::MainContext::create();
+ const auto loop = Glib::MainLoop::create(context);
+ g_main_context_push_thread_default(context->gobj());
++ const auto contextGuard = gsl::finally([&] {
++ g_main_context_pop_thread_default(context->gobj());
++ });
+
+ const auto signalId = connection->signal_subscribe(
+ [&](
+@@ -200,7 +203,6 @@ void PortalAutostart(bool start, bool silent) {
+ QWindow window;
+ QGuiApplicationPrivate::showModalWindow(&window);
+ loop->run();
+- g_main_context_pop_thread_default(context->gobj());
+ QGuiApplicationPrivate::hideModalWindow(&window);
+ }
+ } catch (const Glib::Error &e) {
diff --git a/files/0003-right-file-dialog-freeze-fix.patch b/files/0003-right-file-dialog-freeze-fix.patch
new file mode 100644
--- /dev/null
+++ b/files/0003-right-file-dialog-freeze-fix.patch
@@ -0,0 +1,52 @@
+From 8ecc98eb0308def4749c059a7d1e82f5056e0d02 Mon Sep 17 00:00:00 2001
+From: Ilya Fedin <fedin-ilja2010@ya.ru>
+Date: Mon, 12 Jul 2021 00:06:56 +0400
+Subject: [PATCH] Right file dialog freeze fix
+
+The freezing is still happening if the service is not accessible
+---
+ .../platform/linux/linux_xdp_file_dialog.cpp | 22 +++++++------------
+ 1 file changed, 8 insertions(+), 14 deletions(-)
+
+diff --git a/Telegram/SourceFiles/platform/linux/linux_xdp_file_dialog.cpp b/Telegram/SourceFiles/platform/linux/linux_xdp_file_dialog.cpp
+index 47622c2d58b5..40810db2cb88 100644
+--- a/Telegram/SourceFiles/platform/linux/linux_xdp_file_dialog.cpp
++++ b/Telegram/SourceFiles/platform/linux/linux_xdp_file_dialog.cpp
+@@ -569,15 +569,16 @@ int XDPFileDialog::exec() {
+ setAttribute(Qt::WA_ShowModal, true);
+ setResult(0);
+
++ show();
++ if (failedToOpen()) {
++ return result();
++ }
++
++ QPointer<QDialog> guard = this;
++
+ // HACK we have to avoid returning until we emit
+ // that the dialog was accepted or rejected
+- const auto context = Glib::MainContext::create();
+- const auto loop = Glib::MainLoop::create(context);
+- g_main_context_push_thread_default(context->gobj());
+- const auto contextGuard = gsl::finally([&] {
+- g_main_context_pop_thread_default(context->gobj());
+- });
+-
++ const auto loop = Glib::MainLoop::create();
+ rpl::lifetime lifetime;
+
+ accepted(
+@@ -590,13 +591,6 @@ int XDPFileDialog::exec() {
+ loop->quit();
+ }, lifetime);
+
+- show();
+- if (failedToOpen()) {
+- return result();
+- }
+-
+- QPointer<QDialog> guard = this;
+-
+ loop->run();
+
+ if (guard.isNull()) {
diff --git a/files/series b/files/series
new file mode 100644
--- /dev/null
+++ b/files/series
@@ -0,0 +1,3 @@
+0001-fix-freeze-after-file-dialog.patch
+0002-use-gsl-finally-to-pop-thread.patch
+0003-right-file-dialog-freeze-fix.patch
diff --git a/package.yml b/package.yml
--- a/package.yml
+++ b/package.yml
@@ -1,6 +1,6 @@
name : telegram
version : 2.8.4
-release : 153
+release : 154
source :
- https://github.com/telegramdesktop/tdesktop/releases/download/v2.8.4/tdesktop-2.8.4-full.tar.gz : 0a2a68590cdbccb40ff835516e9c575c761c91f83712891f69a5310fcb23a6a0
- git|https://github.com/desktop-app/tg_owt.git : 91d836dc84a16584c6ac52b36c04c0de504d9c34
@@ -40,6 +40,7 @@
rundeps :
- qt5-imageformats
setup : |
+ %apply_patches
cp -r $sources/tg_owt.git tg_owt
pushd tg_owt
%cmake_ninja -DBUILD_SHARED_LIBS=NO
diff --git a/pspec_x86_64.xml b/pspec_x86_64.xml
--- a/pspec_x86_64.xml
+++ b/pspec_x86_64.xml
@@ -2,8 +2,8 @@
<Source>
<Name>telegram</Name>
<Packager>
- <Name>Fabio Forni</Name>
- <Email>livingsilver94.solus@redaril.me</Email>
+ <Name>Reilly Brogan</Name>
+ <Email>reilly@reillybrogan.com</Email>
</Packager>
<License>GPL-3.0-or-later</License>
<PartOf>network.im</PartOf>
@@ -32,12 +32,12 @@
</Files>
</Package>
<History>
- <Update release="153">
- <Date>2021-07-04</Date>
+ <Update release="154">
+ <Date>2021-07-15</Date>
<Version>2.8.4</Version>
<Comment>Packaging update</Comment>
- <Name>Fabio Forni</Name>
- <Email>livingsilver94.solus@redaril.me</Email>
+ <Name>Reilly Brogan</Name>
+ <Email>reilly@reillybrogan.com</Email>
</Update>
</History>
</PISI>
\ No newline at end of file

File Metadata

Mime Type
text/plain
Expires
May 15 2023, 9:58 AM (12 w, 4 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5816092
Default Alt Text
D11473.id.diff (9 KB)

Event Timeline