Review Request 121360: Rework Plasma's notification positioning code

Emmanuel Pescosta emmanuelpescosta099 at gmail.com
Mon Dec 15 12:27:23 UTC 2014


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


Maybe a QReadWriteLock instead of a QMutex to make the locking a little bit more finer granulated?


applets/notifications/plugin/notificationshelper.cpp
<https://git.reviewboard.kde.org/r/121360/#comment50235>

    Needs locking



applets/notifications/plugin/notificationshelper.cpp
<https://git.reviewboard.kde.org/r/121360/#comment50236>

    Needs locking



applets/notifications/plugin/notificationshelper.cpp
<https://git.reviewboard.kde.org/r/121360/#comment50231>

    unlock immediately after m_hideQueue.takeFirst()



applets/notifications/plugin/notificationshelper.cpp
<https://git.reviewboard.kde.org/r/121360/#comment50233>

    No need to check it again and also a lock is missing if you want to keep it.



applets/notifications/plugin/notificationshelper.cpp
<https://git.reviewboard.kde.org/r/121360/#comment50234>

    No need to check it again and also a lock is missing if you want to keep it.



applets/notifications/plugin/notificationshelper.cpp
<https://git.reviewboard.kde.org/r/121360/#comment50228>

    No need for toString() conversion, just compare those two QVariants. + const



applets/notifications/plugin/notificationshelper.cpp
<https://git.reviewboard.kde.org/r/121360/#comment50229>

    Please make use of QMutableListIterator



applets/notifications/plugin/notificationshelper.cpp
<https://git.reviewboard.kde.org/r/121360/#comment50230>

    Removing from m_queue also has to be locked, so move it before the Q_FOREACH


- Emmanuel Pescosta


On Dec. 5, 2014, 8:01 p.m., Martin Klapetek wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121360/
> -----------------------------------------------------------
> 
> (Updated Dec. 5, 2014, 8:01 p.m.)
> 
> 
> Review request for Plasma and Kai Uwe Broulik.
> 
> 
> Bugs: 339732
>     https://bugs.kde.org/show_bug.cgi?id=339732
> 
> 
> Repository: plasma-workspace
> 
> 
> Description
> -------
> 
> There can easily be situations where the popups could overlap one another or result in strange animations. This patch rewrites the notifications so that all actions such as show/reposition/hide are handled from a one single place and every action is properly queued and protected around, which makes it more robust, more predictive and less chaotic. There's also a slight delay between every action so it's also visually much more cleaner and easier to see what's going on. 
> 
> 
> Diffs
> -----
> 
>   applets/notifications/package/contents/ui/NotificationPopup.qml c99bf21 
>   applets/notifications/plugin/notificationshelper.h af8f6fa 
>   applets/notifications/plugin/notificationshelper.cpp 425f0d6 
> 
> Diff: https://git.reviewboard.kde.org/r/121360/diff/
> 
> 
> Testing
> -------
> 
> Tested whole day plus stress-tested with something like for i in {1..200}; do notify-send "$i - $RANDOM" "$RANDOM sdf sdf sdfwefhsdjfnskdfbkwefnos igodsfgn sodifgj asodfgnsdlfgdf g"; done executed from 4 terminals at once, all works fine and as expected.
> 
> 
> Thanks,
> 
> Martin Klapetek
> 
>

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


More information about the Plasma-devel mailing list