From 9004eddf41cfe9ed8109f0d4097f13ef05f459d1 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Tue, 23 Mar 2010 00:28:26 +0000 Subject: [PATCH] Merged revisions 79317 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r79317 | antoine.pitrou | 2010-03-23 01:25:54 +0100 (mar., 23 mars 2010) | 5 lines Issue #8139: ossaudiodev didn't initialize its types properly, therefore some methods (such as oss_mixer_device.fileno()) were not available. Initial patch by Bertrand Janin. ........ --- Lib/test/test_ossaudiodev.py | 9 +++++++++ Misc/ACKS | 1 + Misc/NEWS | 4 ++++ Modules/ossaudiodev.c | 8 +++++++- 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_ossaudiodev.py b/Lib/test/test_ossaudiodev.py index dda6137d19a..055ad6c167c 100644 --- a/Lib/test/test_ossaudiodev.py +++ b/Lib/test/test_ossaudiodev.py @@ -159,6 +159,15 @@ class OSSAudioDevTests(unittest.TestCase): dsp.close() self.assertTrue(dsp.closed) + def test_mixer_methods(self): + # Issue #8139: ossaudiodev didn't initialize its types properly, + # therefore some methods were unavailable. + mixer = ossaudiodev.openmixer() + try: + self.assertGreaterEqual(mixer.fileno(), 0) + finally: + mixer.close() + def test_main(): try: diff --git a/Misc/ACKS b/Misc/ACKS index 2ea5ab9f0df..e88db2ac0be 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -359,6 +359,7 @@ Ben Jackson David Jacobs Kevin Jacobs Kjetil Jacobsen +Bertrand Janin Geert Jansen Jack Jansen Bill Janssen diff --git a/Misc/NEWS b/Misc/NEWS index f82919b43fd..a39a7c8a6b9 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -17,6 +17,10 @@ Core and Builtins Library ------- +- Issue #8139: ossaudiodev didn't initialize its types properly, therefore + some methods (such as oss_mixer_device.fileno()) were not available. + Initial patch by Bertrand Janin. + - Issue #7512: shutil.copystat() could raise an OSError when the filesystem didn't support chflags() (for example ZFS under FreeBSD). The error is now silenced. diff --git a/Modules/ossaudiodev.c b/Modules/ossaudiodev.c index 7686902bb57..6654d712e54 100644 --- a/Modules/ossaudiodev.c +++ b/Modules/ossaudiodev.c @@ -986,11 +986,17 @@ static struct PyModuleDef ossaudiodevmodule = { NULL }; -PyObject* +PyMODINIT_FUNC PyInit_ossaudiodev(void) { PyObject *m; + if (PyType_Ready(&OSSAudioType) < 0) + return NULL; + + if (PyType_Ready(&OSSMixerType) < 0) + return NULL; + m = PyModule_Create(&ossaudiodevmodule); if (m == NULL) return NULL;