diff --git a/desktop/kde/applications/kate/files/36ede44f.patch b/desktop/kde/applications/kate/files/36ede44f.patch new file mode 100644 index 0000000000..eace0f857f --- /dev/null +++ b/desktop/kde/applications/kate/files/36ede44f.patch @@ -0,0 +1,153 @@ +From 36ede44fc7bef479e94f76121309a900bee2b29f Mon Sep 17 00:00:00 2001 +From: Christoph Cullmann +Date: Mon, 16 May 2022 19:49:02 +0200 +Subject: [PATCH] Revert "Create filebrowser on demand" + +This reverts commit 7caed2681d18d9ea08c35f160e88fb44a2e52769. + +BUG: 453795 + +revert full lazy loading, doesn't work this way +--- + addons/filebrowser/katefilebrowser.cpp | 2 - + addons/filebrowser/katefilebrowserplugin.cpp | 41 ++++++-------------- + addons/filebrowser/katefilebrowserplugin.h | 14 +++---- + 3 files changed, 18 insertions(+), 39 deletions(-) + +diff --git a/addons/filebrowser/katefilebrowser.cpp b/addons/filebrowser/katefilebrowser.cpp +index 54c1fa1fb..a1e5e4eba 100644 +--- a/addons/filebrowser/katefilebrowser.cpp ++++ b/addons/filebrowser/katefilebrowser.cpp +@@ -115,8 +115,6 @@ KateFileBrowser::KateFileBrowser(KTextEditor::MainWindow *mainWindow, QWidget *p + connect(m_mainWindow, &KTextEditor::MainWindow::viewChanged, this, &KateFileBrowser::autoSyncFolder); + + connect(m_dirOperator, &KDirOperator::contextMenuAboutToShow, this, &KateFileBrowser::contextMenuAboutToShow); +- +- autoSyncFolder(); + } + + KateFileBrowser::~KateFileBrowser() +diff --git a/addons/filebrowser/katefilebrowserplugin.cpp b/addons/filebrowser/katefilebrowserplugin.cpp +index f03c78698..3e415b025 100644 +--- a/addons/filebrowser/katefilebrowserplugin.cpp ++++ b/addons/filebrowser/katefilebrowserplugin.cpp +@@ -52,10 +52,7 @@ KTextEditor::ConfigPage *KateFileBrowserPlugin::configPage(int number, QWidget * + if (number != 0) { + return nullptr; + } +- if (!m_views[0]->m_fileBrowser) { +- m_views[0]->createFileBrowser(true); +- } +- return new KateFileBrowserConfigPage(parent, m_views[0]->m_fileBrowser.get()); ++ return new KateFileBrowserConfigPage(parent, m_views[0]->m_fileBrowser); + } + // END KateFileBrowserPlugin + +@@ -67,50 +64,34 @@ KateFileBrowserPluginView::KateFileBrowserPluginView(KTextEditor::Plugin *plugin + KTextEditor::MainWindow::Left, + QIcon::fromTheme(QStringLiteral("document-open")), + i18n("Filesystem"))) ++ , m_fileBrowser(new KateFileBrowser(mainWindow, m_toolView)) + , m_mainWindow(mainWindow) + { + m_toolView->installEventFilter(this); +- connect(m_toolView.get(), SIGNAL(toolVisibleChanged(bool)), this, SLOT(createFileBrowser(bool))); + } + +-void KateFileBrowserPluginView::readSessionConfig(const KConfigGroup &config) ++KateFileBrowserPluginView::~KateFileBrowserPluginView() + { +- if (m_fileBrowser) { +- m_fileBrowser->readSessionConfig(config); +- } else { +- cg.reset(new KConfigGroup(config)); +- } ++ // cleanup, kill toolview + console ++ delete m_fileBrowser->parentWidget(); + } + +-void KateFileBrowserPluginView::writeSessionConfig(KConfigGroup &config) ++void KateFileBrowserPluginView::readSessionConfig(const KConfigGroup &config) + { +- if (m_fileBrowser) { +- m_fileBrowser->writeSessionConfig(config); +- } ++ m_fileBrowser->readSessionConfig(config); + } + +-void KateFileBrowserPluginView::createFileBrowser(bool visible) ++void KateFileBrowserPluginView::writeSessionConfig(KConfigGroup &config) + { +- if (!visible) { +- return; +- } +- +- // we must not have a filebrowser +- Q_ASSERT(!m_fileBrowser); +- +- disconnect(m_toolView.get(), SIGNAL(toolVisibleChanged(bool)), this, SLOT(createFileBrowser(bool))); +- m_fileBrowser = std::make_unique(m_mainWindow, m_toolView.get()); +- m_fileBrowser->readSessionConfig(*cg); +- // delete the config now +- cg.reset(); ++ m_fileBrowser->writeSessionConfig(config); + } + + bool KateFileBrowserPluginView::eventFilter(QObject *obj, QEvent *event) + { + if (event->type() == QEvent::KeyPress) { + QKeyEvent *ke = static_cast(event); +- if ((obj == m_toolView.get()) && (ke->key() == Qt::Key_Escape)) { +- m_mainWindow->hideToolView(m_toolView.get()); ++ if ((obj == m_toolView) && (ke->key() == Qt::Key_Escape)) { ++ m_mainWindow->hideToolView(m_toolView); + event->accept(); + return true; + } +diff --git a/addons/filebrowser/katefilebrowserplugin.h b/addons/filebrowser/katefilebrowserplugin.h +index 2517d3453..9fb6610c4 100644 +--- a/addons/filebrowser/katefilebrowserplugin.h ++++ b/addons/filebrowser/katefilebrowserplugin.h +@@ -11,15 +11,12 @@ + #ifndef KATE_FILEBROWSER_PLUGIN_H + #define KATE_FILEBROWSER_PLUGIN_H + +-#include + #include + #include + #include + #include + #include + +-#include +- + class KateFileBrowser; + class KateFileBrowserPluginView; + +@@ -56,16 +53,19 @@ public: + */ + KateFileBrowserPluginView(KTextEditor::Plugin *plugin, KTextEditor::MainWindow *mainWindow); + ++ /** ++ * Virtual destructor. ++ */ ++ ~KateFileBrowserPluginView() override; ++ + void readSessionConfig(const KConfigGroup &config) override; + void writeSessionConfig(KConfigGroup &config) override; + + private: + bool eventFilter(QObject *, QEvent *) override; +- Q_SLOT void createFileBrowser(bool visible); + +- std::unique_ptr m_toolView; +- std::unique_ptr m_fileBrowser = nullptr; +- std::unique_ptr cg; ++ QWidget *m_toolView; ++ KateFileBrowser *m_fileBrowser; + KTextEditor::MainWindow *m_mainWindow; + friend class KateFileBrowserPlugin; + }; +-- +GitLab + diff --git a/desktop/kde/applications/kate/files/e002696b.patch b/desktop/kde/applications/kate/files/e002696b.patch new file mode 100644 index 0000000000..dd29e76b2d --- /dev/null +++ b/desktop/kde/applications/kate/files/e002696b.patch @@ -0,0 +1,38 @@ +From e002696b0673dff7ec9584e00b1546d2f850121c Mon Sep 17 00:00:00 2001 +From: Christoph Cullmann +Date: Mon, 16 May 2022 19:47:04 +0200 +Subject: [PATCH] Revert "fix crash on file browser activation" + +This reverts commit a28624c877cfe6db6ae6ab257f95af36213b25e0. + +=> this fix is not enough, the KConfigGroup is just not valid anymore here +in some cases + +BUG: 453795 +--- + addons/filebrowser/katefilebrowserplugin.cpp | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +diff --git a/addons/filebrowser/katefilebrowserplugin.cpp b/addons/filebrowser/katefilebrowserplugin.cpp +index 6df25239a..f03c78698 100644 +--- a/addons/filebrowser/katefilebrowserplugin.cpp ++++ b/addons/filebrowser/katefilebrowserplugin.cpp +@@ -100,12 +100,9 @@ void KateFileBrowserPluginView::createFileBrowser(bool visible) + + disconnect(m_toolView.get(), SIGNAL(toolVisibleChanged(bool)), this, SLOT(createFileBrowser(bool))); + m_fileBrowser = std::make_unique(m_mainWindow, m_toolView.get()); +- +- // read config only if there yet, see bug 453234 +- if (cg) { +- m_fileBrowser->readSessionConfig(*cg); +- cg.reset(); +- } ++ m_fileBrowser->readSessionConfig(*cg); ++ // delete the config now ++ cg.reset(); + } + + bool KateFileBrowserPluginView::eventFilter(QObject *obj, QEvent *event) +-- +GitLab + diff --git a/desktop/kde/applications/kate/pspec.xml b/desktop/kde/applications/kate/pspec.xml index 4c2d6e409c..715034cf0d 100755 --- a/desktop/kde/applications/kate/pspec.xml +++ b/desktop/kde/applications/kate/pspec.xml @@ -45,6 +45,8 @@ kate-17.04.0-allow-root.patch kwrite-17.04.0-allow-root.patch + e002696b.patch + 36ede44f.patch @@ -99,6 +101,13 @@ + + 2022-05-25 + 22.04.1 + Rebuild. + Mustafa Cinasal + muscnsl@gmail.com + 2022-05-17 22.04.1