From kwin Sat Dec 29 19:52:10 2012 From: =?utf-8?q?Thomas_L=C3=BCbking?= Date: Sat, 29 Dec 2012 19:52:10 +0000 To: kwin Subject: Re: Review Request: skip resetting states if client was untabbed for release Message-Id: <20121229195210.4880.6238 () vidsolbach ! de> X-MARC-Message: https://marc.info/?l=kwin&m=135681074111645 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============6899205744849130087==" --===============6899205744849130087== Content-Type: multipart/alternative; boundary="===============4217209661857923151==" --===============4217209661857923151== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable > On Dec. 29, 2012, 6:52 p.m., Martin Gr=C3=A4=C3=9Flin wrote: > > is it superseeded by 108008? To fix the bug, yes. It's still pointless action on this occasion (we eg. re/unmaximize a client= that gets removed the very next moment anyway) - Thomas ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/108003/#review24206 ----------------------------------------------------------- On Dec. 29, 2012, 2:55 p.m., Thomas L=C3=BCbking wrote: > = > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/108003/ > ----------------------------------------------------------- > = > (Updated Dec. 29, 2012, 2:55 p.m.) > = > = > Review request for kwin and Martin Gr=C3=A4=C3=9Flin. > = > = > Description > ------- > = > summarized. > the problem here is that ::releaseWindow calls finishCompositing() before= workspace()->removeClient(this, Allowed) where the tabgroup restores the f= ormer state, causing slots on NULL effectwindows being invoked and the effe= ct is not prepared for that. > = > Other options would be to > a) check the effect window everytime before emitting a slot... > b) fully untab the window before emitting the clientRemoved signal (but t= hat's pointless) > c) explicitly disconnecting EffectsHandlerImpl from Client/Toplevel in eg= . EffectsHandlerImpl::slotWindowClosed() > = > I actually think (c) is more reasonable but skipping pointless action won= 't harm either and has faar more narrow impact (so not sure whether we shou= ld disconnect the client in slotWindowClosed() - doesn't seem critical eith= er, though) > = > = > This addresses bug 310142. > http://bugs.kde.org/show_bug.cgi?id=3D310142 > = > = > Diffs > ----- > = > kwin/client.h e8ae850 = > kwin/client.cpp b555c11 = > kwin/workspace.cpp b9e137d = > = > Diff: http://git.reviewboard.kde.org/r/108003/diff/ > = > = > Testing > ------- > = > Nope, i don't wobble nor maximize ;-) > = > = > Thanks, > = > Thomas L=C3=BCbking > = > --===============4217209661857923151== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable
This is an automatically generated e-mail. To reply, visit: http://git.revie= wboard.kde.org/r/108003/

On December 29th, 2012, 6:52 p.m., Martin G= r=C3=A4=C3=9Flin wrote:

is it sup=
erseeded by 108008?
To fix the =
bug, yes.
It's still pointless action on this occasion (we eg. re/unmaximize a cl=
ient that gets removed the very next moment anyway)

- Thomas


On December 29th, 2012, 2:55 p.m., Thomas L=C3=BCbking wrote:

Review request for kwin and Martin Gr=C3=A4=C3=9Flin.
By Thomas L=C3=BCbking.

Updated Dec. 29, 2012, 2:55 p.m.

Descripti= on

summarized.
the problem here is that ::releaseWindow calls finishCompositing() before w=
orkspace()->removeClient(this, Allowed) where the tabgroup restores the =
former state, causing slots on NULL effectwindows being invoked and the eff=
ect is not prepared for that.

Other options would be to
a) check the effect window everytime before emitting a slot...
b) fully untab the window before emitting the clientRemoved signal (but tha=
t's pointless)
c) explicitly disconnecting EffectsHandlerImpl from Client/Toplevel in eg. =
EffectsHandlerImpl::slotWindowClosed()

I actually think (c) is more reasonable but skipping pointless action won&#=
39;t harm either and has faar more narrow impact (so not sure whether we sh=
ould disconnect the client in slotWindowClosed() - doesn't seem critica=
l either, though)

Testing <= /h1>
Nope, i don't wobble nor maximize ;-)
Bugs: 310142

Diffs=

  • kwin/client.h (e8ae850)
  • kwin/client.cpp (b555c11)
  • kwin/workspace.cpp (b9e137d)

View Diff

--===============4217209661857923151==-- --===============6899205744849130087== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kwin mailing list kwin@kde.org https://mail.kde.org/mailman/listinfo/kwin --===============6899205744849130087==--