mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 21:36:11 +00:00
[USER32] Fix copying from WNDCLASS to WNDCLASSEX
This must be done field by field, since the alignment of the structures is different on _WIN64
This commit is contained in:
parent
094a90ad4e
commit
27c3a4d26a
1 changed files with 26 additions and 2 deletions
|
@ -1595,7 +1595,19 @@ RegisterClassA(CONST WNDCLASSA *lpWndClass)
|
||||||
if (lpWndClass == NULL)
|
if (lpWndClass == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
RtlCopyMemory(&Class.style, lpWndClass, sizeof(WNDCLASSA));
|
/* These MUST be copied manually, since on 64 bit architectures the
|
||||||
|
alignment of the members is different between the 2 structs! */
|
||||||
|
Class.style = lpWndClass->style;
|
||||||
|
Class.lpfnWndProc = lpWndClass->lpfnWndProc;
|
||||||
|
Class.cbClsExtra = lpWndClass->cbClsExtra;
|
||||||
|
Class.cbWndExtra = lpWndClass->cbWndExtra;
|
||||||
|
Class.hInstance = lpWndClass->hInstance;
|
||||||
|
Class.hIcon = lpWndClass->hIcon;
|
||||||
|
Class.hCursor = lpWndClass->hCursor;
|
||||||
|
Class.hbrBackground = lpWndClass->hbrBackground;
|
||||||
|
Class.lpszMenuName = lpWndClass->lpszMenuName;
|
||||||
|
Class.lpszClassName = lpWndClass->lpszClassName;
|
||||||
|
|
||||||
Class.cbSize = sizeof(WNDCLASSEXA);
|
Class.cbSize = sizeof(WNDCLASSEXA);
|
||||||
Class.hIconSm = NULL;
|
Class.hIconSm = NULL;
|
||||||
|
|
||||||
|
@ -1613,7 +1625,19 @@ RegisterClassW(CONST WNDCLASSW *lpWndClass)
|
||||||
if (lpWndClass == NULL)
|
if (lpWndClass == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
RtlCopyMemory(&Class.style, lpWndClass, sizeof(WNDCLASSW));
|
/* These MUST be copied manually, since on 64 bit architectures the
|
||||||
|
alignment of the members is different between the 2 structs! */
|
||||||
|
Class.style = lpWndClass->style;
|
||||||
|
Class.lpfnWndProc = lpWndClass->lpfnWndProc;
|
||||||
|
Class.cbClsExtra = lpWndClass->cbClsExtra;
|
||||||
|
Class.cbWndExtra = lpWndClass->cbWndExtra;
|
||||||
|
Class.hInstance = lpWndClass->hInstance;
|
||||||
|
Class.hIcon = lpWndClass->hIcon;
|
||||||
|
Class.hCursor = lpWndClass->hCursor;
|
||||||
|
Class.hbrBackground = lpWndClass->hbrBackground;
|
||||||
|
Class.lpszMenuName = lpWndClass->lpszMenuName;
|
||||||
|
Class.lpszClassName = lpWndClass->lpszClassName;
|
||||||
|
|
||||||
Class.cbSize = sizeof(WNDCLASSEXW);
|
Class.cbSize = sizeof(WNDCLASSEXW);
|
||||||
Class.hIconSm = NULL;
|
Class.hIconSm = NULL;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue