diff --git a/core/monitor_p.cpp b/monitor_p.cpp --- a/core/monitor_p.cpp +++ b/monitor_p.cpp @@ -1061,25 +1061,25 @@ bool handled = false; switch (msg.operation()) { case Protocol::ItemChangeNotification::Add: - return emitToListeners(&Monitor::itemAdded, its.first(), col); + return !its.isEmpty() && emitToListeners(&Monitor::itemAdded, its.first(), col); case Protocol::ItemChangeNotification::Modify: - return emitToListeners(&Monitor::itemChanged, its.first(), msg.itemParts()); + return !its.isEmpty() && emitToListeners(&Monitor::itemChanged, its.first(), msg.itemParts()); case Protocol::ItemChangeNotification::ModifyFlags: return emitToListeners(&Monitor::itemsFlagsChanged, its, msg.addedFlags(), msg.removedFlags()); case Protocol::ItemChangeNotification::Move: - handled |= emitToListeners(&Monitor::itemMoved, its.first(), col, colDest); + handled |= !its.isEmpty() && emitToListeners(&Monitor::itemMoved, its.first(), col, colDest); handled |= emitToListeners(&Monitor::itemsMoved, its, col, colDest); return handled; case Protocol::ItemChangeNotification::Remove: - handled |= emitToListeners(&Monitor::itemRemoved, its.first()); + handled |= !its.isEmpty() && emitToListeners(&Monitor::itemRemoved, its.first()); handled |= emitToListeners(&Monitor::itemsRemoved, its); return handled; case Protocol::ItemChangeNotification::Link: - handled |= emitToListeners(&Monitor::itemLinked, its.first(), col); + handled |= !its.isEmpty() && emitToListeners(&Monitor::itemLinked, its.first(), col); handled |= emitToListeners(&Monitor::itemsLinked, its, col); return handled; case Protocol::ItemChangeNotification::Unlink: - handled |= emitToListeners(&Monitor::itemUnlinked, its.first(), col); + handled |= !its.isEmpty() && emitToListeners(&Monitor::itemUnlinked, its.first(), col); handled |= emitToListeners(&Monitor::itemsUnlinked, its, col); return handled; case Protocol::ItemChangeNotification::ModifyTags: