Vincent Pelletier : dinput: Fix gain-related bugs.
Alexandre Julliard
julliard at winehq.org
Mon Jan 26 10:13:57 CST 2009
Module: wine
Branch: master
Commit: 15a33ab209987606bb1e6e2ee3961245b1cb9ebe
URL: http://source.winehq.org/git/wine.git/?a=commit;h=15a33ab209987606bb1e6e2ee3961245b1cb9ebe
Author: Vincent Pelletier <plr.vincent at gmail.com>
Date: Sat Jan 24 00:59:48 2009 +0100
dinput: Fix gain-related bugs.
---
dlls/dinput/effect_linuxinput.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/dinput/effect_linuxinput.c b/dlls/dinput/effect_linuxinput.c
index f225a65..7302d7f 100644
--- a/dlls/dinput/effect_linuxinput.c
+++ b/dlls/dinput/effect_linuxinput.c
@@ -380,7 +380,7 @@ static HRESULT WINAPI LinuxInputEffectImpl_GetParameters(
}
if (dwFlags & DIEP_GAIN) {
- peff->dwGain = This->gain;
+ peff->dwGain = This->gain * 10000 / 0xFFFF;
}
if (dwFlags & DIEP_SAMPLEPERIOD) {
@@ -628,7 +628,7 @@ static HRESULT WINAPI LinuxInputEffectImpl_SetParameters(
/* Gain and Sample Period settings are not supported by the linux
* event system */
if (dwFlags & DIEP_GAIN)
- This->gain = 0xFFFF * peff->dwGain / 1000;
+ This->gain = 0xFFFF * peff->dwGain / 10000;
if (dwFlags & DIEP_SAMPLEPERIOD)
TRACE("Sample period requested but no sample period functionality present.\n");
@@ -792,6 +792,7 @@ HRESULT linuxinput_create_effect(
newEffect->ref = 1;
newEffect->guid = *rguid;
newEffect->fd = fd;
+ newEffect->gain = 0xFFFF;
/* set the type. this cannot be changed over the effect's life. */
switch (type) {
More information about the wine-cvs
mailing list