summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS2
-rw-r--r--PC/winsound.c28
2 files changed, 3 insertions, 27 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index e541d61..5569bcd 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -251,6 +251,8 @@ Library
Extension Modules
-----------------
+- Issue #6317: Now winsound.PlaySound only accepts unicode.
+
- Issue #6317: Now winsound.PlaySound can accept non ascii filename.
- Issue #9377: Use Unicode API for gethostname on Windows.
diff --git a/PC/winsound.c b/PC/winsound.c
index d455848..1ed95ba 100644
--- a/PC/winsound.c
+++ b/PC/winsound.c
@@ -73,8 +73,6 @@ static PyObject *
sound_playsound(PyObject *s, PyObject *args)
{
Py_UNICODE *wsound;
- PyObject *osound;
- const char *sound;
int flags;
int ok;
@@ -95,31 +93,7 @@ sound_playsound(PyObject *s, PyObject *args)
Py_INCREF(Py_None);
return Py_None;
}
- /* Drop the argument parsing error as narrow strings
- are also valid. */
- PyErr_Clear();
- if (!PyArg_ParseTuple(args, "O&i:PlaySound",
- PyUnicode_FSConverter, &osound, &flags))
- return NULL;
- if (flags & SND_ASYNC && flags & SND_MEMORY) {
- /* Sidestep reference counting headache; unfortunately this also
- prevent SND_LOOP from memory. */
- PyErr_SetString(PyExc_RuntimeError, "Cannot play asynchronously from memory");
- Py_DECREF(osound);
- return NULL;
- }
- sound = PyBytes_AsString(osound);
- Py_BEGIN_ALLOW_THREADS
- ok = PlaySoundA(sound, NULL, flags);
- Py_END_ALLOW_THREADS
- if (!ok) {
- PyErr_SetString(PyExc_RuntimeError, "Failed to play sound");
- Py_DECREF(osound);
- return NULL;
- }
- Py_DECREF(osound);
- Py_INCREF(Py_None);
- return Py_None;
+ return NULL;
}
static PyObject *