This review has been submitted with commit 86b24178296a1318c7399f2f20f8f5b71271ac74 by Thomas Lübking to branch master.
On June 9th, 2012, 11:47 a.m., Thomas Lübking wrote:
Review request for kwin, Ivan Čukić and Martin Gräßlin.
By Thomas Lübking.
Updated June 9, 2012, 11:47 a.m.
if for whatever reason (let's say, the window is on the only activity) ::setOnActivities() enters the setOnAllActivities(true) branch and activityList is NOT empty, ::setOnAllActivities() will fail the isOnAllActivities() test (which only checks for this condition) and enter ::setOnActivities() with an empty stringlist leading to the setOnAllActivities(true) branch which will still fail because the activityList is (never...) cleared outside the recursion (i didn't like the code on first sight but didn't see this either)
Since ::setOnAllActivities(true) does nothing but calling ::setOnActivities(QStringList()) there's really no point in calling it from ::setOnActivities() - the relevant part is clearing the list and updating the X11 property.
compiles, runs, i can still mark windows on all or random activities - kinda waiting for fix confirmation from Sandro, but the code seemed suspicious anyway