"Julius Schwartzenberg" julius.schwartzenberg@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.