Don't show middle dock indicator if frame isn't dockable

This was implemented but the logic was wrong.
Fixes central persistent showing the central indicator.

(cherry-picked from 6166e5805c)
This commit is contained in:
Sergio Martins
2022-06-19 13:06:09 +01:00
parent 28cc64be4a
commit 8a0fa46deb

View File

@@ -148,7 +148,7 @@ bool DropIndicatorOverlay::dropIndicatorVisible(DropLocation dropLoc) const
if (isTheOnlyFrame && !DockRegistry::self()->isProbablyObscured(m_hoveredFrame->view()->window(), windowBeingDragged))
return false;
} else if (dropLoc == DropLocation_Center) {
if (!m_hoveredFrame)
if (!m_hoveredFrame || !m_hoveredFrame->isDockable())
return false;
if (auto tabbingAllowedFunc = Config::self().tabbingAllowedFunc()) {
@@ -157,7 +157,7 @@ bool DropIndicatorOverlay::dropIndicatorVisible(DropLocation dropLoc) const
}
// Only allow to dock to center if the affinities match
if (!DockRegistry::self()->affinitiesMatch(m_hoveredFrame->affinities(), windowBeingDragged->affinities()) && m_hoveredFrame->isDockable())
if (!DockRegistry::self()->affinitiesMatch(m_hoveredFrame->affinities(), windowBeingDragged->affinities()))
return false;
} else {
qWarning() << Q_FUNC_INFO << "Unknown drop indicator location" << dropLoc;