summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/lmms/files/lmms-1.2.2-kwidgetsaddons.patch')
-rw-r--r--media-sound/lmms/files/lmms-1.2.2-kwidgetsaddons.patch75
1 files changed, 75 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 );