[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdepimlibs/KDE/4.11] akonadi: Fix condition for notification message ignoring: now if itemsFlagChan
From:       Andras Mantia <amantia () kde ! org>
Date:       2013-07-29 14:22:50
Message-ID: E1V3oLa-0001zx-Uw () scm ! kde ! org
[Download RAW message or body]

Git commit 1009b0b15ec1d630949b111f509ab8869d11c5cb by Andras Mantia.
Committed on 29/07/2013 at 14:22.
Pushed by amantia into branch 'KDE/4.11'.

Fix condition for notification message ignoring: now if itemsFlagChanged is not \
connected to a slot (like with ObserverV2), the itemChanged() connection is also \
evaluated and not skipped. Side effect: fixes maildir not propagating flag changes to \
the actual file system.

M  +5    -2    akonadi/monitor_p.cpp

http://commits.kde.org/kdepimlibs/1009b0b15ec1d630949b111f509ab8869d11c5cb

diff --git a/akonadi/monitor_p.cpp b/akonadi/monitor_p.cpp
index 4446ffb..778dd75 100644
--- a/akonadi/monitor_p.cpp
+++ b/akonadi/monitor_p.cpp
@@ -118,10 +118,13 @@ bool MonitorPrivate::isLazilyIgnored( const \
                NotificationMessageV2 & msg, bool al
     || ( op == NotificationMessageV2::Remove && q_ptr->receivers( \
                SIGNAL(itemRemoved(Akonadi::Item)) ) == 0
                                              && q_ptr->receivers( \
                SIGNAL(itemsRemoved(Akonadi::Item::List)) ) == 0 )
     || ( op == NotificationMessageV2::Modify && q_ptr->receivers( \
                SIGNAL(itemChanged(Akonadi::Item,QSet<QByteArray>)) ) == 0 )
-    || ( op == NotificationMessageV2::ModifyFlags && q_ptr->receivers( \
SIGNAL(itemsFlagsChanged(Akonadi::Item::List,QSet<QByteArray>,QSet<QByteArray>)) ) == \
0 ) +    || ( op == NotificationMessageV2::ModifyFlags &&
+         ( q_ptr->receivers( \
SIGNAL(itemsFlagsChanged(Akonadi::Item::List,QSet<QByteArray>,QSet<QByteArray>)) ) == \
0  // Newly delivered ModifyFlags notifications will be converted to
         // itemChanged(item, "FLAGS") for legacy clients.
-    || ( op == NotificationMessageV2::ModifyFlags && ( !allowModifyFlagsConversion \
|| q_ptr->receivers( SIGNAL(itemChanged(Akonadi::Item,QSet<QByteArray>)) ) == 0 ) ) + \
&& ( !allowModifyFlagsConversion || q_ptr->receivers( \
SIGNAL(itemChanged(Akonadi::Item,QSet<QByteArray>)) ) == 0 ) +          )
+       )
     || ( op == NotificationMessageV2::Move && q_ptr->receivers( \
                SIGNAL(itemMoved(Akonadi::Item,Akonadi::Collection,Akonadi::Collection)) \
                ) == 0
                                            && q_ptr->receivers( \
SIGNAL(itemsMoved(Akonadi::Item::List,Akonadi::Collection,Akonadi::Collection)) ) == \
                0 )
     || ( op == NotificationMessageV2::Link && q_ptr->receivers( \
SIGNAL(itemLinked(Akonadi::Item,Akonadi::Collection)) ) == 0


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic