Revert "kwin: fixing high cpu usage bugs"

This reverts commit d07964e0af95911a97c3f474b694570cb279878c.

Conflicts:

	kwin/deleted.h
This commit is contained in:
Thomas Lübking 2012-04-23 19:22:50 +02:00
parent c2940d8889
commit a569b5c785
2 changed files with 1 additions and 11 deletions

View file

@ -67,15 +67,6 @@ void Deleted::copyToDeleted(Toplevel* c)
{ {
assert(dynamic_cast< Deleted* >(c) == NULL); assert(dynamic_cast< Deleted* >(c) == NULL);
Toplevel::copyToDeleted(c); Toplevel::copyToDeleted(c);
// In some cases the window has been deleted before the sync request which marks
// the window ready for painting has finished. This is especially troublesome
// when effects reference the deleted window and the unreferencing is part of
// the rendering pass (e.g. Effect::postPaintScreen/postPaintWindow), which will
// never be executed because we remove it every time from the stacking list in
// Workspace::performCompositing.
if (!c->readyForPainting()) {
QTimer::singleShot(0, this, SLOT(discard()));
}
desk = c->desktop(); desk = c->desktop();
activityList = c->activities(); activityList = c->activities();
contentsRect = QRect(c->clientPos(), c->clientSize()); contentsRect = QRect(c->clientPos(), c->clientSize());

View file

@ -35,6 +35,7 @@ public:
// used by effects to keep the window around for e.g. fadeout effects when it's destroyed // used by effects to keep the window around for e.g. fadeout effects when it's destroyed
void refWindow(); void refWindow();
void unrefWindow(bool delay = false); void unrefWindow(bool delay = false);
void discard(allowed_t);
virtual int desktop() const; virtual int desktop() const;
virtual QStringList activities() const; virtual QStringList activities() const;
virtual QPoint clientPos() const; virtual QPoint clientPos() const;
@ -61,8 +62,6 @@ public:
virtual Layer layer() const { virtual Layer layer() const {
return m_layer; return m_layer;
} }
public slots:
void discard(allowed_t = Allowed);
protected: protected:
virtual void debug(QDebug& stream) const; virtual void debug(QDebug& stream) const;
virtual bool shouldUnredirect() const; virtual bool shouldUnredirect() const;