Drop usage of DecoratedClient::handle in DecorationBridge::update
We can find the Client for the Decoration without needing to go by the handle.
This commit is contained in:
parent
21dca7ac14
commit
c23b3ac0d8
1 changed files with 5 additions and 2 deletions
|
@ -25,6 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "client.h"
|
||||
#include "composite.h"
|
||||
#include "scene.h"
|
||||
#include "workspace.h"
|
||||
|
||||
// KDecoration
|
||||
#include <KDecoration2/Decoration>
|
||||
|
@ -115,8 +116,10 @@ std::unique_ptr<KDecoration2::DecorationSettingsPrivate> DecorationBridge::setti
|
|||
void DecorationBridge::update(KDecoration2::Decoration *decoration, const QRect &geometry)
|
||||
{
|
||||
// TODO: remove check once all compositors implement it
|
||||
if (Renderer *renderer = static_cast<DecoratedClientImpl*>(decoration->client()->handle())->renderer()) {
|
||||
renderer->schedule(geometry);
|
||||
if (Client *c = Workspace::self()->findClient([decoration] (const Client *client) { return client->decoration() == decoration; })) {
|
||||
if (Renderer *renderer = c->decoratedClient()->renderer()) {
|
||||
renderer->schedule(geometry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue