mirror of
https://github.com/reactos/reactos.git
synced 2024-07-01 02:10:07 +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:
|
case GuiConsoleWndClassAtom:
|
||||||
{
|
{
|
||||||
|
if (ConsoleCtrlInfoLength != sizeof(ATOM))
|
||||||
|
{
|
||||||
|
Status = STATUS_INFO_LENGTH_MISMATCH;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
_SEH2_TRY
|
_SEH2_TRY
|
||||||
{
|
{
|
||||||
ASSERT(ConsoleCtrlInfoLength == sizeof(ATOM));
|
|
||||||
ProbeForRead(ConsoleCtrlInfo, ConsoleCtrlInfoLength, 1);
|
ProbeForRead(ConsoleCtrlInfo, ConsoleCtrlInfoLength, 1);
|
||||||
gaGuiConsoleWndClass = *(ATOM*)ConsoleCtrlInfo;
|
gaGuiConsoleWndClass = *(ATOM*)ConsoleCtrlInfo;
|
||||||
}
|
}
|
||||||
|
@ -577,17 +582,18 @@ NtUserConsoleControl(
|
||||||
|
|
||||||
case ConsoleMakePalettePublic:
|
case ConsoleMakePalettePublic:
|
||||||
{
|
{
|
||||||
|
HPALETTE hPalette;
|
||||||
|
|
||||||
|
if (ConsoleCtrlInfoLength != sizeof(HPALETTE))
|
||||||
|
{
|
||||||
|
Status = STATUS_INFO_LENGTH_MISMATCH;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
_SEH2_TRY
|
_SEH2_TRY
|
||||||
{
|
{
|
||||||
ASSERT(ConsoleCtrlInfoLength == sizeof(HPALETTE));
|
|
||||||
ProbeForRead(ConsoleCtrlInfo, ConsoleCtrlInfoLength, 1);
|
ProbeForRead(ConsoleCtrlInfo, ConsoleCtrlInfoLength, 1);
|
||||||
/*
|
hPalette = *(HPALETTE*)ConsoleCtrlInfo;
|
||||||
* Make the palette handle public - Use the extended
|
|
||||||
* function introduced by Timo in revision 60725.
|
|
||||||
*/
|
|
||||||
GreSetObjectOwnerEx(*(HPALETTE*)ConsoleCtrlInfo,
|
|
||||||
GDI_OBJ_HMGR_PUBLIC,
|
|
||||||
GDIOBJFLAG_IGNOREPID);
|
|
||||||
}
|
}
|
||||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||||
{
|
{
|
||||||
|
@ -595,6 +601,11 @@ NtUserConsoleControl(
|
||||||
}
|
}
|
||||||
_SEH2_END;
|
_SEH2_END;
|
||||||
|
|
||||||
|
/* Make the palette handle public */
|
||||||
|
GreSetObjectOwnerEx(hPalette,
|
||||||
|
GDI_OBJ_HMGR_PUBLIC,
|
||||||
|
GDIOBJFLAG_IGNOREPID);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue