mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 04:13:34 +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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user