diff --git a/src/view/view.cpp b/src/view/view.cpp index be22e47..e6a665d 100644 --- a/src/view/view.cpp +++ b/src/view/view.cpp @@ -487,6 +487,10 @@ namespace umbriel { m_dragOpacity = kDragOpacity; setFadeAlpha(m_fadeAlpha); m_effectiveOpacityCommitPending = false; + if (m_pinned) { + wlr_scene_node_place_above(&m_server->dragShadowTree()->node, &m_server->pinnedTree()->node); + wlr_scene_node_place_above(&m_server->dragTree()->node, &m_server->dragShadowTree()->node); + } wlr_scene_node_reparent(&m_sceneTree->node, m_server->dragTree()); reparentShadow(m_server->dragShadowTree()); setNodeEnabled(true); @@ -498,6 +502,8 @@ namespace umbriel { m_dragOpacity = 1.0F; m_effectiveOpacityCommitPending = false; setFadeAlpha(m_fadeAlpha); + wlr_scene_node_place_below(&m_server->dragTree()->node, &m_server->dragIconTree()->node); + wlr_scene_node_place_below(&m_server->dragShadowTree()->node, &m_server->dragTree()->node); if (ScratchpadManager* scratchpad = m_server->scratchpadManager(); scratchpad != nullptr && scratchpad->contains(this)) { scratchpad->restorePresentation(this);