This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103567/

Review request for kwin.
By Martin Gräßlin.

Updated Jan. 4, 2012, 5:35 p.m.

Changes

* rebased on current master (no parent diff needed)
* use invokeMethod for closeWindow

Description

EffectWindow becomes a QObject and make use of properties in EffectWindow where possible instead of inheritance
    
If possible use the property to Toplevel or Client instead of the pure virtual methods. This makes it easier to get a stable ABI. Adding new methods to the class no longer requires to add a pure virtual method.
    
From a performance point of view this change should not matter. Most EffectWindow methods are not invoked during the repaint chain. But only in response to an event like a window got added. There the overhead does not really matter as well the previous implementation made strong use of dynamic casts which are also not knwon for being very fast.

Some virtuals are still there and should be removed. E.g. isManaged needs a new method and property in Toplevel. Some other virtuals will stay - e.g. addRepaint. Some virtuals should go into a d-pointer: e.g setData and data.

Testing

tested some effects, properties in general tested through kwin scripting

Diffs (updated)

  • kwin/composite.cpp (55a7144)
  • kwin/effects.h (f4ad2fb)
  • kwin/effects.cpp (6c252c9)
  • kwin/libkwineffects/kwineffects.h (780cc89)
  • kwin/libkwineffects/kwineffects.cpp (1ad53bc)

View Diff