[SNDVOL32] Fix controls' offset (#280)

CORE-9108
This commit is contained in:
toehead2001 2018-01-26 21:30:15 +00:00 committed by Alexander Shaposhnikov
parent 19f8ed2b7a
commit a30d12dde7

View file

@ -104,7 +104,7 @@ AddDialogControl(
default: default:
/* FIXME */ /* FIXME */
assert(0); assert(0);
ClassName = 0; ClassName = NULL;
} }
} }
else else
@ -112,13 +112,16 @@ AddDialogControl(
/* class name is encoded as string */ /* class name is encoded as string */
ClassName = (LPWSTR)Offset; ClassName = (LPWSTR)Offset;
/* adjust offset */ /* move offset to the end of class string */
Offset += wcslen(ClassName) + 1; Offset += wcslen(ClassName);
/* get offset */ /* get window name */
WindowName = (LPWSTR)(Offset + 1); WindowName = (LPWSTR)(Offset + 1);
} }
/* move offset past class type/string */
Offset++;
if (DialogItem->id == MAXWORD) if (DialogItem->id == MAXWORD)
{ {
/* id is not important */ /* id is not important */
@ -176,16 +179,8 @@ AddDialogControl(
if (WindowName != NULL) if (WindowName != NULL)
{ {
/* position offset to start of name */ /* move offset past window name */
Offset++; Offset += wcslen(WindowName) + 1;
/* move offset past name */
Offset += wcslen((LPWSTR)Offset) + 1;
}
else
{
/* no name so just adjust offset */
Offset++;
} }
/* check if there is additional data */ /* check if there is additional data */
@ -196,7 +191,8 @@ AddDialogControl(
} }
else else
{ {
/* add data offset */ /* FIXME: Determine whether this should be "Offset += 1 + *Offset" to explicitly skip the data count too. */
/* skip past additional data */
Offset += *Offset; Offset += *Offset;
} }