Permalink
Browse files

[SNDVOL32] Fix controls' offset (#280)

CORE-9108
  • Loading branch information...
toehead2001 authored and sanchaez committed Jan 26, 2018
1 parent 19f8ed2 commit a30d12dde782424e3cf324118e44a9293c0b56b3
Showing with 11 additions and 15 deletions.
  1. +11 −15 base/applications/sndvol32/dialog.c
@@ -104,20 +104,23 @@ AddDialogControl(
default:
/* FIXME */
assert(0);
ClassName = 0;
ClassName = NULL;
}
}
else
{
/* class name is encoded as string */
ClassName = (LPWSTR)Offset;

/* adjust offset */
Offset += wcslen(ClassName) + 1;
/* move offset to the end of class string */
Offset += wcslen(ClassName);

/* get offset */
/* get window name */
WindowName = (LPWSTR)(Offset + 1);
}

/* move offset past class type/string */
Offset++;

if (DialogItem->id == MAXWORD)
{
@@ -176,16 +179,8 @@ AddDialogControl(

if (WindowName != NULL)
{
/* position offset to start of name */
Offset++;

/* move offset past name */
Offset += wcslen((LPWSTR)Offset) + 1;
}
else
{
/* no name so just adjust offset */
Offset++;
/* move offset past window name */
Offset += wcslen(WindowName) + 1;
}

/* check if there is additional data */
@@ -196,7 +191,8 @@ AddDialogControl(
}
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;
}

0 comments on commit a30d12d

Please sign in to comment.