Don't manually undo pending shortcut changes

This causes user-after-free because the KShortcutsEditor is already destroyed

undo happends automatically when the editor is destroyed

BUG: 475083
master
Nicolas Fella 11 months ago committed by Vlad Zahorodnii
parent 1d77f896df
commit cb4e972065

@ -52,12 +52,6 @@ InvertEffectConfig::InvertEffectConfig(QObject *parent, const KPluginMetaData &d
layout->addWidget(mShortcutEditor);
}
InvertEffectConfig::~InvertEffectConfig()
{
// Undo (only) unsaved changes to global key shortcuts
mShortcutEditor->undo();
}
void InvertEffectConfig::load()
{
KCModule::load();

@ -21,7 +21,6 @@ class InvertEffectConfig : public KCModule
Q_OBJECT
public:
explicit InvertEffectConfig(QObject *parent, const KPluginMetaData &data);
~InvertEffectConfig() override;
public Q_SLOTS:
void save() override;

@ -75,12 +75,6 @@ MagnifierEffectConfig::MagnifierEffectConfig(QObject *parent, const KPluginMetaD
m_ui.editor->addCollection(m_actionCollection);
}
MagnifierEffectConfig::~MagnifierEffectConfig()
{
// Undo (only) unsaved changes to global key shortcuts
m_ui.editor->undo();
}
void MagnifierEffectConfig::save()
{
qDebug() << "Saving config of Magnifier";

@ -30,7 +30,6 @@ class MagnifierEffectConfig : public KCModule
Q_OBJECT
public:
explicit MagnifierEffectConfig(QObject *parent, const KPluginMetaData &data);
~MagnifierEffectConfig() override;
void save() override;
void defaults() override;

@ -59,12 +59,6 @@ MouseClickEffectConfig::MouseClickEffectConfig(QObject *parent, const KPluginMet
addConfig(MouseClickConfig::self(), &m_ui);
}
MouseClickEffectConfig::~MouseClickEffectConfig()
{
// Undo (only) unsaved changes to global key shortcuts
m_ui.editor->undo();
}
void MouseClickEffectConfig::save()
{
KCModule::save();

@ -30,7 +30,6 @@ class MouseClickEffectConfig : public KCModule
Q_OBJECT
public:
explicit MouseClickEffectConfig(QObject *parent, const KPluginMetaData &data);
~MouseClickEffectConfig() override;
void save() override;

@ -69,12 +69,6 @@ MouseMarkEffectConfig::MouseMarkEffectConfig(QObject *parent, const KPluginMetaD
});
}
MouseMarkEffectConfig::~MouseMarkEffectConfig()
{
// Undo (only) unsaved changes to global key shortcuts
m_ui.editor->undo();
}
void MouseMarkEffectConfig::load()
{
KCModule::load();

@ -31,7 +31,6 @@ class MouseMarkEffectConfig : public KCModule
Q_OBJECT
public:
explicit MouseMarkEffectConfig(QObject *parent, const KPluginMetaData &data);
~MouseMarkEffectConfig() override;
void load() override;
void save() override;

@ -68,12 +68,6 @@ OverviewEffectConfig::OverviewEffectConfig(QObject *parent, const KPluginMetaDat
connect(ui.shortcutsEditor, &KShortcutsEditor::keyChange, this, &KCModule::markAsChanged);
}
OverviewEffectConfig::~OverviewEffectConfig()
{
// If save() is called, undo() has no effect.
ui.shortcutsEditor->undo();
}
void OverviewEffectConfig::save()
{
KCModule::save();

@ -19,7 +19,6 @@ class OverviewEffectConfig : public KCModule
public:
explicit OverviewEffectConfig(QObject *parent, const KPluginMetaData &data);
~OverviewEffectConfig() override;
public Q_SLOTS:
void save() override;

@ -45,12 +45,6 @@ ShowPaintEffectConfig::ShowPaintEffectConfig(QObject *parent, const KPluginMetaD
connect(m_ui->shortcutsEditor, &KShortcutsEditor::keyChange, this, &KCModule::markAsChanged);
}
ShowPaintEffectConfig::~ShowPaintEffectConfig()
{
// If save() is called, undo() has no effect.
m_ui->shortcutsEditor->undo();
}
void ShowPaintEffectConfig::save()
{
KCModule::save();

@ -22,7 +22,6 @@ class ShowPaintEffectConfig : public KCModule
public:
explicit ShowPaintEffectConfig(QObject *parent, const KPluginMetaData &data);
~ShowPaintEffectConfig() override;
public Q_SLOTS:
void save() override;

@ -64,12 +64,6 @@ ThumbnailAsideEffectConfig::ThumbnailAsideEffectConfig(QObject *parent, const KP
m_ui.editor->addCollection(m_actionCollection);
}
ThumbnailAsideEffectConfig::~ThumbnailAsideEffectConfig()
{
// Undo (only) unsaved changes to global key shortcuts
m_ui.editor->undo();
}
void ThumbnailAsideEffectConfig::save()
{
KCModule::save();

@ -30,7 +30,6 @@ class ThumbnailAsideEffectConfig : public KCModule
Q_OBJECT
public:
explicit ThumbnailAsideEffectConfig(QObject *parent, const KPluginMetaData &data);
~ThumbnailAsideEffectConfig() override;
void save() override;

@ -43,12 +43,6 @@ TilesEditorEffectConfig::TilesEditorEffectConfig(QObject *parent, const KPluginM
connect(ui.shortcutsEditor, &KShortcutsEditor::keyChange, this, &KCModule::markAsChanged);
}
TilesEditorEffectConfig::~TilesEditorEffectConfig()
{
// If save() is called, undo() has no effect.
ui.shortcutsEditor->undo();
}
void TilesEditorEffectConfig::save()
{
KCModule::save();

@ -19,7 +19,6 @@ class TilesEditorEffectConfig : public KCModule
public:
explicit TilesEditorEffectConfig(QObject *parent, const KPluginMetaData &data);
~TilesEditorEffectConfig() override;
public Q_SLOTS:
void save() override;

@ -68,12 +68,6 @@ WindowViewEffectConfig::WindowViewEffectConfig(QObject *parent, const KPluginMet
connect(ui.shortcutsEditor, &KShortcutsEditor::keyChange, this, &KCModule::markAsChanged);
}
WindowViewEffectConfig::~WindowViewEffectConfig()
{
// If save() is called, undo() has no effect.
ui.shortcutsEditor->undo();
}
void WindowViewEffectConfig::save()
{
KCModule::save();

@ -19,7 +19,6 @@ class WindowViewEffectConfig : public KCModule
public:
explicit WindowViewEffectConfig(QObject *parent, const KPluginMetaData &data);
~WindowViewEffectConfig() override;
public Q_SLOTS:
void save() override;

@ -120,12 +120,6 @@ ZoomEffectConfig::ZoomEffectConfig(QObject *parent, const KPluginMetaData &data)
m_ui->editor->addCollection(actionCollection);
}
ZoomEffectConfig::~ZoomEffectConfig()
{
// Undo (only) unsaved changes to global key shortcuts
m_ui->editor->undo();
}
void ZoomEffectConfig::save()
{
m_ui->editor->save(); // undo() will restore to this state from now on

@ -29,7 +29,6 @@ class ZoomEffectConfig : public KCModule
Q_OBJECT
public:
explicit ZoomEffectConfig(QObject *parent, const KPluginMetaData &data);
~ZoomEffectConfig() override;
public Q_SLOTS:
void save() override;

Loading…
Cancel
Save