Fixing bug #2181, standard EDIT class extra value
Dmitry Timoshkov
dmitry at codeweavers.com
Sat Oct 3 23:04:04 CDT 2009
"Julius Schwartzenberg" <julius.schwartzenberg at gmail.com> wrote:
> diff --git a/dlls/user32/edit.c b/dlls/user32/edit.c
> index 8ad945b..53eb052 100644
> --- a/dlls/user32/edit.c
> +++ b/dlls/user32/edit.c
> @@ -5416,7 +5416,7 @@ const struct builtin_class_descr EDIT_builtin_class =
> CS_DBLCLKS | CS_PARENTDC, /* style */
> EditWndProcA, /* procA */
> EditWndProcW, /* procW */
> - sizeof(EDITSTATE *), /* extra */
> + 6, /* extra */
> IDC_IBEAM, /* cursor */
> 0 /* brush */
> };
This obviously won't work for 64-bit. I'd suggest to make extra
2 * sizeof(void *). and add a comment about compatibility.
> diff --git a/dlls/user32/tests/edit.c b/dlls/user32/tests/edit.c
> index 5ca012e..ec00b90 100644
> --- a/dlls/user32/tests/edit.c
> +++ b/dlls/user32/tests/edit.c
> @@ -2260,6 +2260,15 @@ static void test_dialogmode(void)
> destroy_child_editcontrol(hwEdit);
> }
>
> +static void test_extra_value()
> +{
> + WNDCLASSEX cls;
> + int r;
> + GetClassInfoEx(NULL,"Edit",&cls);
> + r = cls.cbWndExtra;
> + ok(6 == r, "expected 6, got %d\n", r);
> +}
ok(cls.cbWndExtra > sizeof(void *), "blah ...\n") doesn't require
any intermediate variables.
--
Dmitry.
More information about the wine-devel
mailing list