← Back to team overview

widelands-dev team mailing list archive

[Merge] lp:~widelands-dev/widelands/bug-1304638-firstfix into lp:widelands

 

Teppo Mäenpää has proposed merging lp:~widelands-dev/widelands/bug-1304638-firstfix into lp:widelands.

Requested reviews:
  Widelands Developers (widelands-dev)
Related bugs:
  Bug #1304638 in widelands: "Wrong sound played"
  https://bugs.launchpad.net/widelands/+bug/1304638

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/bug-1304638-firstfix/+merge/215932

This fixes the bug 1304638. I think.
-- 
https://code.launchpad.net/~widelands-dev/widelands/bug-1304638-firstfix/+merge/215932
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/bug-1304638-firstfix into lp:widelands.
=== renamed file 'sound/message_chat_00.ogg' => 'sound/lobby_chat_00.ogg'
=== renamed file 'sound/message_freshmen_00.ogg' => 'sound/lobby_freshmen_00.ogg'
=== modified file 'src/sound/sound_handler.cc'
--- src/sound/sound_handler.cc	2014-03-27 06:29:50 +0000
+++ src/sound/sound_handler.cc	2014-04-15 18:22:03 +0000
@@ -215,8 +215,8 @@
 	load_fx_if_needed("sound", "message", "sound/message");
 	load_fx_if_needed("sound/military", "under_attack", "sound/military/under_attack");
 	load_fx_if_needed("sound/military", "site_occupied", "sound/military/site_occupied");
-	load_fx_if_needed("sound", "message_chat", "sound/message_chat");
-	load_fx_if_needed("sound", "message_freshmen", "sound/message_freshmen");
+	load_fx_if_needed("sound", "lobby_chat", "sound/lobby_chat");
+	load_fx_if_needed("sound", "lobby_freshmen", "sound/lobby_freshmen");
 }
 
 /** Load a sound effect. One sound effect can consist of several audio files

=== modified file 'src/ui_basic/panel.cc'
--- src/ui_basic/panel.cc	2014-03-09 10:28:39 +0000
+++ src/ui_basic/panel.cc	2014-04-15 18:22:03 +0000
@@ -843,11 +843,11 @@
 }
 void Panel::play_new_chat_message()
 {
-	g_sound_handler.play_fx("sound/message_chat", 128, PRIO_ALWAYS_PLAY);
+	g_sound_handler.play_fx("sound/lobby_chat", 128, PRIO_ALWAYS_PLAY);
 }
 void Panel::play_new_chat_member()
 {
-	g_sound_handler.play_fx("sound/message_freshmen", 128, PRIO_ALWAYS_PLAY);
+	g_sound_handler.play_fx("sound/lobby_freshmen", 128, PRIO_ALWAYS_PLAY);
 }
 
 

=== modified file 'src/wui/gamechatpanel.cc'
--- src/wui/gamechatpanel.cc	2014-04-07 01:51:56 +0000
+++ src/wui/gamechatpanel.cc	2014-04-15 18:22:03 +0000
@@ -32,7 +32,7 @@
 	m_chat   (chat),
 	chatbox  (this, 0, 0, w, h - 25, "", UI::Align_Left, 1),
 	editbox  (this, 0, h - 20, w,  20),
-	chat_message_counter(0)
+	chat_message_counter(-1) // uint, setting to maximum value
 {
 	chatbox.set_scrollmode(UI::Multiline_Textarea::ScrollLog);
 	editbox.ok.connect(boost::bind(&GameChatPanel::keyEnter, this));
@@ -65,7 +65,7 @@
 	chatbox.set_text(str);
 
 	// If there are new messages, play a sound
-	if (msgs.size() != chat_message_counter)
+	if (0 < msgs.size() && msgs.size() != chat_message_counter)
 	{
 		// computer generated ones are ignored
 		// Note: if many messages arrive simultaneously,
@@ -74,7 +74,7 @@
 		if (!msgs.back().sender.empty() && !m_chat.sound_off())
 		{
 			// The latest message is not a system message
-			if (std::string::npos == msgs.back().sender.find("(IRC)"))
+			if (std::string::npos == msgs.back().sender.find("(IRC)") && chat_message_counter < msgs.size())
 			{
 				// The latest message was not relayed from IRC.
 				// The above built-in string constant should match


Follow ups