From 4af9e16e6e0a771aa13f17b3c1393d4fade4c460 Mon Sep 17 00:00:00 2001 From: Joachim Henze Date: Sun, 29 Jan 2023 18:50:38 +0100 Subject: [PATCH] [0.4.7][SNDVOL32] Fix controls' offset (#280) CORE-9108 This fixes an assert in the sndvol32: base/applications/sndvol32/dialog.c Line148 hwnd is NULL by partial backport of 0.4.8-dev-877-g a30d12dde782424e3cf324118e44a9293c0b56b3 --- base/applications/sndvol32/dialog.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/base/applications/sndvol32/dialog.c b/base/applications/sndvol32/dialog.c index 857413c3740..cecdd5c7519 100644 --- a/base/applications/sndvol32/dialog.c +++ b/base/applications/sndvol32/dialog.c @@ -104,7 +104,7 @@ AddDialogControl( default: /* FIXME */ assert(0); - ClassName = 0; + ClassName = NULL; } } else @@ -112,12 +112,14 @@ AddDialogControl( /* 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 +178,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 */