http://bugs.winehq.org/show_bug.cgi?id=15699
Summary: Winecfg crashes if no audio driver is present Product: Wine Version: 1.1.6 Platform: PC OS/Version: Solaris Status: NEW Keywords: patch, source Severity: normal Priority: P2 Component: programs AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com CC: austinenglish@gmail.com
Based off bug 15264,
Still messing around with OpenSolaris. ./configure now only complains about capi and ldap, so sound should be fine. config.log shows HAVE_ESD defined to 1.
$ ./wine winecfg
Works fine, but click the Audio tab, and all hell breaks loose: wine: Unhandled page fault on read access to 0x00000000 at address 7f7907c4 (thread 0009), starting debugger... Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x7f7907c4) ... Backtrace: =>1 0x7f7907cd initAudioDlg+0x9c(hDlg=1004a) [/export/home/austin/wine-git/programs/winecfg/audio.c:637] in winecfg (0x7f75ec88) 2 0x7f791327 AudioDlgProc+0x6de(hDlg=1004a, uMsg=272, wParam=0, lParam=2143778864) [/export/home/austin/wine-git/programs/winecfg/audio.c:849] in winecfg (0x7f75ed98)
This patch gets around it, but doesn't seem right to me: diff --git a/programs/winecfg/audio.c b/programs/winecfg/audio.c index 3ce0e25..34d1f32 100644 --- a/programs/winecfg/audio.c +++ b/programs/winecfg/audio.c @@ -633,8 +633,11 @@ static void initAudioDlg (HWND hDlg) if (buf == NULL) { /* select first available driver */ - if (*loadedAudioDrv->szDriver) - selectDriver(hDlg, loadedAudioDrv->szDriver); + if (loadedAudioDrv->szDriver) { + if (*loadedAudioDrv->szDriver) + selectDriver(hDlg, loadedAudioDrv->szDriver); + } + } else /* make a local copy of the current registry setting */ strcpy(curAudioDriver, buf);
http://bugs.winehq.org/show_bug.cgi?id=15699
--- Comment #1 from Austin English austinenglish@gmail.com 2008-10-21 12:08:11 --- Here's an updated patch, that pops up a messagebox error warning the user that no audio driver was found:
diff --git a/programs/winecfg/audio.c b/programs/winecfg/audio.c index 3ce0e25..b755283 100644 --- a/programs/winecfg/audio.c +++ b/programs/winecfg/audio.c -632,8 +632,13 @@ static void initAudioDlg (HWND hDlg) */ if (buf == NULL) { + + /* make sure a driver is available */ + if (loadedAudioDrv->szDriver == NULL) + MessageBox(NULL, "No audio driver available! Check your system configuration.", "No Audio Driver", MB_OK | MB_ICONERROR); + /* select first available driver */ - if (*loadedAudioDrv->szDriver) + if (loadedAudioDrv->szDriver && *loadedAudioDrv->szDriver) selectDriver(hDlg, loadedAudioDrv->szDriver); } else /* make a local copy of the current registry setting */
http://bugs.winehq.org/show_bug.cgi?id=15699
--- Comment #2 from Austin English austinenglish@gmail.com 2008-10-21 20:34:35 --- Submitted a revised patch: http://www.winehq.org/pipermail/wine-patches/2008-October/063628.html
http://bugs.winehq.org/show_bug.cgi?id=15699
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #3 from Austin English austinenglish@gmail.com 2008-12-05 19:19:16 --- Fixed by http://source.winehq.org/git/wine.git/?a=commitdiff;h=95366238a0b63e83226d89....
http://bugs.winehq.org/show_bug.cgi?id=15699
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org 2008-12-20 09:05:46 --- Closing bugs fixed in 1.1.11.