diff --git a/src/app/configs/data/shortcuts.xml b/src/app/configs/data/shortcuts.xml index b37443d1f8fd3..4087c439005bf 100644 --- a/src/app/configs/data/shortcuts.xml +++ b/src/app/configs/data/shortcuts.xml @@ -914,10 +914,12 @@ toggle-piano-keyboard P + 0 toggle-percussion-panel O + 0 inspector diff --git a/src/app/configs/data/shortcuts_azerty.xml b/src/app/configs/data/shortcuts_azerty.xml index 7bca1608df1bc..35fbc6bbebd57 100644 --- a/src/app/configs/data/shortcuts_azerty.xml +++ b/src/app/configs/data/shortcuts_azerty.xml @@ -955,10 +955,12 @@ toggle-piano-keyboard P + 0 toggle-percussion-panel O + 0 inspector diff --git a/src/app/configs/data/shortcuts_mac.xml b/src/app/configs/data/shortcuts_mac.xml index 2f15739dfd674..95722db836921 100644 --- a/src/app/configs/data/shortcuts_mac.xml +++ b/src/app/configs/data/shortcuts_mac.xml @@ -915,10 +915,12 @@ toggle-piano-keyboard P + 0 toggle-percussion-panel O + 0 inspector diff --git a/src/framework/dockwindow/qml/Muse/Dock/dockpanelview.cpp b/src/framework/dockwindow/qml/Muse/Dock/dockpanelview.cpp index a5923a08cc1a2..b56058f6f367b 100644 --- a/src/framework/dockwindow/qml/Muse/Dock/dockpanelview.cpp +++ b/src/framework/dockwindow/qml/Muse/Dock/dockpanelview.cpp @@ -92,6 +92,10 @@ class DockPanelView::DockPanelMenuModel : public muse::uicomponents::AbstractMen connect(model, &AbstractMenuModel::itemChanged, this, [this](MenuItem* item) { updateItem(item); }); + + connect(model, &AbstractMenuModel::destroyed, this, [this]() { + m_customMenuModel = nullptr; + }); } private: diff --git a/src/framework/dockwindow/thirdparty/KDDockWidgets/src/private/LayoutWidget.cpp b/src/framework/dockwindow/thirdparty/KDDockWidgets/src/private/LayoutWidget.cpp index 3e6d81f3a6037..159d2e0ffad85 100644 --- a/src/framework/dockwindow/thirdparty/KDDockWidgets/src/private/LayoutWidget.cpp +++ b/src/framework/dockwindow/thirdparty/KDDockWidgets/src/private/LayoutWidget.cpp @@ -116,6 +116,10 @@ void LayoutWidget::restorePlaceholder(DockWidgetBase *dw, Layouting::Item *item, auto frame = qobject_cast(item->guestAsQObject()); Q_ASSERT(frame); + if (frame->beingDeletedLater()) { + return; + } + if (tabIndex != -1 && frame->dockWidgetCount() >= tabIndex) { frame->insertWidget(dw, tabIndex); } else {