Review Request 129146: Fix emitting close when an event has no actions

David Edmundson david at davidedmundson.co.uk
Fri Oct 14 22:00:09 UTC 2016


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

(Updated Oct. 15, 2016, midnight)


Status
------

This change has been marked as submitted.


Review request for KDE Frameworks.


Changes
-------

Submitted with commit 07a6d3e2e51ee461ad37bb42edad3518f3b8a3e9 by David Edmundson to branch master.


Repository: knotifications


Description
-------

KNotificatitionManager::self() has an early check if a notification has
no actions. If it has no actions it tries to close the notification
early. However it's dereferencing an object that it has not referenced,
sending the ref count to -1, a corrupt state that is not handled
gracefully in KNotification, and we don't ever close the notification.

By referencing and dereferencing we're still calling the cleanup in
KNotification (if applicable) but without sending the ref count negative.

This fixes ksmserver waiting for the logout sound to play; which
currently never emits close, as the default setup has no logout sound.


Diffs
-----

  autotests/knotification_test.cpp 5d063f1a19d7f5e4d8c77d7e6301e81223401b08 
  src/knotification.cpp 352cf496faef7a120c3d5c805cf6ffb324292a0c 
  src/knotificationmanager.cpp c315db9a3f17771d4095cfdc7982475949213a1c 

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


Testing
-------

Autotest that used to fail included


Thanks,

David Edmundson

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20161014/66e12388/attachment.html>


More information about the Kde-frameworks-devel mailing list