[WINMM] driver open/close patch 1

Robert Reif reif at earthlink.net
Mon Dec 5 21:47:44 CST 2005


Allow sound card drivers to be opened more than once.
-------------- next part --------------
Index: dlls/winmm/winealsa/alsa.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/winealsa/alsa.c,v
retrieving revision 1.5
diff -p -u -r1.5 alsa.c
--- dlls/winmm/winealsa/alsa.c	28 Nov 2005 20:12:34 -0000	1.5
+++ dlls/winmm/winealsa/alsa.c	6 Dec 2005 03:13:19 -0000
@@ -32,18 +32,11 @@
 
 #ifdef HAVE_ALSA
 
-static	struct WINE_ALSA* alsa = NULL;
-
 /**************************************************************************
  * 				ALSA_drvOpen			[internal]
  */
 static LRESULT ALSA_drvOpen(LPSTR str)
 {
-    if (alsa)
-	return 0;
-
-    /* I know, this is ugly, but who cares... */
-    alsa = (struct WINE_ALSA*)1;
     return 1;
 }
 
@@ -52,11 +45,7 @@ static LRESULT ALSA_drvOpen(LPSTR str)
  */
 static LRESULT ALSA_drvClose(DWORD_PTR dwDevID)
 {
-    if (alsa) {
-	alsa = NULL;
-	return 1;
-    }
-    return 0;
+    return 1;
 }
 
 #endif
Index: dlls/winmm/winearts/arts.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/winearts/arts.c,v
retrieving revision 1.6
diff -p -u -r1.6 arts.c
--- dlls/winmm/winearts/arts.c	28 Nov 2005 20:12:34 -0000	1.6
+++ dlls/winmm/winearts/arts.c	6 Dec 2005 03:13:19 -0000
@@ -33,18 +33,12 @@
 #include "arts.h"
 
 #ifdef HAVE_ARTS
-static		int arts = 0;
 
 /**************************************************************************
  * 				ARTS_drvOpen			[internal]
  */
 static LRESULT ARTS_drvOpen(LPSTR str)
 {
-    if (arts)
-	return 0;
-
-    /* I know, this is ugly, but who cares... */
-    arts = 1;
     return 1;
 }
 
@@ -53,11 +47,7 @@ static LRESULT ARTS_drvOpen(LPSTR str)
  */
 static LRESULT ARTS_drvClose(DWORD_PTR dwDevID)
 {
-    if (arts) {
-	arts = 0;
-	return 1;
-    }
-    return 0;
+    return 1;
 }
 #endif /* #ifdef HAVE_ARTS */
 
Index: dlls/winmm/wineaudioio/audioio.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/wineaudioio/audioio.c,v
retrieving revision 1.4
diff -p -u -r1.4 audioio.c
--- dlls/winmm/wineaudioio/audioio.c	28 Nov 2005 20:12:34 -0000	1.4
+++ dlls/winmm/wineaudioio/audioio.c	6 Dec 2005 03:13:19 -0000
@@ -32,8 +32,6 @@
 
 #ifdef HAVE_LIBAUDIOIO
 
-static	struct WINE_LIBAUDIOIO* audioio = NULL;
-
 extern LONG LIBAUDIOIO_WaveInit(void);
 
 /**************************************************************************
@@ -41,11 +39,6 @@ extern LONG LIBAUDIOIO_WaveInit(void);
  */
 static LRESULT LIBAUDIOIO_drvOpen(LPSTR str)
 {
-    if (audioio)
-	return 0;
-
-    /* I know, this is ugly, but who cares... */
-    audioio = (struct WINE_LIBAUDIOIO*)1;
     return 1;
 }
 
@@ -54,11 +47,7 @@ static LRESULT LIBAUDIOIO_drvOpen(LPSTR 
  */
 static LRESULT LIBAUDIOIO_drvClose(DWORD_PTR dwDevID)
 {
-    if (audioio) {
-	audioio = NULL;
-	return 1;
-    }
-    return 0;
+    return 1;
 }
 
 #endif
Index: dlls/winmm/wineesd/esound.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/wineesd/esound.c,v
retrieving revision 1.2
diff -p -u -r1.2 esound.c
--- dlls/winmm/wineesd/esound.c	28 Nov 2005 20:12:34 -0000	1.2
+++ dlls/winmm/wineesd/esound.c	6 Dec 2005 03:13:19 -0000
@@ -34,18 +34,12 @@
 #include "esound.h"
 
 #ifdef HAVE_ESD
-static		int esd = 0;
 
 /**************************************************************************
  * 				ESD_drvOpen			[internal]
  */
 static LRESULT ESD_drvOpen(LPSTR str)
 {
-    if (esd)
-	return 0;
-
-    /* I know, this is ugly, but who cares... */
-    esd = 1;
     return 1;
 }
 
@@ -54,11 +48,7 @@ static LRESULT ESD_drvOpen(LPSTR str)
  */
 static LRESULT ESD_drvClose(DWORD_PTR dwDevID)
 {
-    if (esd) {
-	esd = 0;
-	return 1;
-    }
-    return 0;
+    return 1;
 }
 #endif /* #ifdef HAVE_ESD */
 
Index: dlls/winmm/winenas/nas.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/winenas/nas.c,v
retrieving revision 1.3
diff -p -u -r1.3 nas.c
--- dlls/winmm/winenas/nas.c	28 Nov 2005 20:12:34 -0000	1.3
+++ dlls/winmm/winenas/nas.c	6 Dec 2005 03:13:19 -0000
@@ -36,18 +36,12 @@
 #include "nas.h"
 
 #ifdef HAVE_NAS
-static		int nas = 0;
 
 /**************************************************************************
  * 				NAS_drvOpen			[internal]
  */
 static LRESULT NAS_drvOpen(LPSTR str)
 {
-    if (nas)
-	return 0;
-
-    /* I know, this is ugly, but who cares... */
-    nas = 1;
     return 1;
 }
 
@@ -56,11 +50,7 @@ static LRESULT NAS_drvOpen(LPSTR str)
  */
 static LRESULT NAS_drvClose(DWORD_PTR dwDevID)
 {
-    if (nas) {
-	nas = 0;
-	return 1;
-    }
-    return 0;
+    return 1;
 }
 #endif /* #ifdef HAVE_NAS */
 
Index: dlls/winmm/wineoss/oss.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/wineoss/oss.c,v
retrieving revision 1.15
diff -p -u -r1.15 oss.c
--- dlls/winmm/wineoss/oss.c	28 Nov 2005 20:12:34 -0000	1.15
+++ dlls/winmm/wineoss/oss.c	6 Dec 2005 03:13:19 -0000
@@ -32,18 +32,11 @@
 
 #ifdef HAVE_OSS
 
-static	struct WINE_OSS* oss = NULL;
-
 /**************************************************************************
  * 				OSS_drvOpen			[internal]
  */
 static LRESULT OSS_drvOpen(LPSTR str)
 {
-    if (oss)
-	return 0;
-
-    /* I know, this is ugly, but who cares... */
-    oss = (struct WINE_OSS*)1;
     return 1;
 }
 
@@ -52,11 +45,7 @@ static LRESULT OSS_drvOpen(LPSTR str)
  */
 static LRESULT OSS_drvClose(DWORD_PTR dwDevID)
 {
-    if (oss) {
-	oss = NULL;
-	return 1;
-    }
-    return 0;
+    return 1;
 }
 
 #endif


More information about the wine-patches mailing list