| 90 | //******************************* |
| 91 | |
| 92 | void Workspace::updateStackingOrder(bool propagate_new_windows) |
| 93 | { |
| 94 | if (m_blockStackingUpdates > 0) { |
| 95 | if (propagate_new_windows) { |
| 96 | m_blockedPropagatingNewWindows = true; |
| 97 | } |
| 98 | return; |
| 99 | } |
| 100 | QList<Window *> new_stacking_order = constrainedStackingOrder(); |
| 101 | bool changed = (force_restacking || new_stacking_order != stacking_order); |
| 102 | force_restacking = false; |
| 103 | stacking_order = new_stacking_order; |
| 104 | if (changed || propagate_new_windows) { |
| 105 | propagateWindows(propagate_new_windows); |
| 106 | |
| 107 | for (int i = 0; i < stacking_order.size(); ++i) { |
| 108 | stacking_order[i]->setStackingOrder(i); |
| 109 | } |
| 110 | |
| 111 | Q_EMIT stackingOrderChanged(); |
| 112 | |
| 113 | if (m_activeWindow) { |
| 114 | m_activeWindow->updateMouseGrab(); |
| 115 | } |
| 116 | } |
| 117 | } |
| 118 | |
| 119 | /** |
| 120 | * Some fullscreen effects have to raise the screenedge on top of an input window, thus all windows |
no test coverage detected