mirror of
https://github.com/reactos/reactos.git
synced 2024-06-26 07:51:52 +00:00
[WIN32K]
- Don't ASSERT the correct ConsoleCtrlInfoLength in NtUserConsoleControl - Move GreSetObjectOwnerEx out of the SEH block. svn path=/trunk/; revision=60829
This commit is contained in:
parent
b463d3a396
commit
87d4eb75dc
|
@ -560,9 +560,14 @@ NtUserConsoleControl(
|
|||
{
|
||||
case GuiConsoleWndClassAtom:
|
||||
{
|
||||
if (ConsoleCtrlInfoLength != sizeof(ATOM))
|
||||
{
|
||||
Status = STATUS_INFO_LENGTH_MISMATCH;
|
||||
break;
|
||||
}
|
||||
|
||||
_SEH2_TRY
|
||||
{
|
||||
ASSERT(ConsoleCtrlInfoLength == sizeof(ATOM));
|
||||
ProbeForRead(ConsoleCtrlInfo, ConsoleCtrlInfoLength, 1);
|
||||
gaGuiConsoleWndClass = *(ATOM*)ConsoleCtrlInfo;
|
||||
}
|
||||
|
@ -577,17 +582,18 @@ NtUserConsoleControl(
|
|||
|
||||
case ConsoleMakePalettePublic:
|
||||
{
|
||||
HPALETTE hPalette;
|
||||
|
||||
if (ConsoleCtrlInfoLength != sizeof(HPALETTE))
|
||||
{
|
||||
Status = STATUS_INFO_LENGTH_MISMATCH;
|
||||
break;
|
||||
}
|
||||
|
||||
_SEH2_TRY
|
||||
{
|
||||
ASSERT(ConsoleCtrlInfoLength == sizeof(HPALETTE));
|
||||
ProbeForRead(ConsoleCtrlInfo, ConsoleCtrlInfoLength, 1);
|
||||
/*
|
||||
* Make the palette handle public - Use the extended
|
||||
* function introduced by Timo in revision 60725.
|
||||
*/
|
||||
GreSetObjectOwnerEx(*(HPALETTE*)ConsoleCtrlInfo,
|
||||
GDI_OBJ_HMGR_PUBLIC,
|
||||
GDIOBJFLAG_IGNOREPID);
|
||||
hPalette = *(HPALETTE*)ConsoleCtrlInfo;
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
|
@ -595,6 +601,11 @@ NtUserConsoleControl(
|
|||
}
|
||||
_SEH2_END;
|
||||
|
||||
/* Make the palette handle public */
|
||||
GreSetObjectOwnerEx(hPalette,
|
||||
GDI_OBJ_HMGR_PUBLIC,
|
||||
GDIOBJFLAG_IGNOREPID);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue