Review Request 116712: [kwin] Disconnect lambda connection on destroy of slide effect

Martin Gräßlin mgraesslin at kde.org
Wed Mar 12 06:43:59 UTC 2014


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

(Updated March 12, 2014, 7:43 a.m.)


Review request for kwin, Plasma and Sebastian Kügler.


Changes
-------

context object works, thanks Thomas!


Repository: kde-workspace


Description
-------

[kwin] Disconnect lambda connection on destroy of slide effect

Lambda connections are tricky: they do not get automatically
disconnected when the captured [this] gets destroyed, but they get
disconnected when the sender object gets destroyed.

Thus the slide effect was crashing if it got disabled and a window
got deleted, because the connection was still present and tried to
access the destroyed this pointer.

To circumvent we need to store the QMetaObject::Connection and
disconnect when the SlideEffect gets destroyed. To not clutter the
private variables it's using another lambda.

--
Plasma and sebas are only added to highlight this GOTCHA!


Diffs (updated)
-----

  kwin/effects/slide/slide.cpp e6a8d588fe6ef7c7cb2981b0d49bf2c670753e2d 

Diff: https://git.reviewboard.kde.org/r/116712/diff/


Testing
-------


Thanks,

Martin Gräßlin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20140312/dc96047b/attachment-0001.html>


More information about the Plasma-devel mailing list