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

On March 29th, 2012, 8:28 a.m., Thomas Lübking wrote:

kwin/toplevel.cpp (Diff revision 1)
Toplevel::Toplevel(Workspace* ws)
51
    connect(this, SIGNAL(geometryChanged()), SLOT(checkScreen()));
Too late.
setGeometry and plainResize internally require the screen up-to-date at an earlier time as they emit that signal, so checkScreen has to be called there right after adjusting the geometry and before doing all the checkWorkspace, checkActiveScreen, updatedRules, ... whatever stuff.

On March 29th, 2012, 8:43 a.m., Martin Gräßlin wrote:

ok, given that I will discard the review request. It's not worth it and I only wanted the change if it is save. I can hopefully do my experiment without it :-)
Actually it probably is - eg. we currently update the stacking order for *every* geometry update while it's actually (probably  ;-) only required on screen changes (so i wanted to "fix" that for 4.9 anyway)

We just have to "do it right"(tm) - in doubt i'll attempt to modify the patch in this regard.

- Thomas


On March 29th, 2012, 6:45 a.m., Martin Gräßlin wrote:

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

Updated March 29, 2012, 6:45 a.m.

Description

When the getter for Toplevel's screen was invoked the screen was actually calculated each time. Instead of this the number gets
cached and only updated when the Toplevel's geometry changes or the number of screens or their geometry.

Why did I do this change? For something new I want to experiment with I need a signal when the Toplevel's screen is changed.

Testing

Currently running the patch on multi-screen setup and played around with resizing and desktop grid. It's on top of the kephal patches so I am testing both.

Diffs

  • kwin/toplevel.h (32581a5)
  • kwin/toplevel.cpp (00bd7dd)

View Diff