[WINMM:MIDIMAP] Support Windows XP compatible MIDIMap registry setting (#1240)
[reactos.git] / dll / win32 / winmm / midimap / midimap.c
index d991635..fd9ecae 100644 (file)
  */
 
 #include <stdarg.h>
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include "windef.h"
-#include "winbase.h"
-#include "wingdi.h"
-#include "winuser.h"
-#include "mmddk.h"
-#include "winreg.h"
-#include "wine/unicode.h"
-#include "wine/debug.h"
+//#include <string.h>
+//#include <stdlib.h>
+//#include <ctype.h>
+#include <windef.h>
+//#include "winbase.h"
+//#include "wingdi.h"
+#include <winuser.h>
+#include <mmddk.h>
+#include <winreg.h>
+#include <wine/unicode.h>
+#include <wine/debug.h>
 
 /*
  * Here's how Windows stores the midiOut mapping information.
@@ -239,6 +239,11 @@ static BOOL        MIDIMAP_LoadSettings(MIDIMAPDATA* mom)
            {
                ret = MIDIMAP_LoadSettingsDefault(mom, buffer);
            }
+           else if (!RegQueryValueExW(hKey, L"szPname", 0, &type, (void*)buffer, &size) && *buffer)
+           {
+               /* Windows XP and higher setting */
+               ret = MIDIMAP_LoadSettingsDefault(mom, buffer);
+           }
            else
            {
                ret = MIDIMAP_LoadSettingsDefault(mom, NULL);