ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
August 2009
----- 2025 -----
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
21 participants
654 discussions
Start a n
N
ew thread
[fireball] 42636: - Add cleanup routine for SURFACE object. Now SURFACE frees all memory except bits if they were allocated (TODO). - Implement surface's bits locking/unlock (same concept as in trunk).
by fireball@svn.reactos.org
Author: fireball Date: Wed Aug 12 20:02:42 2009 New Revision: 42636 URL:
http://svn.reactos.org/svn/reactos?rev=42636&view=rev
Log: - Add cleanup routine for SURFACE object. Now SURFACE frees all memory except bits if they were allocated (TODO). - Implement surface's bits locking/unlock (same concept as in trunk). Modified: branches/arwinss/reactos/subsystems/win32/win32k/gre/cursoricon.c branches/arwinss/reactos/subsystems/win32/win32k/gre/gdiobj.c branches/arwinss/reactos/subsystems/win32/win32k/gre/surfobj.c branches/arwinss/reactos/subsystems/win32/win32k/include/surfobj.h Modified: branches/arwinss/reactos/subsystems/win32/win32k/gre/cursoricon.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/gre/cursoricon.c [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/gre/cursoricon.c [iso-8859-1] Wed Aug 12 20:02:42 2009 @@ -19,9 +19,11 @@ IN LONG y, IN RECTL *prcl) { - SURFACE_LockBitmapBits(pso); + SURFACE *pSurf = CONTAINING_RECORD(pso, SURFACE, SurfObj); + + SURFACE_LockBitmapBits(pSurf); GDIDEVFUNCS(pso).MovePointer(pso, x, y, prcl); - SURFACE_UnlockBitmapBits(pso); + SURFACE_UnlockBitmapBits(pSurf); } @@ -41,10 +43,11 @@ ULONG ulResult = SPS_DECLINE; PFN_DrvSetPointerShape pfnSetPointerShape; PPDEVOBJ ppdev = &PrimarySurface; + SURFACE *pSurf = CONTAINING_RECORD(pso, SURFACE, SurfObj); pfnSetPointerShape = GDIDEVFUNCS(pso).SetPointerShape; - SURFACE_LockBitmapBits(pso); + SURFACE_LockBitmapBits(pSurf); if (pfnSetPointerShape) { ulResult = pfnSetPointerShape(pso, @@ -82,7 +85,7 @@ ppdev->pfnMovePointer = EngMovePointer; } - SURFACE_UnlockBitmapBits(pso); + SURFACE_UnlockBitmapBits(pSurf); return ulResult; } Modified: branches/arwinss/reactos/subsystems/win32/win32k/gre/gdiobj.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/gre/gdiobj.c [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/gre/gdiobj.c [iso-8859-1] Wed Aug 12 20:02:42 2009 @@ -51,7 +51,7 @@ {0, 0, 0, NULL}, /* 02 reserved entry */ {0, 0, 0, NULL}, /* 03 reserved entry */ {0, 0, 0, NULL}, /* 04 reserved entry */ - {0, sizeof(SURFACE), TAG_SURFOBJ, GDI_CleanupDummy}, /* 05 SURFACE */ + {0, sizeof(SURFACE), TAG_SURFOBJ, SURFACE_Cleanup}, /* 05 SURFACE */ {0, 0, 0, NULL}, /* 06 reserved entry */ {0, 0, 0, NULL}, /* 07 reserved entry */ {0, sizeof(PALETTE), TAG_PALETTE, GDI_CleanupDummy}, /* 08 PAL */ Modified: branches/arwinss/reactos/subsystems/win32/win32k/gre/surfobj.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/gre/surfobj.c [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/gre/surfobj.c [iso-8859-1] Wed Aug 12 20:02:42 2009 @@ -197,6 +197,21 @@ /* Set the format */ pSurfObj->iBitmapFormat = Format; + /* Initialize bits lock */ + pSurface->pBitsLock = ExAllocatePoolWithTag(NonPagedPool, + sizeof(FAST_MUTEX), + TAG_SURFOBJ); + + if (!pSurface->pBitsLock) + { + /* Cleanup and return */ + if (!Bits) EngFreeMem(pSurfObj->pvBits); + GDIOBJ_FreeObjByHandle(hSurface, GDI_OBJECT_TYPE_BITMAP); + return 0; + } + + ExInitializeFastMutex(pSurface->pBitsLock); + /* Unlock the surface */ SURFACE_Unlock(pSurface); @@ -209,6 +224,25 @@ { GDIOBJ_FreeObjByHandle(hBitmap, GDI_OBJECT_TYPE_BITMAP); } + +BOOL APIENTRY +SURFACE_Cleanup(PVOID ObjectBody) +{ + PSURFACE pSurf = (PSURFACE)ObjectBody; + + /* TODO: Free bits memory */ + //if (pSurf->SurfObj.fl + + /* Delete DIB palette if it exists */ + if (pSurf->hDIBPalette) + GDIOBJ_FreeObjByHandle(pSurf->hDIBPalette, GDI_OBJECT_TYPE_PALETTE); + + /* Free bitslock storage */ + ExFreePoolWithTag(pSurf->pBitsLock, TAG_SURFOBJ); + + return TRUE; +} + LONG FASTCALL GreGetBitmapBits(PSURFACE pSurf, ULONG ulBytes, PVOID pBits) Modified: branches/arwinss/reactos/subsystems/win32/win32k/include/surfobj.h URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/include/surfobj.h [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/include/surfobj.h [iso-8859-1] Wed Aug 12 20:02:42 2009 @@ -10,6 +10,7 @@ FLONG flHooks; HPALETTE hDIBPalette; + PFAST_MUTEX pBitsLock; /* grab this lock before accessing actual bits in the bitmap */ } SURFACE, *PSURFACE; HBITMAP @@ -31,6 +32,9 @@ INT FASTCALL BITMAP_GetWidthBytes(INT bmWidth, INT bpp); +BOOL APIENTRY +SURFACE_Cleanup(PVOID ObjectBody); + #define GDIDEVFUNCS(SurfObj) ((PDEVOBJ *)((SurfObj)->hdev))->DriverFunctions #define SURFACE_Lock(hBMObj) \ @@ -42,7 +46,7 @@ #define SURFACE_ShareUnlock(pBMObj) \ GDIOBJ_ShareUnlockObjByPtr ((PBASEOBJECT)pBMObj) -#define SURFACE_LockBitmapBits(x) -#define SURFACE_UnlockBitmapBits(x) +#define SURFACE_LockBitmapBits(pBMObj) ExEnterCriticalRegionAndAcquireFastMutexUnsafe((pBMObj)->pBitsLock) +#define SURFACE_UnlockBitmapBits(pBMObj) ExReleaseFastMutexUnsafeAndLeaveCriticalRegion((pBMObj)->pBitsLock) #endif
15 years, 4 months
1
0
0
0
[fireball] 42635: - Rewrite RtlpCreateAtomHandle to readable code and fix a problem spotted in bug 4788.
by fireball@svn.reactos.org
Author: fireball Date: Wed Aug 12 13:42:34 2009 New Revision: 42635 URL:
http://svn.reactos.org/svn/reactos?rev=42635&view=rev
Log: - Rewrite RtlpCreateAtomHandle to readable code and fix a problem spotted in bug 4788. Modified: trunk/reactos/ntoskrnl/rtl/libsupp.c Modified: trunk/reactos/ntoskrnl/rtl/libsupp.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/rtl/libsupp.c?rev…
============================================================================== --- trunk/reactos/ntoskrnl/rtl/libsupp.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/rtl/libsupp.c [iso-8859-1] Wed Aug 12 13:42:34 2009 @@ -516,29 +516,36 @@ HANDLE Handle; USHORT HandleIndex; + /* Initialize ex handle table entry */ ExEntry.Object = Entry; ExEntry.GrantedAccess = 0x1; /* FIXME - valid handle */ + /* Create ex handle */ Handle = ExCreateHandle(AtomTable->ExHandleTable, - &ExEntry); - if (Handle != NULL) + &ExEntry); + if (!Handle) return FALSE; + + /* Calculate HandleIndex (by getting rid of the first two bits) */ + HandleIndex = (USHORT)((ULONG_PTR)Handle >> 2); + + /* Index must be less than 0xC000 */ + if (HandleIndex >= 0xC000) { - HandleIndex = (USHORT)((ULONG_PTR)Handle >> 2); - /* FIXME - Handle Indexes >= 0xC000 ?! */ - if ((ULONG_PTR)HandleIndex >> 2 < 0xC000) - { - Entry->HandleIndex = HandleIndex; - Entry->Atom = 0xC000 + HandleIndex; - - return TRUE; - } - else - ExDestroyHandle(AtomTable->ExHandleTable, - Handle, - NULL); + /* Destroy ex handle */ + ExDestroyHandle(AtomTable->ExHandleTable, + Handle, + NULL); + + /* Return failure */ + return FALSE; } - return FALSE; + /* Initialize atom table entry */ + Entry->HandleIndex = HandleIndex; + Entry->Atom = 0xC000 + HandleIndex; + + /* Return success */ + return TRUE; } PRTL_ATOM_TABLE_ENTRY
15 years, 4 months
1
0
0
0
[pschweitzer] 42634: Other resync. Now branch builds up to ntoskrnl.
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Wed Aug 12 10:57:21 2009 New Revision: 42634 URL:
http://svn.reactos.org/svn/reactos?rev=42634&view=rev
Log: Other resync. Now branch builds up to ntoskrnl. Modified: branches/pierre-fsd/dll/win32/kernel32/misc/console.c branches/pierre-fsd/dll/win32/kernel32/misc/dllmain.c branches/pierre-fsd/drivers/input/kbdclass/kbdclass.c branches/pierre-fsd/drivers/input/kbdclass/kbdclass.h branches/pierre-fsd/drivers/input/kbdclass/misc.c branches/pierre-fsd/include/reactos/win32k/ntgdityp.h Modified: branches/pierre-fsd/dll/win32/kernel32/misc/console.c URL:
http://svn.reactos.org/svn/reactos/branches/pierre-fsd/dll/win32/kernel32/m…
============================================================================== --- branches/pierre-fsd/dll/win32/kernel32/misc/console.c [iso-8859-1] (original) +++ branches/pierre-fsd/dll/win32/kernel32/misc/console.c [iso-8859-1] Wed Aug 12 10:57:21 2009 @@ -22,6 +22,7 @@ extern BOOL WINAPI DefaultConsoleCtrlHandler(DWORD Event); extern __declspec(noreturn) VOID CALLBACK ConsoleControlDispatcher(DWORD CodeAndFlag); extern RTL_CRITICAL_SECTION ConsoleLock; +extern BOOL ConsoleInitialized; extern BOOL WINAPI IsDebuggerPresent(VOID); /* GLOBALS *******************************************************************/ @@ -3345,7 +3346,6 @@ PCSR_API_MESSAGE Request; ULONG CsrRequest; NTSTATUS Status; - HANDLE hConsole; Request = RtlAllocateHeap(RtlGetProcessHeap(), 0, @@ -3357,7 +3357,6 @@ } CsrRequest = MAKE_CSR_API(GET_TITLE, CSR_CONSOLE); - Request->Data.GetTitleRequest.ConsoleHandle = hConsole; Status = CsrClientCallServer(Request, NULL, @@ -3437,7 +3436,6 @@ ULONG CsrRequest; NTSTATUS Status; unsigned int c; - HANDLE hConsole; Request = RtlAllocateHeap(RtlGetProcessHeap(), 0, max(sizeof(CSR_API_MESSAGE), @@ -3450,7 +3448,6 @@ } CsrRequest = MAKE_CSR_API(SET_TITLE, CSR_CONSOLE); - Request->Data.SetTitleRequest.Console = hConsole; for (c = 0; lpConsoleTitle[c] && c < CSRSS_MAX_TITLE_LENGTH; c++) Request->Data.SetTitleRequest.Title[c] = lpConsoleTitle[c]; @@ -3489,7 +3486,6 @@ ULONG CsrRequest; NTSTATUS Status; unsigned int c; - HANDLE hConsole; Request = RtlAllocateHeap(RtlGetProcessHeap(), 0, @@ -3503,7 +3499,6 @@ } CsrRequest = MAKE_CSR_API(SET_TITLE, CSR_CONSOLE); - Request->Data.SetTitleRequest.Console = hConsole; for (c = 0; lpConsoleTitle[c] && c < CSRSS_MAX_TITLE_LENGTH; c++) Request->Data.SetTitleRequest.Title[c] = lpConsoleTitle[c]; @@ -3543,7 +3538,7 @@ CSR_API_MESSAGE Request; ULONG CsrRequest; NTSTATUS Status; - + if (dwDesiredAccess & ~(GENERIC_READ | GENERIC_WRITE) || dwShareMode & ~(FILE_SHARE_READ | FILE_SHARE_WRITE) || dwFlags != CONSOLE_TEXTMODE_BUFFER) Modified: branches/pierre-fsd/dll/win32/kernel32/misc/dllmain.c URL:
http://svn.reactos.org/svn/reactos/branches/pierre-fsd/dll/win32/kernel32/m…
============================================================================== --- branches/pierre-fsd/dll/win32/kernel32/misc/dllmain.c [iso-8859-1] (original) +++ branches/pierre-fsd/dll/win32/kernel32/misc/dllmain.c [iso-8859-1] Wed Aug 12 10:57:21 2009 @@ -26,9 +26,9 @@ HANDLE hBaseDir = NULL; PPEB Peb; ULONG SessionId; +BOOL ConsoleInitialized = FALSE; static BOOL DllInitialized = FALSE; -static BOOL ConsoleInitialized = FALSE; BOOL WINAPI DllMain(HANDLE hInst, @@ -374,6 +374,7 @@ /* Delete DLL critical section */ if (ConsoleInitialized == TRUE) { + ConsoleInitialized = FALSE; RtlDeleteCriticalSection (&ConsoleLock); } RtlDeleteCriticalSection (&DllLock); Modified: branches/pierre-fsd/drivers/input/kbdclass/kbdclass.c URL:
http://svn.reactos.org/svn/reactos/branches/pierre-fsd/drivers/input/kbdcla…
============================================================================== --- branches/pierre-fsd/drivers/input/kbdclass/kbdclass.c [iso-8859-1] (original) +++ branches/pierre-fsd/drivers/input/kbdclass/kbdclass.c [iso-8859-1] Wed Aug 12 10:57:21 2009 @@ -37,7 +37,7 @@ IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) { - DPRINT("IRP_MJ_CREATE\n"); + TRACE_(CLASS_NAME, "IRP_MJ_CREATE\n"); if (!((PCOMMON_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->IsClassDO) return ForwardIrpAndForget(DeviceObject, Irp); @@ -54,7 +54,7 @@ IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) { - DPRINT("IRP_MJ_CLOSE\n"); + TRACE_(CLASS_NAME, "IRP_MJ_CLOSE\n"); if (!((PCOMMON_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->IsClassDO) return ForwardIrpAndForget(DeviceObject, Irp); @@ -71,7 +71,7 @@ IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) { - DPRINT("IRP_MJ_CLEANUP\n"); + TRACE_(CLASS_NAME, "IRP_MJ_CLEANUP\n"); if (!((PCOMMON_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->IsClassDO) return ForwardIrpAndForget(DeviceObject, Irp); @@ -92,7 +92,7 @@ KIRQL OldIrql; NTSTATUS Status; - DPRINT("IRP_MJ_READ\n"); + TRACE_(CLASS_NAME, "IRP_MJ_READ\n"); ASSERT(DeviceExtension->Common.IsClassDO); @@ -122,7 +122,7 @@ PCLASS_DEVICE_EXTENSION DeviceExtension; NTSTATUS Status = STATUS_NOT_SUPPORTED; - DPRINT("IRP_MJ_DEVICE_CONTROL\n"); + TRACE_(CLASS_NAME, "IRP_MJ_DEVICE_CONTROL\n"); if (!((PCOMMON_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->IsClassDO) return ForwardIrpAndForget(DeviceObject, Irp); @@ -170,7 +170,7 @@ break; } default: - DPRINT1("IRP_MJ_DEVICE_CONTROL / unknown I/O control code 0x%lx\n", + WARN_(CLASS_NAME, "IRP_MJ_DEVICE_CONTROL / unknown I/O control code 0x%lx\n", IoGetCurrentIrpStackLocation(Irp)->Parameters.DeviceIoControl.IoControlCode); ASSERT(FALSE); break; @@ -200,7 +200,7 @@ return ForwardIrpAndForget(DeviceObject, Irp); default: { - DPRINT1("Port DO stub for major function 0x%lx\n", + ERR_(CLASS_NAME, "Port DO stub for major function 0x%lx\n", IoGetCurrentIrpStackLocation(Irp)->MajorFunction); ASSERT(FALSE); } @@ -208,7 +208,7 @@ } else { - DPRINT1("Class DO stub for major function 0x%lx\n", + ERR_(CLASS_NAME, "Class DO stub for major function 0x%lx\n", IoGetCurrentIrpStackLocation(Irp)->MajorFunction); ASSERT(FALSE); } @@ -236,7 +236,7 @@ ParametersRegistryKey.Buffer = ExAllocatePoolWithTag(PagedPool, ParametersRegistryKey.MaximumLength, CLASS_TAG); if (!ParametersRegistryKey.Buffer) { - DPRINT("ExAllocatePoolWithTag() failed\n"); + WARN_(CLASS_NAME, "ExAllocatePoolWithTag() failed\n"); return STATUS_NO_MEMORY; } RtlCopyUnicodeString(&ParametersRegistryKey, RegistryPath); @@ -315,7 +315,7 @@ PCLASS_DEVICE_EXTENSION DeviceExtension; NTSTATUS Status; - DPRINT("CreateClassDeviceObject(0x%p)\n", DriverObject); + TRACE_(CLASS_NAME, "CreateClassDeviceObject(0x%p)\n", DriverObject); /* Create new device object */ DriverExtension = IoGetDriverObjectExtension(DriverObject, DriverObject); @@ -328,19 +328,19 @@ DeviceNameU.Buffer = ExAllocatePoolWithTag(PagedPool, DeviceNameU.MaximumLength, CLASS_TAG); if (!DeviceNameU.Buffer) { - DPRINT("ExAllocatePoolWithTag() failed\n"); + WARN_(CLASS_NAME, "ExAllocatePoolWithTag() failed\n"); return STATUS_NO_MEMORY; } Status = RtlAppendUnicodeToString(&DeviceNameU, L"\\Device\\"); if (!NT_SUCCESS(Status)) { - DPRINT("RtlAppendUnicodeToString() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "RtlAppendUnicodeToString() failed with status 0x%08lx\n", Status); goto cleanup; } Status = RtlAppendUnicodeStringToString(&DeviceNameU, &DriverExtension->DeviceBaseName); if (!NT_SUCCESS(Status)) { - DPRINT("RtlAppendUnicodeStringToString() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "RtlAppendUnicodeStringToString() failed with status 0x%08lx\n", Status); goto cleanup; } PrefixLength = DeviceNameU.MaximumLength - 4 * sizeof(WCHAR) - sizeof(UNICODE_NULL); @@ -360,12 +360,12 @@ goto cleanup; else if (Status != STATUS_OBJECT_NAME_COLLISION) { - DPRINT("IoCreateDevice() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "IoCreateDevice() failed with status 0x%08lx\n", Status); goto cleanup; } DeviceId++; } - DPRINT("Too many devices starting with '\\Device\\%wZ'\n", &DriverExtension->DeviceBaseName); + WARN_(CLASS_NAME, "Too many devices starting with '\\Device\\%wZ'\n", &DriverExtension->DeviceBaseName); Status = STATUS_TOO_MANY_NAMES; cleanup: if (!NT_SUCCESS(Status)) @@ -468,7 +468,7 @@ SIZE_T InputCount = DataEnd - DataStart; SIZE_T ReadSize; - DPRINT("ClassCallback()\n"); + TRACE_(CLASS_NAME, "ClassCallback()\n"); ASSERT(ClassDeviceExtension->Common.IsClassDO); @@ -506,7 +506,7 @@ } KeReleaseSpinLock(&ClassDeviceExtension->SpinLock, OldIrql); - DPRINT("Leaving ClassCallback()\n"); + TRACE_(CLASS_NAME, "Leaving ClassCallback()\n"); return TRUE; } @@ -522,7 +522,7 @@ CONNECT_DATA ConnectData; NTSTATUS Status; - DPRINT("Connecting PortDO %p to ClassDO %p\n", PortDO, ClassDO); + TRACE_(CLASS_NAME, "Connecting PortDO %p to ClassDO %p\n", PortDO, ClassDO); KeInitializeEvent(&Event, NotificationEvent, FALSE); @@ -578,7 +578,7 @@ KIRQL OldIrql; NTSTATUS Status; - DPRINT("Destroying PortDO %p\n", PortDO); + TRACE_(CLASS_NAME, "Destroying PortDO %p\n", PortDO); DeviceExtension = (PPORT_DEVICE_EXTENSION)PortDO->DeviceExtension; ClassDeviceExtension = DeviceExtension->ClassDO->DeviceExtension; @@ -634,7 +634,7 @@ PPORT_DEVICE_EXTENSION DeviceExtension = NULL; NTSTATUS Status; - DPRINT("ClassAddDevice called. Pdo = 0x%p\n", Pdo); + TRACE_(CLASS_NAME, "ClassAddDevice called. Pdo = 0x%p\n", Pdo); DriverExtension = IoGetDriverObjectExtension(DriverObject, DriverObject); @@ -653,7 +653,7 @@ &Fdo); if (!NT_SUCCESS(Status)) { - DPRINT("IoCreateDevice() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "IoCreateDevice() failed with status 0x%08lx\n", Status); goto cleanup; } IoSetStartIoAttributes(Fdo, TRUE, TRUE); @@ -666,7 +666,7 @@ Status = IoAttachDeviceToDeviceStackSafe(Fdo, Pdo, &DeviceExtension->LowerDevice); if (!NT_SUCCESS(Status)) { - DPRINT("IoAttachDeviceToDeviceStackSafe() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "IoAttachDeviceToDeviceStackSafe() failed with status 0x%08lx\n", Status); goto cleanup; } if (DeviceExtension->LowerDevice->Flags & DO_POWER_PAGABLE) @@ -686,14 +686,14 @@ &DeviceExtension->ClassDO); if (!NT_SUCCESS(Status)) { - DPRINT("CreateClassDeviceObject() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "CreateClassDeviceObject() failed with status 0x%08lx\n", Status); goto cleanup; } } Status = ConnectPortDriver(Fdo, DeviceExtension->ClassDO); if (!NT_SUCCESS(Status)) { - DPRINT("ConnectPortDriver() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "ConnectPortDriver() failed with status 0x%08lx\n", Status); goto cleanup; } Fdo->Flags &= ~DO_DEVICE_INITIALIZING; @@ -725,7 +725,7 @@ KIRQL OldIrql; BOOLEAN wasQueued = FALSE; - DPRINT("ClassCancelRoutine(DeviceObject %p, Irp %p)\n", DeviceObject, Irp); + TRACE_(CLASS_NAME, "ClassCancelRoutine(DeviceObject %p, Irp %p)\n", DeviceObject, Irp); ASSERT(ClassDeviceExtension->Common.IsClassDO); @@ -762,7 +762,7 @@ PCLASS_DEVICE_EXTENSION DeviceExtension = DeviceObject->DeviceExtension; NTSTATUS Status; - DPRINT("HandleReadIrp(DeviceObject %p, Irp %p)\n", DeviceObject, Irp); + TRACE_(CLASS_NAME, "HandleReadIrp(DeviceObject %p, Irp %p)\n", DeviceObject, Irp); ASSERT(DeviceExtension->Common.IsClassDO); @@ -828,7 +828,7 @@ PCLASS_DEVICE_EXTENSION DeviceExtension = DeviceObject->DeviceExtension; KIRQL OldIrql; - DPRINT("ClassStartIo(DeviceObject %p, Irp %p)\n", DeviceObject, Irp); + TRACE_(CLASS_NAME, "ClassStartIo(DeviceObject %p, Irp %p)\n", DeviceObject, Irp); ASSERT(DeviceExtension->Common.IsClassDO); @@ -854,7 +854,7 @@ ULONG Size, ResultLength; NTSTATUS Status; - DPRINT("SearchForLegacyDrivers(%p %p %lu)\n", + TRACE_(CLASS_NAME, "SearchForLegacyDrivers(%p %p %lu)\n", DriverObject, Context, Count); if (Count != 1) @@ -868,7 +868,7 @@ &PortBaseName); if (!NT_SUCCESS(Status)) { - DPRINT("DuplicateUnicodeString() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "DuplicateUnicodeString() failed with status 0x%08lx\n", Status); goto cleanup; } PortBaseName.Length -= (sizeof(L"Class") - sizeof(UNICODE_NULL)); @@ -879,7 +879,7 @@ KeyValueInformation = ExAllocatePoolWithTag(PagedPool, Size, CLASS_TAG); if (!KeyValueInformation) { - DPRINT("ExAllocatePoolWithTag() failed\n"); + WARN_(CLASS_NAME, "ExAllocatePoolWithTag() failed\n"); Status = STATUS_NO_MEMORY; goto cleanup; } @@ -889,13 +889,13 @@ Status = ZwOpenKey(&hDeviceMapKey, 0, &ObjectAttributes); if (Status == STATUS_OBJECT_NAME_NOT_FOUND) { - DPRINT("HKLM\\HARDWARE\\DEVICEMAP is non-existent\n"); + INFO_(CLASS_NAME, "HKLM\\HARDWARE\\DEVICEMAP is non-existent\n"); Status = STATUS_SUCCESS; goto cleanup; } else if (!NT_SUCCESS(Status)) { - DPRINT("ZwOpenKey() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "ZwOpenKey() failed with status 0x%08lx\n", Status); goto cleanup; } @@ -904,13 +904,13 @@ Status = ZwOpenKey(&hPortKey, KEY_QUERY_VALUE, &ObjectAttributes); if (Status == STATUS_OBJECT_NAME_NOT_FOUND) { - DPRINT("HKLM\\HARDWARE\\DEVICEMAP\\%wZ is non-existent\n", &PortBaseName); + INFO_(CLASS_NAME, "HKLM\\HARDWARE\\DEVICEMAP\\%wZ is non-existent\n", &PortBaseName); Status = STATUS_SUCCESS; goto cleanup; } else if (!NT_SUCCESS(Status)) { - DPRINT("ZwOpenKey() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "ZwOpenKey() failed with status 0x%08lx\n", Status); goto cleanup; } @@ -928,16 +928,16 @@ Status = IoGetDeviceObjectPointer(&PortName, FILE_READ_ATTRIBUTES, &FileObject, &PortDeviceObject); if (!NT_SUCCESS(Status)) { - DPRINT("IoGetDeviceObjectPointer(%wZ) failed with status 0x%08lx\n", &PortName, Status); + WARN_(CLASS_NAME, "IoGetDeviceObjectPointer(%wZ) failed with status 0x%08lx\n", &PortName, Status); continue; } - DPRINT("Legacy driver found\n"); + INFO_(CLASS_NAME, "Legacy driver found\n"); Status = ClassAddDevice(DriverObject, PortDeviceObject); if (!NT_SUCCESS(Status)) { /* FIXME: Log the error */ - DPRINT("ClassAddDevice() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "ClassAddDevice() failed with status 0x%08lx\n", Status); } /* A special hack for 1st stage setup: manually send start device to i8042prt */ @@ -973,7 +973,7 @@ (PVOID*)&DriverExtension); if (!NT_SUCCESS(Status)) { - DPRINT("IoAllocateDriverObjectExtension() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "IoAllocateDriverObjectExtension() failed with status 0x%08lx\n", Status); return Status; } RtlZeroMemory(DriverExtension, sizeof(CLASS_DRIVER_EXTENSION)); @@ -984,14 +984,14 @@ &DriverExtension->RegistryPath); if (!NT_SUCCESS(Status)) { - DPRINT("DuplicateUnicodeString() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "DuplicateUnicodeString() failed with status 0x%08lx\n", Status); return Status; } Status = ReadRegistryEntries(RegistryPath, DriverExtension); if (!NT_SUCCESS(Status)) { - DPRINT("ReadRegistryEntries() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "ReadRegistryEntries() failed with status 0x%08lx\n", Status); return Status; } @@ -1002,7 +1002,7 @@ &DriverExtension->MainClassDeviceObject); if (!NT_SUCCESS(Status)) { - DPRINT("CreateClassDeviceObject() failed with status 0x%08lx\n", Status); + WARN_(CLASS_NAME, "CreateClassDeviceObject() failed with status 0x%08lx\n", Status); return Status; } } Modified: branches/pierre-fsd/drivers/input/kbdclass/kbdclass.h URL:
http://svn.reactos.org/svn/reactos/branches/pierre-fsd/drivers/input/kbdcla…
============================================================================== --- branches/pierre-fsd/drivers/input/kbdclass/kbdclass.h [iso-8859-1] (original) +++ branches/pierre-fsd/drivers/input/kbdclass/kbdclass.h [iso-8859-1] Wed Aug 12 10:57:21 2009 @@ -4,7 +4,6 @@ #include <stdio.h> #include <pseh/pseh2.h> -#define NDEBUG #include <debug.h> #define MAX_PATH 260 @@ -13,6 +12,7 @@ #define TAG(A, B, C, D) (ULONG)(((A)<<0) + ((B)<<8) + ((C)<<16) + ((D)<<24)) #define CLASS_TAG TAG('K', 'b', 'd', 'C') +#define DPFLTR_CLASS_NAME_ID DPFLTR_KBDCLASS_ID typedef enum { Modified: branches/pierre-fsd/drivers/input/kbdclass/misc.c URL:
http://svn.reactos.org/svn/reactos/branches/pierre-fsd/drivers/input/kbdcla…
============================================================================== --- branches/pierre-fsd/drivers/input/kbdclass/misc.c [iso-8859-1] (original) +++ branches/pierre-fsd/drivers/input/kbdclass/misc.c [iso-8859-1] Wed Aug 12 10:57:21 2009 @@ -37,7 +37,7 @@ KeInitializeEvent(&Event, NotificationEvent, FALSE); IoCopyCurrentIrpStackLocationToNext(Irp); - DPRINT("Calling lower device %p\n", LowerDevice); + TRACE_(CLASS_NAME, "Calling lower device %p\n", LowerDevice); IoSetCompletionRoutine(Irp, ForwardIrpAndWaitCompletion, &Event, TRUE, TRUE, TRUE); Status = IoCallDriver(LowerDevice, Irp); Modified: branches/pierre-fsd/include/reactos/win32k/ntgdityp.h URL:
http://svn.reactos.org/svn/reactos/branches/pierre-fsd/include/reactos/win3…
============================================================================== --- branches/pierre-fsd/include/reactos/win32k/ntgdityp.h [iso-8859-1] (original) +++ branches/pierre-fsd/include/reactos/win32k/ntgdityp.h [iso-8859-1] Wed Aug 12 10:57:21 2009 @@ -229,8 +229,8 @@ typedef struct _UNIVERSAL_FONT_ID { - ULONG CheckSum; - ULONG Index; + ULONG CheckSum; + ULONG Index; } UNIVERSAL_FONT_ID, *PUNIVERSAL_FONT_ID; #define RI_TECH_BITMAP 1 @@ -602,7 +602,13 @@ typedef VOID (NTAPI *PGD_SYNCHRONIZESURFACE)(SURFOBJ*, RECTL *, FLONG); // -// Most of these are definded in ddk/winddi.h +// Declarations missing in ddk/winddi.h +// +typedef VOID (APIENTRY *PFN_DrvMovePanning)(LONG, LONG, FLONG); + + +// +// Most of these are defined in ddk/winddi.h // typedef struct _DRIVER_FUNCTIONS {
15 years, 4 months
1
0
0
0
[jimtabor] 42633: - Check if server side window proc is set when clearing or setting dialog window flag.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Wed Aug 12 09:42:30 2009 New Revision: 42633 URL:
http://svn.reactos.org/svn/reactos?rev=42633&view=rev
Log: - Check if server side window proc is set when clearing or setting dialog window flag. Modified: trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c Modified: trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c [iso-8859-1] Wed Aug 12 09:42:30 2009 @@ -820,7 +820,8 @@ pWnd = Window->Wnd; if (pWnd->head.pti->ppi == PsGetCurrentProcessWin32Process() && - pWnd->cbwndExtra == DLGWINDOWEXTRA) + pWnd->cbwndExtra == DLGWINDOWEXTRA && + !(pWnd->state & WNDS_SERVERSIDEWINDOWPROC)) { if (Param) {
15 years, 4 months
1
0
0
0
[jimtabor] 42632: Rewrite NtUserGetCPD to correctly return the callproc handle pointer.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Wed Aug 12 09:35:15 2009 New Revision: 42632 URL:
http://svn.reactos.org/svn/reactos?rev=42632&view=rev
Log: Rewrite NtUserGetCPD to correctly return the callproc handle pointer. Modified: trunk/reactos/subsystems/win32/win32k/ntuser/callproc.c Modified: trunk/reactos/subsystems/win32/win32k/ntuser/callproc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/callproc.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/callproc.c [iso-8859-1] Wed Aug 12 09:35:15 2009 @@ -111,6 +111,72 @@ return TRUE; } +/* + Based on UserFindCallProc. + */ +PCALLPROCDATA +FASTCALL +UserSearchForCallProc( + PCALLPROCDATA pcpd, + WNDPROC WndProc, + GETCPD Type) +{ + while ( pcpd && (pcpd->pfnClientPrevious != WndProc || pcpd->wType != Type) ) + { + pcpd = pcpd->spcpdNext; + } + return pcpd; +} + +/* + Get Call Proc Data handle for the window proc being requested or create a + new Call Proc Data handle to be return for the requested window proc. + */ +ULONG_PTR +FASTCALL +UserGetCPD( + PVOID pvClsWnd, + GETCPD Flags, + ULONG_PTR ProcIn) +{ + PCLS pCls; + PWND pWnd; + PCALLPROCDATA CallProc = NULL; + PTHREADINFO pti; + + pti = PsGetCurrentThreadWin32Thread(); + + if ( Flags & (UserGetCPDWindow|UserGetCPDDialog) || + Flags & UserGetCPDWndtoCls) + { + pWnd = pvClsWnd; + pCls = pWnd->pcls; + } + else + pCls = pvClsWnd; + + // Search Class call proc data list. + if (pCls->spcpdFirst) + CallProc = UserSearchForCallProc( pCls->spcpdFirst, (WNDPROC)ProcIn, Flags); + + // No luck, create a new one for the requested proc. + if (!CallProc) + { + CallProc = CreateCallProc( NULL, + (WNDPROC)ProcIn, + (Flags & UserGetCPDU2A), + pti->ppi); + if (CallProc) + { + CallProc->spcpdNext = pCls->spcpdFirst; + (void)InterlockedExchangePointer((PVOID*)&pCls->spcpdFirst, + CallProc); + CallProc->wType = Flags; + } + } + return (ULONG_PTR)(CallProc ? GetCallProcHandle(CallProc) : NULL); +} + /* SYSCALLS *****************************************************************/ /* @@ -138,9 +204,7 @@ { PWINDOW_OBJECT Window; PWND Wnd; - PCLS Class; ULONG_PTR Result = 0; - BOOL Ansi; UserEnterExclusive(); if (!(Window = UserGetWindowObject(hWnd)) || !Window->Wnd) @@ -148,18 +212,10 @@ goto Cleanup; } Wnd = Window->Wnd; - Class = Wnd->pcls; - /* Ex: Retrieve the Unicode Proc since the default is Ansi. */ - Ansi = (Flags & UserGetCPDA2U); // Ansi to Unicode request from user. - - if ( Flags & (UserGetCPDWindow|UserGetCPDDialog)) - { - Result = UserGetWindowLong( hWnd, GWL_WNDPROC, Ansi); - } - else if (Flags & (UserGetCPDClass|UserGetCPDWndtoCls)) - { - Result = UserGetClassLongPtr( Class, GCLP_WNDPROC, Ansi); - } + + // Processing Window only from User space. + if ((Flags & ~(UserGetCPDU2A|UserGetCPDA2U)) != UserGetCPDClass) + Result = UserGetCPD(Wnd, Flags, ProcIn); Cleanup: UserLeave();
15 years, 4 months
1
0
0
0
[jimtabor] 42631: Properly set the active window frame flag. Add missing file header. Add a note in defwnd.c.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Wed Aug 12 09:03:58 2009 New Revision: 42631 URL:
http://svn.reactos.org/svn/reactos?rev=42631&view=rev
Log: Properly set the active window frame flag. Add missing file header. Add a note in defwnd.c. Modified: trunk/reactos/subsystems/win32/win32k/ntuser/defwnd.c trunk/reactos/subsystems/win32/win32k/ntuser/event.c trunk/reactos/subsystems/win32/win32k/ntuser/focus.c Modified: trunk/reactos/subsystems/win32/win32k/ntuser/defwnd.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/defwnd.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/defwnd.c [iso-8859-1] Wed Aug 12 09:03:58 2009 @@ -133,7 +133,7 @@ if (LOWORD(lParam)) { if (wParam) - { + {// WNDS_HIDDENPOPUP if (!(Window->Flags & WIN_NEEDS_SHOW_OWNEDPOPUP)) break; Window->Flags &= ~WIN_NEEDS_SHOW_OWNEDPOPUP; } Modified: trunk/reactos/subsystems/win32/win32k/ntuser/event.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/event.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/event.c [iso-8859-1] Wed Aug 12 09:03:58 2009 @@ -1,3 +1,10 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS kernel + * PURPOSE: Window event handlers + * FILE: subsystem/win32/win32k/ntuser/event.c + * PROGRAMER: James Tabor (james.tabor(a)rectos.org) + */ #include <w32k.h> Modified: trunk/reactos/subsystems/win32/win32k/ntuser/focus.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/focus.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/focus.c [iso-8859-1] Wed Aug 12 09:03:58 2009 @@ -95,7 +95,11 @@ Window->Wnd->hWndLastActive = hWnd; if (Window->Wnd->spwndOwner) Window->Wnd->spwndOwner->hWndLastActive = hWnd; - } + Window->Wnd->state |= WNDS_ACTIVEFRAME; + } + + if (WindowPrev && WindowPrev->Wnd) + WindowPrev->Wnd->state &= ~WNDS_ACTIVEFRAME; if (Window && WindowPrev) {
15 years, 4 months
1
0
0
0
[jimtabor] 42630: - Move W32 Process flags to the proper place.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Wed Aug 12 08:54:31 2009 New Revision: 42630 URL:
http://svn.reactos.org/svn/reactos?rev=42630&view=rev
Log: - Move W32 Process flags to the proper place. Modified: trunk/reactos/subsystems/win32/win32k/include/misc.h trunk/reactos/subsystems/win32/win32k/include/win32.h Modified: trunk/reactos/subsystems/win32/win32k/include/misc.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/misc.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/misc.h [iso-8859-1] Wed Aug 12 08:54:31 2009 @@ -1,34 +1,5 @@ #ifndef __WIN32K_MISC_H #define __WIN32K_MISC_H - -/* W32PROCESS flags */ -#define W32PF_CONSOLEAPPLICATION 0x00000001 -#define W32PF_FORCEOFFFEEDBACK 0x00000002 -#define W32PF_STARTGLASS 0x00000004 -#define W32PF_WOW 0x00000008 -#define W32PF_READSCREENACCESSGRANTED 0x00000010 -#define W32PF_INITIALIZED 0x00000020 -#define W32PF_APPSTARTING 0x00000040 -#define W32PF_WOW64 0x00000080 -#define W32PF_ALLOWFOREGROUNDACTIVATE 0x00000100 -#define W32PF_OWNDCCLEANUP 0x00000200 -#define W32PF_SHOWSTARTGLASSCALLED 0x00000400 -#define W32PF_FORCEBACKGROUNDPRIORITY 0x00000800 -#define W32PF_TERMINATED 0x00001000 -#define W32PF_CLASSESREGISTERED 0x00002000 -#define W32PF_THREADCONNECTED 0x00004000 -#define W32PF_PROCESSCONNECTED 0x00008000 -#define W32PF_WAKEWOWEXEC 0x00010000 -#define W32PF_WAITFORINPUTIDLE 0x00020000 -#define W32PF_IOWINSTA 0x00040000 -#define W32PF_CONSOLEFOREGROUND 0x00080000 -#define W32PF_OLELOADED 0x00100000 -#define W32PF_SCREENSAVER 0x00200000 -#define W32PF_IDLESCREENSAVER 0x00400000 -// ReactOS -#define W32PF_NOWINDOWGHOSTING (0x01000000) -#define W32PF_MANUALGUICHECK (0x02000000) -#define W32PF_CREATEDWINORDC (0x04000000) typedef struct INTENG_ENTER_LEAVE_TAG { Modified: trunk/reactos/subsystems/win32/win32k/include/win32.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/win32.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/win32.h [iso-8859-1] Wed Aug 12 08:54:31 2009 @@ -1,5 +1,35 @@ #ifndef __INCLUDE_NAPI_WIN32_H #define __INCLUDE_NAPI_WIN32_H + +/* W32PROCESS flags */ +#define W32PF_CONSOLEAPPLICATION 0x00000001 +#define W32PF_FORCEOFFFEEDBACK 0x00000002 +#define W32PF_STARTGLASS 0x00000004 +#define W32PF_WOW 0x00000008 +#define W32PF_READSCREENACCESSGRANTED 0x00000010 +#define W32PF_INITIALIZED 0x00000020 +#define W32PF_APPSTARTING 0x00000040 +#define W32PF_WOW64 0x00000080 +#define W32PF_ALLOWFOREGROUNDACTIVATE 0x00000100 +#define W32PF_OWNDCCLEANUP 0x00000200 +#define W32PF_SHOWSTARTGLASSCALLED 0x00000400 +#define W32PF_FORCEBACKGROUNDPRIORITY 0x00000800 +#define W32PF_TERMINATED 0x00001000 +#define W32PF_CLASSESREGISTERED 0x00002000 +#define W32PF_THREADCONNECTED 0x00004000 +#define W32PF_PROCESSCONNECTED 0x00008000 +#define W32PF_WAKEWOWEXEC 0x00010000 +#define W32PF_WAITFORINPUTIDLE 0x00020000 +#define W32PF_IOWINSTA 0x00040000 +#define W32PF_CONSOLEFOREGROUND 0x00080000 +#define W32PF_OLELOADED 0x00100000 +#define W32PF_SCREENSAVER 0x00200000 +#define W32PF_IDLESCREENSAVER 0x00400000 +#define W32PF_ICONTITLEREGISTERED 0x10000000 +// ReactOS +#define W32PF_NOWINDOWGHOSTING (0x01000000) +#define W32PF_MANUALGUICHECK (0x02000000) +#define W32PF_CREATEDWINORDC (0x04000000) extern BOOL ClientPfnInit; extern HINSTANCE hModClient; @@ -95,8 +125,10 @@ { W32PROCESS; - PCLS pclsPrivateList; - PCLS pclsPublicList; + PCLS pclsPrivateList; + PCLS pclsPublicList; + + DWORD dwRegisteredClasses; /* ReactOS */ LIST_ENTRY ClassList; LIST_ENTRY MenuListHead;
15 years, 4 months
1
0
0
0
[jimtabor] 42629: Properly set and clear the dialog window flag.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Wed Aug 12 08:41:20 2009 New Revision: 42629 URL:
http://svn.reactos.org/svn/reactos?rev=42629&view=rev
Log: Properly set and clear the dialog window flag. Modified: trunk/reactos/dll/win32/user32/windows/dialog.c trunk/reactos/subsystems/win32/win32k/include/win32.h trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c Modified: trunk/reactos/dll/win32/user32/windows/dialog.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/d…
============================================================================== --- trunk/reactos/dll/win32/user32/windows/dialog.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/windows/dialog.c [iso-8859-1] Wed Aug 12 08:41:20 2009 @@ -160,7 +160,7 @@ SETDLGINFO( hWnd, dlgInfo ); - NtUserSetWindowFNID( hWnd, FNID_DIALOG ); + NtUserCallHwndParam( hWnd, (DWORD)dlgInfo, HWNDPARAM_ROUTINE_SETDIALOGPOINTER ); } else { @@ -1088,6 +1088,7 @@ if (dlgInfo->hUserFont) DeleteObject( dlgInfo->hUserFont ); if (dlgInfo->hMenu) DestroyMenu( dlgInfo->hMenu ); HeapFree( GetProcessHeap(), 0, dlgInfo ); + NtUserCallHwndParam( hwnd, 0, HWNDPARAM_ROUTINE_SETDIALOGPOINTER ); } /* Window clean-up */ return DefWindowProcA( hwnd, msg, wParam, lParam ); Modified: trunk/reactos/subsystems/win32/win32k/include/win32.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/win32.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/win32.h [iso-8859-1] Wed Aug 12 08:41:20 2009 @@ -36,7 +36,7 @@ { W32THREAD; PTL ptl; - PVOID ppi; // FIXME: use PPROCESSINFO + PPROCESSINFO ppi; struct _USER_MESSAGE_QUEUE* MessageQueue; struct _KBL* KeyboardLayout; PCLIENTTHREADINFO pcti; Modified: trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/simplecall.c [iso-8859-1] Wed Aug 12 08:41:20 2009 @@ -802,6 +802,42 @@ { case HWNDPARAM_ROUTINE_KILLSYSTEMTIMER: return IntKillTimer(hWnd, (UINT_PTR)Param, TRUE); + + case HWNDPARAM_ROUTINE_SETDIALOGPOINTER: + { + PWINDOW_OBJECT Window; + PWND pWnd; + USER_REFERENCE_ENTRY Ref; + + UserEnterExclusive(); + + if (!(Window = UserGetWindowObject(hWnd)) || !Window->Wnd) + { + UserLeave(); + return 0; + } + UserRefObjectCo(Window, &Ref); + + pWnd = Window->Wnd; + if (pWnd->head.pti->ppi == PsGetCurrentProcessWin32Process() && + pWnd->cbwndExtra == DLGWINDOWEXTRA) + { + if (Param) + { + if (!pWnd->fnid) pWnd->fnid = FNID_DIALOG; + pWnd->state |= WNDS_DIALOGWINDOW; + } + else + { + pWnd->fnid |= FNID_DESTROY; + pWnd->state &= ~WNDS_DIALOGWINDOW; + } + } + + UserDerefObjectCo(Window); + UserLeave(); + return 0; + } } UNIMPLEMENTED;
15 years, 4 months
1
0
0
0
[tkreuzer] 42628: Make the tui console background black instead of blue.
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Tue Aug 11 22:23:18 2009 New Revision: 42628 URL:
http://svn.reactos.org/svn/reactos?rev=42628&view=rev
Log: Make the tui console background black instead of blue. Modified: trunk/reactos/subsystems/win32/csrss/win32csr/tuiconsole.c Modified: trunk/reactos/subsystems/win32/csrss/win32csr/tuiconsole.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win…
============================================================================== --- trunk/reactos/subsystems/win32/csrss/win32csr/tuiconsole.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/csrss/win32csr/tuiconsole.c [iso-8859-1] Tue Aug 11 22:23:18 2009 @@ -66,6 +66,7 @@ CONSOLE_SCREEN_BUFFER_INFO ScrInfo; DWORD BytesReturned; WNDCLASSEXW wc; + USHORT TextAttribute = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED; TuiStartService(L"Blue"); @@ -81,8 +82,15 @@ &OemCP, sizeof(OemCP), NULL, 0, &BytesReturned, NULL)) { - DPRINT("Failed to load the font for codepage %d\n", OemCP); + DPRINT1("Failed to load the font for codepage %d\n", OemCP); /* Let's suppose the font is good enough to continue */ + } + + if (!DeviceIoControl(ConsoleDeviceHandle, IOCTL_CONSOLE_SET_TEXT_ATTRIBUTE, + &TextAttribute, sizeof(TextAttribute), NULL, 0, + &BytesReturned, NULL)) + { + DPRINT1("Failed to set text attribute\n"); } ActiveConsole = NULL; @@ -112,7 +120,7 @@ static VOID WINAPI TuiInitScreenBuffer(PCSRSS_CONSOLE Console, PCSRSS_SCREEN_BUFFER Buffer) { - Buffer->DefaultAttrib = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED | BACKGROUND_BLUE; + Buffer->DefaultAttrib = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED; } static void FASTCALL
15 years, 4 months
1
0
0
0
[gschneider] 42627: Amendment to r42615: add the check in the correct line
by gschneider@svn.reactos.org
Author: gschneider Date: Tue Aug 11 21:50:42 2009 New Revision: 42627 URL:
http://svn.reactos.org/svn/reactos?rev=42627&view=rev
Log: Amendment to r42615: add the check in the correct line Modified: trunk/reactos/subsystems/win32/win32k/dib/stretchblt.c Modified: trunk/reactos/subsystems/win32/win32k/dib/stretchblt.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/di…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/dib/stretchblt.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/dib/stretchblt.c [iso-8859-1] Tue Aug 11 21:50:42 2009 @@ -144,9 +144,9 @@ } } - if (UsesPattern && CanDraw) + if (CanDraw) { - if (PatternSurface) + if (UsesPattern && PatternSurface) { Pattern = fnPattern_GetPixel(PatternSurface, PatternX, PatternY); PatternX++;
15 years, 4 months
1
0
0
0
← Newer
1
...
32
33
34
35
36
37
38
...
66
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Results per page:
10
25
50
100
200