summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Swift/Controllers/EventWindowController.cpp2
-rw-r--r--Swift/Controllers/SoundEventController.cpp6
-rw-r--r--Swift/Controllers/XMPPEvents/EventController.cpp3
3 files changed, 8 insertions, 3 deletions
diff --git a/Swift/Controllers/EventWindowController.cpp b/Swift/Controllers/EventWindowController.cpp
index 18c37f4..a6ff061 100644
--- a/Swift/Controllers/EventWindowController.cpp
+++ b/Swift/Controllers/EventWindowController.cpp
@@ -25,7 +25,7 @@ EventWindowController::~EventWindowController() {
void EventWindowController::handleEventQueueEventAdded(boost::shared_ptr<StanzaEvent> event) {
event->onConclusion.connect(boost::bind(&EventWindowController::handleEventConcluded, this, event));
- window_->addEvent(event, true);
+ window_->addEvent(event, event->getConcluded());
}
void EventWindowController::handleEventConcluded(boost::shared_ptr<StanzaEvent> event) {
diff --git a/Swift/Controllers/SoundEventController.cpp b/Swift/Controllers/SoundEventController.cpp
index 0351445..26847ed 100644
--- a/Swift/Controllers/SoundEventController.cpp
+++ b/Swift/Controllers/SoundEventController.cpp
@@ -28,8 +28,10 @@ SoundEventController::SoundEventController(EventController* eventController, Sou
setPlaySounds(playSounds);
}
-void SoundEventController::handleEventQueueEventAdded(boost::shared_ptr<StanzaEvent>) {
- if (playSounds_) soundPlayer_->playSound(SoundPlayer::MessageReceived);
+void SoundEventController::handleEventQueueEventAdded(boost::shared_ptr<StanzaEvent> event) {
+ if (playSounds_ && !event->getConcluded()) {
+ soundPlayer_->playSound(SoundPlayer::MessageReceived);
+ }
}
void SoundEventController::setPlaySounds(bool playSounds) {
diff --git a/Swift/Controllers/XMPPEvents/EventController.cpp b/Swift/Controllers/XMPPEvents/EventController.cpp
index 8e31d30..157be86 100644
--- a/Swift/Controllers/XMPPEvents/EventController.cpp
+++ b/Swift/Controllers/XMPPEvents/EventController.cpp
@@ -30,6 +30,9 @@ void EventController::handleIncomingEvent(boost::shared_ptr<StanzaEvent> sourceE
boost::shared_ptr<ErrorEvent> errorEvent = boost::dynamic_pointer_cast<ErrorEvent>(sourceEvent);
if ((messageEvent && messageEvent->isReadable()) || subscriptionEvent || errorEvent) {
events_.push_back(sourceEvent);
+ if (sourceEvent->getConcluded()) {
+ handleEventConcluded(sourceEvent);
+ }
sourceEvent->onConclusion.connect(boost::bind(&EventController::handleEventConcluded, this, sourceEvent));
onEventQueueLengthChange(events_.size());
onEventQueueEventAdded(sourceEvent);