[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kwin] /: Introduce a method Workspace::markXStackingOrderAsDirty
From: Martin_Flöser <null () kde ! org>
Date: 2017-07-01 6:22:06
Message-ID: E1dRBnC-0003pc-PH () code ! kde ! org
[Download RAW message or body]
Git commit 0d8f11405e1aba37ae144ae8a5e7e24cba85cb74 by Martin Flöser.
Committed on 01/07/2017 at 06:21.
Pushed by graesslin into branch 'master'.
Introduce a method Workspace::markXStackingOrderAsDirty
This method replaces the calls x_stacking_dirty = true in the code base
allowing for further refactoring of that functionality.
M +1 -1 events.cpp
M +1 -1 layers.cpp
M +15 -10 workspace.cpp
M +2 -0 workspace.h
https://commits.kde.org/kwin/0d8f11405e1aba37ae144ae8a5e7e24cba85cb74
diff --git a/events.cpp b/events.cpp
index d100747a1..931c95c5a 100644
--- a/events.cpp
+++ b/events.cpp
@@ -330,7 +330,7 @@ bool Workspace::workspaceEvent(xcb_generic_event_t *e)
break;
case XCB_CONFIGURE_NOTIFY:
if (reinterpret_cast<xcb_configure_notify_event_t*>(e)->event == \
rootWindow())
- x_stacking_dirty = true;
+ markXStackingOrderAsDirty();
break;
};
diff --git a/layers.cpp b/layers.cpp
index b1c02ccb1..8290bf373 100644
--- a/layers.cpp
+++ b/layers.cpp
@@ -226,7 +226,7 @@ void Workspace::propagateClients(bool propagate_new_clients)
// Make the cached stacking order invalid here, in case we need the new stacking \
order before we get // the matching event, due to X being asynchronous.
- x_stacking_dirty = true;
+ markXStackingOrderAsDirty();
}
/*!
diff --git a/workspace.cpp b/workspace.cpp
index a2fbb6ab3..c7c9d1dff 100644
--- a/workspace.cpp
+++ b/workspace.cpp
@@ -392,7 +392,7 @@ void Workspace::init()
if (!stacking_order.contains(c)) // It'll be updated later, \
and updateToolWindows() requires
stacking_order.append(c); // c to be in stacking_order
}
- x_stacking_dirty = true;
+ markXStackingOrderAsDirty();
updateStackingOrder(true);
updateClientArea();
if (c->wantsInput()) {
@@ -406,7 +406,7 @@ void Workspace::init()
QRect area = clientArea(PlacementArea, \
Screens::self()->current(), c->desktop()); c->placeIn(area);
}
- x_stacking_dirty = true;
+ markXStackingOrderAsDirty();
updateStackingOrder(true);
updateClientArea();
if (c->wantsInput()) {
@@ -416,7 +416,7 @@ void Workspace::init()
);
connect(c, &ShellClient::windowHidden, this,
[this] {
- x_stacking_dirty = true;
+ markXStackingOrderAsDirty();
updateStackingOrder(true);
updateClientArea();
}
@@ -431,7 +431,7 @@ void Workspace::init()
}
clientHidden(c);
emit clientRemoved(c);
- x_stacking_dirty = true;
+ markXStackingOrderAsDirty();
updateStackingOrder(true);
updateClientArea();
}
@@ -562,7 +562,7 @@ void Workspace::addClient(Client* c)
unconstrained_stacking_order.append(c); // Raise if it hasn't got any \
stacking position yet
if (!stacking_order.contains(c)) // It'll be updated later, and \
updateToolWindows() requires stacking_order.append(c); // c to be in \
stacking_order
- x_stacking_dirty = true;
+ markXStackingOrderAsDirty();
updateClientArea(); // This cannot be in manage(), because the client got added \
only now updateClientLayer(c);
if (c->isDesktop()) {
@@ -586,7 +586,7 @@ void Workspace::addClient(Client* c)
void Workspace::addUnmanaged(Unmanaged* c)
{
unmanaged.append(c);
- x_stacking_dirty = true;
+ markXStackingOrderAsDirty();
}
/**
@@ -622,7 +622,7 @@ void Workspace::removeClient(Client* c)
clients.removeAll(c);
m_allClients.removeAll(c);
desktops.removeAll(c);
- x_stacking_dirty = true;
+ markXStackingOrderAsDirty();
attention_chain.removeAll(c);
Group* group = findGroup(c->window());
if (group != NULL)
@@ -652,7 +652,7 @@ void Workspace::removeUnmanaged(Unmanaged* c)
assert(unmanaged.contains(c));
unmanaged.removeAll(c);
emit unmanagedRemoved(c);
- x_stacking_dirty = true;
+ markXStackingOrderAsDirty();
}
void Workspace::addDeleted(Deleted* c, Toplevel *orig)
@@ -671,7 +671,7 @@ void Workspace::addDeleted(Deleted* c, Toplevel *orig)
} else {
stacking_order.append(c);
}
- x_stacking_dirty = true;
+ markXStackingOrderAsDirty();
connect(c, SIGNAL(needsRepaint()), m_compositor, SLOT(scheduleRepaint()));
}
@@ -682,7 +682,7 @@ void Workspace::removeDeleted(Deleted* c)
deleted.removeAll(c);
unconstrained_stacking_order.removeAll(c);
stacking_order.removeAll(c);
- x_stacking_dirty = true;
+ markXStackingOrderAsDirty();
if (c->wasClient() && m_compositor) {
m_compositor->updateCompositeBlocking();
}
@@ -1766,5 +1766,10 @@ Toplevel *Workspace::findInternal(QWindow *w) const
}
}
+void Workspace::markXStackingOrderAsDirty()
+{
+ x_stacking_dirty = true;
+}
+
} // namespace
diff --git a/workspace.h b/workspace.h
index b390f9614..b4487dc51 100644
--- a/workspace.h
+++ b/workspace.h
@@ -546,6 +546,8 @@ private:
static NET::WindowType txtToWindowType(const char* txt);
static bool sessionInfoWindowTypeMatch(Client* c, SessionInfo* info);
+ void markXStackingOrderAsDirty();
+
AbstractClient* active_client;
AbstractClient* last_active_client;
AbstractClient* most_recently_raised; // Used ONLY by raiseOrLowerClient()
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic