summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Little <blittle@inco.cc>2024-06-17 12:28:46 -0400
committerMiroslav Šulc <fordfrog@gentoo.org>2024-06-24 09:10:19 +0200
commit30d15ff32cf584538ba455d0492c24657f94bd7a (patch)
tree4066182e8fb00943915e9e74ae411fa7f762d6d1 /media-sound/lmms
parentapp-arch/createrepo_c: drop 1.0.4 (diff)
downloadgentoo-30d15ff32cf584538ba455d0492c24657f94bd7a.tar.gz
gentoo-30d15ff32cf584538ba455d0492c24657f94bd7a.tar.bz2
gentoo-30d15ff32cf584538ba455d0492c24657f94bd7a.zip
media-sound/lmms: Fix segfault related to kwidgetsaddons
Closes: https://bugs.gentoo.org/907285 Signed-off-by: Brandon Little <blittle@inco.cc> Closes: https://github.com/gentoo/gentoo/pull/37197 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
Diffstat (limited to 'media-sound/lmms')
-rw-r--r--media-sound/lmms/files/lmms-1.2.2-kwidgetsaddons.patch75
-rw-r--r--media-sound/lmms/lmms-1.2.2-r2.ebuild (renamed from media-sound/lmms/lmms-1.2.2-r1.ebuild)1
2 files changed, 76 insertions, 0 deletions
diff --git a/media-sound/lmms/files/lmms-1.2.2-kwidgetsaddons.patch b/media-sound/lmms/files/lmms-1.2.2-kwidgetsaddons.patch
new file mode 100644
index 000000000000..723e76adfa73
--- /dev/null
+++ b/media-sound/lmms/files/lmms-1.2.2-kwidgetsaddons.patch
@@ -0,0 +1,75 @@
+This patch removes an outdated workaround that causes a segfault when a recent
+version of kwidgetsaddon is installed. It has been merged upstream, so there is
+no need to use this beyond version 1.2.2.
+
+https://github.com/LMMS/lmms/issues/6587#issuecomment-1399220056
+https://github.com/LMMS/lmms/pull/6612
+
+diff --git a/src/gui/MainApplication.cpp b/src/gui/MainApplication.cpp
+index 994ae2771..9afa20a71 100644
+--- a/src/gui/MainApplication.cpp
++++ b/src/gui/MainApplication.cpp
+@@ -35,6 +35,19 @@ MainApplication::MainApplication(int& argc, char** argv) :
+ QApplication(argc, argv),
+ m_queuedFile()
+ {
++#if !defined(LMMS_BUILD_WIN32) && !defined(LMMS_BUILD_APPLE) && !defined(LMMS_BUILD_HAIKU) && QT_VERSION >= 0x050000
++ // Work around a bug of KXmlGui < 5.55
++ // which breaks the recent files menu
++ // https://bugs.kde.org/show_bug.cgi?id=337491
++ for (auto child : children())
++ {
++ if (child->inherits("KCheckAcceleratorsInitializer"))
++ {
++ delete child;
++ }
++ }
++#endif
++
+ #if defined(LMMS_BUILD_WIN32) && QT_VERSION >= 0x050000
+ installNativeEventFilter(this);
+ #endif
+diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp
+index e6971f96d..26532eb5b 100644
+--- a/src/gui/MainWindow.cpp
++++ b/src/gui/MainWindow.cpp
+@@ -33,7 +33,6 @@
+ #include <QMenuBar>
+ #include <QMessageBox>
+ #include <QShortcut>
+-#include <QLibrary>
+ #include <QSplitter>
+ #include <QUrl>
+ #include <QWhatsThis>
+@@ -65,21 +64,6 @@
+
+ #include "lmmsversion.h"
+
+-#if !defined(LMMS_BUILD_WIN32) && !defined(LMMS_BUILD_APPLE) && !defined(LMMS_BUILD_HAIKU) && QT_VERSION >= 0x050000
+-//Work around an issue on KDE5 as per https://bugs.kde.org/show_bug.cgi?id=337491#c21
+-void disableAutoKeyAccelerators(QWidget* mainWindow)
+-{
+- using DisablerFunc = void(*)(QWidget*);
+- QLibrary kf5WidgetsAddon("KF5WidgetsAddons", 5);
+- DisablerFunc setNoAccelerators =
+- reinterpret_cast<DisablerFunc>(kf5WidgetsAddon.resolve("_ZN19KAcceleratorManager10setNoAccelEP7QWidget"));
+- if(setNoAccelerators)
+- {
+- setNoAccelerators(mainWindow);
+- }
+- kf5WidgetsAddon.unload();
+-}
+-#endif
+
+
+ MainWindow::MainWindow() :
+@@ -92,9 +76,6 @@ MainWindow::MainWindow() :
+ m_metronomeToggle( 0 ),
+ m_session( Normal )
+ {
+-#if !defined(LMMS_BUILD_WIN32) && !defined(LMMS_BUILD_APPLE) && !defined(LMMS_BUILD_HAIKU) && QT_VERSION >= 0x050000
+- disableAutoKeyAccelerators(this);
+-#endif
+ setAttribute( Qt::WA_DeleteOnClose );
+
+ QWidget * main_widget = new QWidget( this );
diff --git a/media-sound/lmms/lmms-1.2.2-r1.ebuild b/media-sound/lmms/lmms-1.2.2-r2.ebuild
index 2f8132cd28a8..06b9e57473c3 100644
--- a/media-sound/lmms/lmms-1.2.2-r1.ebuild
+++ b/media-sound/lmms/lmms-1.2.2-r2.ebuild
@@ -71,6 +71,7 @@ S="${WORKDIR}/${PN}"
PATCHES=(
"${FILESDIR}/${PN}-1.2.2-no_compress_man.patch" #733284
"${FILESDIR}/${PN}-1.2.2-plugin-path.patch" #907285
+ "${FILESDIR}/${PN}-1.2.2-kwidgetsaddons.patch"
)
src_configure() {