From 47328317b34b179ce388a8211b61554215c37148 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Fri, 30 Apr 2021 18:09:21 +0000 Subject: Fri Apr 30 18:09:21 UTC 2021 l/gvfs-1.48.1-x86_64-1.txz: Upgraded. l/imagemagick-7.0.11_10-x86_64-1.txz: Upgraded. n/php-7.4.18-x86_64-1.txz: Upgraded. This update fixes bugs and security issues. For more information, see: https://www.php.net/ChangeLog-7.php#7.4.18 (* Security fix *) n/postfix-3.6.0-x86_64-1.txz: Upgraded. x/libepoxy-1.5.7-x86_64-1.txz: Upgraded. x/libinput-1.17.2-x86_64-1.txz: Upgraded. x/xorgproto-2021.4-x86_64-1.txz: Upgraded. xap/pavucontrol-4.0-x86_64-4.txz: Rebuilt. Fix segfault after crtl-Q. Thanks to Jonathan Woithe and 2slguevH. xap/pidgin-2.14.4-x86_64-1.txz: Upgraded. --- source/xap/pavucontrol/pavucontrol.SlackBuild | 4 +- source/xap/pavucontrol/sigsegv_on_quit.patch | 150 ++++++++++++++++++++++++++ source/xap/pidgin/pidgin.SlackBuild | 3 +- source/xap/pidgin/slack-desc | 2 +- 4 files changed, 156 insertions(+), 3 deletions(-) create mode 100644 source/xap/pavucontrol/sigsegv_on_quit.patch (limited to 'source/xap') diff --git a/source/xap/pavucontrol/pavucontrol.SlackBuild b/source/xap/pavucontrol/pavucontrol.SlackBuild index 49864a59e..c6294e42a 100755 --- a/source/xap/pavucontrol/pavucontrol.SlackBuild +++ b/source/xap/pavucontrol/pavucontrol.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=pavucontrol VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-4} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} @@ -76,6 +76,8 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+ +zcat $CWD/sigsegv_on_quit.patch.gz | patch -p1 --verbose || exit 1 + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS -std=c++11" \ ./configure \ diff --git a/source/xap/pavucontrol/sigsegv_on_quit.patch b/source/xap/pavucontrol/sigsegv_on_quit.patch new file mode 100644 index 000000000..21a355046 --- /dev/null +++ b/source/xap/pavucontrol/sigsegv_on_quit.patch @@ -0,0 +1,150 @@ +diff --git a/src/mainwindow.cc b/src/mainwindow.cc +index 6fa3480..6d6463a 100644 +--- a/src/mainwindow.cc ++++ b/src/mainwindow.cc +@@ -35,6 +35,8 @@ + + #include "i18n.h" + ++#include "pavuapplication.h" ++ + /* Used for profile sorting */ + struct profile_prio_compare { + bool operator() (const pa_card_profile_info2& lhs, const pa_card_profile_info2& rhs) const { +@@ -200,7 +202,6 @@ void MainWindow::on_realize() { + } + + bool MainWindow::on_key_press_event(GdkEventKey* event) { +- + if (event->state & GDK_CONTROL_MASK) { + switch (event->keyval) { + case GDK_KEY_KP_1: +@@ -221,7 +222,7 @@ bool MainWindow::on_key_press_event(GdkEventKey* event) { + case GDK_KEY_Q: + case GDK_KEY_w: + case GDK_KEY_q: +- Gtk::Main::quit(); ++ g_MainApp -> quit(); + return true; + } + } +diff --git a/src/pavuapplication.cc b/src/pavuapplication.cc +index e8520ec..3298c1c 100644 +--- a/src/pavuapplication.cc ++++ b/src/pavuapplication.cc +@@ -30,6 +30,9 @@ + #include "pavucontrol.h" + #include "mainwindow.h" + ++ ++std::unique_ptr g_MainApp; ++ + PavuApplication::PavuApplication() : + Gtk::Application("org.pulseaudio.pavucontrol", Gio::ApplicationFlags::APPLICATION_HANDLES_COMMAND_LINE), + mainWindow(NULL), +@@ -143,26 +146,26 @@ int main(int argc, char *argv[]) { + signal(SIGPIPE, SIG_IGN); + + /* Create the application */ +- auto app = PavuApplication(); ++ g_MainApp = std::unique_ptr(new PavuApplication()); + + /* Add command-line options */ +- app.add_main_option_entry( ++ g_MainApp->add_main_option_entry( + Gio::Application::OptionType::OPTION_TYPE_INT, + "tab", 't', + _("Select a specific tab on load."), + _("number")); + +- app.add_main_option_entry( ++ g_MainApp->add_main_option_entry( + Gio::Application::OptionType::OPTION_TYPE_BOOL, + "retry", 'r', + _("Retry forever if pa quits (every 5 seconds).")); + +- app.add_main_option_entry( ++ g_MainApp->add_main_option_entry( + Gio::Application::OptionType::OPTION_TYPE_BOOL, + "maximize", 'm', + _("Maximize the window.")); + +- app.add_main_option_entry( ++ g_MainApp->add_main_option_entry( + Gio::Application::OptionType::OPTION_TYPE_BOOL, + "version", 'v', + _("Show version.")); +@@ -170,7 +173,7 @@ int main(int argc, char *argv[]) { + /* Connect to the "on_command_line" signal which is fired + * when the application receives command-line arguments + */ +- app.signal_command_line().connect(sigc::bind(sigc::ptr_fun(&on_command_line), &app), false); ++ g_MainApp->signal_command_line().connect(sigc::bind(sigc::ptr_fun(&on_command_line), g_MainApp.get()), false); + + /* Run the application. + * In the first launched instance, this will return when its window is +@@ -179,5 +182,5 @@ int main(int argc, char *argv[]) { + * Handling a new request consists of presenting the existing window (and + * optionally, select a tab). + */ +- return app.run(argc, argv); ++ return g_MainApp->run(argc, argv); + } +diff --git a/src/pavuapplication.h b/src/pavuapplication.h +index 3589c5d..ba56dc9 100644 +--- a/src/pavuapplication.h ++++ b/src/pavuapplication.h +@@ -21,6 +21,7 @@ + #ifndef pavuapplication_h + #define pavuapplication_h + ++#include + #include "pavucontrol.h" + #include "mainwindow.h" + +@@ -49,4 +50,6 @@ private: + }; + + ++extern std::unique_ptr g_MainApp; ++ + #endif +diff --git a/src/pavucontrol.cc b/src/pavucontrol.cc +index 6981707..dbdf92a 100644 +--- a/src/pavucontrol.cc ++++ b/src/pavucontrol.cc +@@ -40,6 +40,7 @@ + #include "sourceoutputwidget.h" + #include "rolewidget.h" + #include "mainwindow.h" ++#include "pavuapplication.h" + + static pa_context* context = NULL; + static pa_mainloop_api* api = NULL; +@@ -56,7 +57,7 @@ void show_error(const char *txt) { + Gtk::MessageDialog dialog(buf, false, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_CLOSE, true); + dialog.run(); + +- Gtk::Main::quit(); ++ g_MainApp ->quit(); + } + + static void dec_outstanding(MainWindow *w) { +@@ -571,7 +572,7 @@ void context_state_callback(pa_context *c, void *userdata) { + + case PA_CONTEXT_TERMINATED: + default: +- Gtk::Main::quit(); ++ g_MainApp ->quit(); + return; + } + } +@@ -613,7 +614,7 @@ gboolean connect_to_pulse(gpointer userdata) { + else { + if(!retry) { + reconnect_timeout = -1; +- Gtk::Main::quit(); ++ g_MainApp ->quit(); + } else { + g_debug(_("Connection failed, attempting reconnect")); + reconnect_timeout = 5; diff --git a/source/xap/pidgin/pidgin.SlackBuild b/source/xap/pidgin/pidgin.SlackBuild index 4bd95586e..3a3a3f427 100755 --- a/source/xap/pidgin/pidgin.SlackBuild +++ b/source/xap/pidgin/pidgin.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2018 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2018, 2021 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -109,6 +109,7 @@ CXXFLAGS="$SLKCFLAGS" \ --enable-gtkspell \ --enable-cyrus-sasl \ --enable-perl \ + --disable-gevolution \ --disable-meanwhile \ --disable-avahi \ --disable-nm \ diff --git a/source/xap/pidgin/slack-desc b/source/xap/pidgin/slack-desc index f201d72ce..e4e08bd4b 100644 --- a/source/xap/pidgin/slack-desc +++ b/source/xap/pidgin/slack-desc @@ -14,6 +14,6 @@ pidgin: Messenger, Jabber, Gadu-Gadu, Napster, and Zephyr. These protocols pidgin: are implemented using a modular, easy to use design. To use a pidgin: protocol, just load the plugin for it. pidgin: -pidgin: Homepage: http://www.pidgin.im +pidgin: Homepage: https://www.pidgin.im pidgin: pidgin: -- cgit v1.2.3