Page Menu
Home
Solus
Search
Configure Global Search
Log In
Files
F10741479
D11473.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
9 KB
Referenced Files
None
Subscribers
None
D11473.id.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D11473: telegram: Fix freezing after opening file dialog
Attached
Detach File
Event Timeline
Log In to Comment