summary refs log tree commit diff stats
path: root/src/common/text.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/text.c')
-rw-r--r--src/common/text.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/common/text.c b/src/common/text.c
index 946ac542..3a61eecc 100644
--- a/src/common/text.c
+++ b/src/common/text.c
@@ -2218,7 +2218,7 @@ sound_find_command (void)
 }
 
 void
-sound_play (const char *file, gboolean quiet)
+sound_play (const char *file, gboolean quiet, gboolean hexchat_beep)
 {
 	char *buf;
 	char *wavfile;
@@ -2233,10 +2233,10 @@ sound_play (const char *file, gboolean quiet)
 		return;
 
 #ifdef WIN32
-	/* check for fullpath */
-	if (file[0] == '\\' || (((file[0] >= 'A' && file[0] <= 'Z') || (file[0] >= 'a' && file[0] <= 'z')) && file[1] == ':'))
+	/* check for fullpath; also use full path if hexchat_beep is TRUE, which should *only* happen when invoked by fe_beep() */
+	if (hexchat_beep || file[0] == '\\' || (((file[0] >= 'A' && file[0] <= 'Z') || (file[0] >= 'a' && file[0] <= 'z')) && file[1] == ':'))
 #else
-	if (file[0] == '/')
+	if (hexchat_beep || file[0] == '/')
 #endif
 	{
 		wavfile = g_strdup (file);
@@ -2308,7 +2308,7 @@ void
 sound_play_event (int i)
 {
 	if (sound_files[i])
-		sound_play (sound_files[i], FALSE);
+		sound_play (sound_files[i], FALSE, FALSE);
 }
 
 static void