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
March 2005
----- 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
26 participants
609 discussions
Start a n
N
ew thread
[weiden] 14065: revert the changes i accidently made, sorry
by weiden@svn.reactos.com
revert the changes i accidently made, sorry Modified: trunk/reactos/config _____ Modified: trunk/reactos/config --- trunk/reactos/config 2005-03-14 16:04:12 UTC (rev 14064) +++ trunk/reactos/config 2005-03-14 16:10:21 UTC (rev 14065) @@ -14,17 +14,17 @@ # be optimized for. # -OARCH := i586 +OARCH := i486 # # Whether to compile in the kernel debugger # -KDBG := 1 +KDBG := 0 # # Whether to compile for debugging # -DBG := 1 +DBG := 0 # # Whether to compile a multiprocessor or single processor version
19 years, 9 months
1
0
0
0
[weiden] 14064: implemented the SystemInterruptInformation information class to fill the structure with empty data to make process explorer shut up
by weiden@svn.reactos.com
implemented the SystemInterruptInformation information class to fill the structure with empty data to make process explorer shut up Modified: trunk/reactos/config Modified: trunk/reactos/include/ntos/zwtypes.h Modified: trunk/reactos/ntoskrnl/ex/sysinfo.c Modified: trunk/reactos/ntoskrnl/include/internal/i386/ps.h _____ Modified: trunk/reactos/config --- trunk/reactos/config 2005-03-14 15:23:44 UTC (rev 14063) +++ trunk/reactos/config 2005-03-14 16:04:12 UTC (rev 14064) @@ -14,17 +14,17 @@ # be optimized for. # -OARCH := i486 +OARCH := i586 # # Whether to compile in the kernel debugger # -KDBG := 0 +KDBG := 1 # # Whether to compile for debugging # -DBG := 0 +DBG := 1 # # Whether to compile a multiprocessor or single processor version _____ Modified: trunk/reactos/include/ntos/zwtypes.h --- trunk/reactos/include/ntos/zwtypes.h 2005-03-14 15:23:44 UTC (rev 14063) +++ trunk/reactos/include/ntos/zwtypes.h 2005-03-14 16:04:12 UTC (rev 14064) @@ -490,6 +490,19 @@ } SYSTEM_CACHE_INFORMATION; +// SystemInterruptInformation (23) +typedef +struct _SYSTEM_INTERRUPT_INFORMATION +{ + ULONG ContextSwitches; + ULONG DpcCount; + ULONG DpcRate; + ULONG TimeIncrement; + ULONG DpcBypassCount; + ULONG ApcBypassCount; + +} SYSTEM_INTERRUPT_INFORMATION, *PSYSTEM_INTERRUPT_INFORMATION; + // SystemDpcInformation (24) typedef struct _SYSTEM_DPC_INFORMATION _____ Modified: trunk/reactos/ntoskrnl/ex/sysinfo.c --- trunk/reactos/ntoskrnl/ex/sysinfo.c 2005-03-14 15:23:44 UTC (rev 14063) +++ trunk/reactos/ntoskrnl/ex/sysinfo.c 2005-03-14 16:04:12 UTC (rev 14064) @@ -1017,12 +1017,35 @@ return (STATUS_NOT_IMPLEMENTED); } -/* Class 23 - Interrupt Information */ +/* Class 23 - Interrupt Information for all processors */ QSI_DEF(SystemInterruptInformation) { - /* FIXME */ - DPRINT1("NtQuerySystemInformation - SystemInterruptInformation not implemented\n"); - return (STATUS_NOT_IMPLEMENTED); + PKPRCB Prcb; + UINT i; + ULONG ti; + PSYSTEM_INTERRUPT_INFORMATION sii = (PSYSTEM_INTERRUPT_INFORMATION)Buffer; + + if(Size < KeNumberProcessors * sizeof(SYSTEM_INTERRUPT_INFORMATION)) + { + return (STATUS_INFO_LENGTH_MISMATCH); + } + + ti = KeQueryTimeIncrement(); + + Prcb = ((PKPCR)KPCR_BASE)->Prcb; + for (i = 0; i < KeNumberProcessors; i++) + { + sii->ContextSwitches = Prcb->KeContextSwitches; + sii->DpcCount = 0; /* FIXME */ + sii->DpcRate = 0; /* FIXME */ + sii->TimeIncrement = ti; + sii->DpcBypassCount = 0; /* FIXME */ + sii->ApcBypassCount = 0; /* FIXME */ + sii++; + Prcb = (PKPRCB)((ULONG_PTR)Prcb + PAGE_SIZE); + } + + return STATUS_SUCCESS; } /* Class 24 - DPC Behaviour Information */ _____ Modified: trunk/reactos/ntoskrnl/include/internal/i386/ps.h --- trunk/reactos/ntoskrnl/include/internal/i386/ps.h 2005-03-14 15:23:44 UTC (rev 14063) +++ trunk/reactos/ntoskrnl/include/internal/i386/ps.h 2005-03-14 16:04:12 UTC (rev 14064) @@ -102,7 +102,7 @@ ULONG CcCopyReadWait; ULONG CcCopyReadNoWaitMiss; ULONG KeAlignmentFixupCount; - ULONG SpareCounter0; + ULONG KeContextSwitches; ULONG KeDcacheFlushCount; ULONG KeExceptionDispatchCount; ULONG KeFirstLevelTbFills;
19 years, 9 months
1
0
0
0
[weiden] 14063: ignore alignment checks for unimplemented information classes in NtQuery/SetInformationProcess(). This gets sysinternals' ProcessExplorer to run
by weiden@svn.reactos.com
ignore alignment checks for unimplemented information classes in NtQuery/SetInformationProcess(). This gets sysinternals' ProcessExplorer to run Modified: trunk/reactos/ntoskrnl/ps/process.c _____ Modified: trunk/reactos/ntoskrnl/ps/process.c --- trunk/reactos/ntoskrnl/ps/process.c 2005-03-14 15:22:46 UTC (rev 14062) +++ trunk/reactos/ntoskrnl/ps/process.c 2005-03-14 15:23:44 UTC (rev 14063) @@ -72,14 +72,14 @@ ICI_SQ_SAME( sizeof(UNICODE_STRING), sizeof(ULONG), ICIF_QUERY | ICIF_SIZE_VARIABLE), /* ProcessImageFileName */ /* FIXME */ - ICI_SQ_SAME( 0, 0, 0 ), /* ProcessLUIDDeviceMapsEnabled */ - ICI_SQ_SAME( 0, 0, 0 ), /* ProcessBreakOnTermination */ - ICI_SQ_SAME( 0, 0, 0 ), /* ProcessDebugObjectHandle */ - ICI_SQ_SAME( 0, 0, 0 ), /* ProcessDebugFlags */ - ICI_SQ_SAME( 0, 0, 0 ), /* ProcessHandleTracing */ - ICI_SQ_SAME( 0, 0, 0 ), /* ProcessUnknown33 */ - ICI_SQ_SAME( 0, 0, 0 ), /* ProcessUnknown34 */ - ICI_SQ_SAME( 0, 0, 0 ), /* ProcessUnknown35 */ + ICI_SQ_SAME( 0, 1, 0 ), /* ProcessLUIDDeviceMapsEnabled */ + ICI_SQ_SAME( 0, 1, 0 ), /* ProcessBreakOnTermination */ + ICI_SQ_SAME( 0, 1, 0 ), /* ProcessDebugObjectHandle */ + ICI_SQ_SAME( 0, 1, 0 ), /* ProcessDebugFlags */ + ICI_SQ_SAME( 0, 1, 0 ), /* ProcessHandleTracing */ + ICI_SQ_SAME( 0, 1, 0 ), /* ProcessUnknown33 */ + ICI_SQ_SAME( 0, 1, 0 ), /* ProcessUnknown34 */ + ICI_SQ_SAME( 0, 1, 0 ), /* ProcessUnknown35 */ ICI_SQ_SAME( sizeof(ULONG), sizeof(ULONG), ICIF_QUERY), /* ProcessCookie */ };
19 years, 9 months
1
0
0
0
[weiden] 14062: safely access buffers in NtReadVirtualMemory()
by weiden@svn.reactos.com
safely access buffers in NtReadVirtualMemory() Modified: trunk/reactos/ntoskrnl/mm/virtual.c _____ Modified: trunk/reactos/ntoskrnl/mm/virtual.c --- trunk/reactos/ntoskrnl/mm/virtual.c 2005-03-14 14:30:43 UTC (rev 14061) +++ trunk/reactos/ntoskrnl/mm/virtual.c 2005-03-14 15:22:46 UTC (rev 14062) @@ -463,12 +463,42 @@ IN ULONG NumberOfBytesToRead, OUT PULONG NumberOfBytesRead OPTIONAL) { - NTSTATUS Status; PMDL Mdl; PVOID SystemAddress; + KPROCESSOR_MODE PreviousMode; PEPROCESS Process, CurrentProcess; + NTSTATUS Status = STATUS_SUCCESS; + + PAGED_CODE(); + + PreviousMode = ExGetPreviousMode(); + + if(PreviousMode != KernelMode) + { + _SEH_TRY + { + ProbeForWrite(Buffer, + NumberOfBytesToRead, + 1); + if(NumberOfBytesRead != NULL) + { + ProbeForWrite(NumberOfBytesRead, + sizeof(ULONG), + sizeof(ULONG)); + } + } + _SEH_HANDLE + { + Status = _SEH_GetExceptionCode(); + } + _SEH_END; + + if(!NT_SUCCESS(Status)) + { + return Status; + } + } - DPRINT("NtReadVirtualMemory(ProcessHandle %x, BaseAddress %x, " "Buffer %x, NumberOfBytesToRead %d)\n",ProcessHandle,BaseAddress, Buffer,NumberOfBytesToRead); @@ -476,7 +506,7 @@ Status = ObReferenceObjectByHandle(ProcessHandle, PROCESS_VM_WRITE, NULL, - UserMode, + PreviousMode, (PVOID*)(&Process), NULL); if (!NT_SUCCESS(Status)) @@ -488,7 +518,15 @@ if (Process == CurrentProcess) { - memcpy(Buffer, BaseAddress, NumberOfBytesToRead); + _SEH_TRY + { + RtlCopyMemory(Buffer, BaseAddress, NumberOfBytesToRead); + } + _SEH_HANDLE + { + Status = _SEH_GetExceptionCode(); + } + _SEH_END; } else { @@ -500,39 +538,62 @@ ObDereferenceObject(Process); return(STATUS_NO_MEMORY); } - MmProbeAndLockPages(Mdl, - UserMode, - IoWriteAccess); + _SEH_TRY + { + MmProbeAndLockPages(Mdl, + PreviousMode, + IoWriteAccess); + } + _SEH_HANDLE + { + Status = _SEH_GetExceptionCode(); + } + _SEH_END; + + if(NT_SUCCESS(Status)) + { + KeAttachProcess(&Process->Pcb); - KeAttachProcess(&Process->Pcb); + SystemAddress = MmGetSystemAddressForMdl(Mdl); - SystemAddress = MmGetSystemAddressForMdl(Mdl); + Status = STATUS_SUCCESS; + _SEH_TRY { + ProbeForRead(BaseAddress, NumberOfBytesToRead, 1); + Status = STATUS_PARTIAL_COPY; + RtlCopyMemory(SystemAddress, BaseAddress, NumberOfBytesToRead); + Status = STATUS_SUCCESS; + } _SEH_HANDLE { + if(Status != STATUS_PARTIAL_COPY) + Status = _SEH_GetExceptionCode(); + } _SEH_END; - Status = STATUS_SUCCESS; - _SEH_TRY { - ProbeForRead(BaseAddress, NumberOfBytesToRead, 1); - Status = STATUS_PARTIAL_COPY; - memcpy(SystemAddress, BaseAddress, NumberOfBytesToRead); - Status = STATUS_SUCCESS; - } _SEH_HANDLE { - if(Status != STATUS_PARTIAL_COPY) - Status = _SEH_GetExceptionCode(); - } _SEH_END; + KeDetachProcess(); - KeDetachProcess(); - - if (Mdl->MappedSystemVa != NULL) - { - MmUnmapLockedPages(Mdl->MappedSystemVa, Mdl); + if (Mdl->MappedSystemVa != NULL) + { + MmUnmapLockedPages(Mdl->MappedSystemVa, Mdl); + } + MmUnlockPages(Mdl); } - MmUnlockPages(Mdl); ExFreePool(Mdl); } ObDereferenceObject(Process); - if (NumberOfBytesRead) - *NumberOfBytesRead = NumberOfBytesToRead; + if((NT_SUCCESS(Status) || Status == STATUS_PARTIAL_COPY) && + NumberOfBytesRead != NULL) + { + _SEH_TRY + { + *NumberOfBytesRead = NumberOfBytesToRead; + } + _SEH_HANDLE + { + Status = _SEH_GetExceptionCode(); + } + _SEH_END; + } + return(Status); }
19 years, 9 months
1
0
0
0
[weiden] 14061: fixed copy+paste mistake
by weiden@svn.reactos.com
fixed copy+paste mistake Modified: trunk/reactos/ntoskrnl/ps/process.c _____ Modified: trunk/reactos/ntoskrnl/ps/process.c --- trunk/reactos/ntoskrnl/ps/process.c 2005-03-14 13:42:38 UTC (rev 14060) +++ trunk/reactos/ntoskrnl/ps/process.c 2005-03-14 14:30:43 UTC (rev 14061) @@ -400,7 +400,7 @@ FALSE); PsIdleProcess->Pcb.DirectoryTableBase = (LARGE_INTEGER)(LONGLONG)(ULONG)MmGetPageDirectory(); - strcpy(PsInitialSystemProcess->ImageFileName, "Idle"); + strcpy(PsIdleProcess->ImageFileName, "Idle"); /* * Initialize the system process
19 years, 9 months
1
0
0
0
[weiden] 14060: dereference processes when enumerating them was cancelled. Accidently removed that.
by weiden@svn.reactos.com
dereference processes when enumerating them was cancelled. Accidently removed that. Modified: trunk/reactos/ntoskrnl/ex/sysinfo.c _____ Modified: trunk/reactos/ntoskrnl/ex/sysinfo.c --- trunk/reactos/ntoskrnl/ex/sysinfo.c 2005-03-14 13:24:46 UTC (rev 14059) +++ trunk/reactos/ntoskrnl/ex/sysinfo.c 2005-03-14 13:42:38 UTC (rev 14060) @@ -676,6 +676,11 @@ else pCur = pCur + curSize + inLen; } while ((pr != syspr) && (pr != NULL)); + + if(pr != NULL) + { + ObDereferenceObject(pr); + } *ReqSize = ovlSize; return (STATUS_SUCCESS); @@ -859,6 +864,11 @@ if ((pr == syspr) || (pr == NULL)) break; } while ((pr != syspr) && (pr != NULL)); + + if(pr != NULL) + { + ObDereferenceObject(pr); + } DPRINT("SystemHandleInformation 2\n"); @@ -899,6 +909,11 @@ break; } while ((pr != syspr) && (pr != NULL)); + if(pr != NULL) + { + ObDereferenceObject(pr); + } + DPRINT("SystemHandleInformation 4\n"); return (STATUS_SUCCESS);
19 years, 9 months
1
0
0
0
[weiden] 14059: report idling statistics from the idle process, not from the system process
by weiden@svn.reactos.com
report idling statistics from the idle process, not from the system process Modified: trunk/reactos/ntoskrnl/ex/sysinfo.c _____ Modified: trunk/reactos/ntoskrnl/ex/sysinfo.c --- trunk/reactos/ntoskrnl/ex/sysinfo.c 2005-03-14 13:18:29 UTC (rev 14058) +++ trunk/reactos/ntoskrnl/ex/sysinfo.c 2005-03-14 13:24:46 UTC (rev 14059) @@ -411,7 +411,7 @@ return (STATUS_INFO_LENGTH_MISMATCH); } - TheIdleProcess = PsInitialSystemProcess; /* FIXME */ + TheIdleProcess = PsIdleProcess; Spi->IdleTime.QuadPart = TheIdleProcess->Pcb.KernelTime * 100000LL; @@ -1040,7 +1040,7 @@ } DPRINT("SystemFullMemoryInformation\n"); - TheIdleProcess = PsInitialSystemProcess; /* FIXME */ + TheIdleProcess = PsIdleProcess; DPRINT("PID: %d, KernelTime: %u PFFree: %d PFUsed: %d\n", TheIdleProcess->UniqueProcessId,
19 years, 9 months
1
0
0
0
[weiden] 14058: group idle threads into the idle process
by weiden@svn.reactos.com
group idle threads into the idle process Modified: trunk/reactos/ntoskrnl/ex/sysinfo.c Modified: trunk/reactos/ntoskrnl/ps/idle.c Modified: trunk/reactos/ntoskrnl/ps/process.c Modified: trunk/reactos/ntoskrnl/ps/thread.c _____ Modified: trunk/reactos/ntoskrnl/ex/sysinfo.c --- trunk/reactos/ntoskrnl/ex/sysinfo.c 2005-03-14 11:34:02 UTC (rev 14057) +++ trunk/reactos/ntoskrnl/ex/sysinfo.c 2005-03-14 13:18:29 UTC (rev 14058) @@ -15,6 +15,7 @@ #define NDEBUG #include <internal/debug.h> +extern PEPROCESS PsIdleProcess; extern ULONG NtGlobalFlag; /* FIXME: it should go in a ddk/?.h */ ULONGLONG STDCALL KeQueryInterruptTime(VOID); @@ -611,13 +612,20 @@ SpiCur->ProcessName.Buffer = (void*)(pCur+curSize); // copy name to the end of the struct - RtlInitAnsiString(&imgName, pr->ImageFileName); - RtlAnsiStringToUnicodeString(&SpiCur->ProcessName, &imgName, FALSE); + if(pr != PsIdleProcess) + { + RtlInitAnsiString(&imgName, pr->ImageFileName); + RtlAnsiStringToUnicodeString(&SpiCur->ProcessName, &imgName, FALSE); + } + else + { + RtlInitUnicodeString(&SpiCur->ProcessName, NULL); + } SpiCur->BasePriority = pr->Pcb.BasePriority; SpiCur->ProcessId = pr->UniqueProcessId; SpiCur->InheritedFromProcessId = pr->InheritedFromUniqueProcessId; - SpiCur->HandleCount = ObpGetHandleCountByHandleTable(pr->ObjectTable); + SpiCur->HandleCount = (pr->ObjectTable ? ObpGetHandleCountByHandleTable(pr->ObjectTable) : 0); SpiCur->VmCounters.PeakVirtualSize = pr->PeakVirtualSize; SpiCur->VmCounters.VirtualSize = pr->VirtualSize.QuadPart; SpiCur->VmCounters.PageFaultCount = pr->LastFaultCount; @@ -670,10 +678,6 @@ } while ((pr != syspr) && (pr != NULL)); *ReqSize = ovlSize; - if (pr != NULL) - { - ObDereferenceObject(pr); - } return (STATUS_SUCCESS); } @@ -849,7 +853,7 @@ do { - hCount = hCount + ObpGetHandleCountByHandleTable(pr->ObjectTable); + hCount = hCount + (pr->ObjectTable ? ObpGetHandleCountByHandleTable(pr->ObjectTable) : 0); pr = PsGetNextProcess(pr); if ((pr == syspr) || (pr == NULL)) @@ -858,11 +862,6 @@ DPRINT("SystemHandleInformation 2\n"); - if (pr != NULL) - { - ObDereferenceObject(pr); - } - curSize = sizeof(SYSTEM_HANDLE_INFORMATION)+ ( (sizeof(SYSTEM_HANDLE_TABLE_ENTRY_INFO) * hCount) - (sizeof(SYSTEM_HANDLE_TABLE_ENTRY_INFO) )); @@ -883,9 +882,9 @@ do { - int Count = 0, HandleCount = 0; + int Count = 0, HandleCount; - HandleCount = ObpGetHandleCountByHandleTable(pr->ObjectTable); + HandleCount = (pr->ObjectTable ? ObpGetHandleCountByHandleTable(pr->ObjectTable) : 0); for (Count = 0; HandleCount > 0 ; HandleCount--) { @@ -900,12 +899,6 @@ break; } while ((pr != syspr) && (pr != NULL)); - - if (pr != NULL) - { - ObDereferenceObject(pr); - } - DPRINT("SystemHandleInformation 4\n"); return (STATUS_SUCCESS); _____ Modified: trunk/reactos/ntoskrnl/ps/idle.c --- trunk/reactos/ntoskrnl/ps/idle.c 2005-03-14 11:34:02 UTC (rev 14057) +++ trunk/reactos/ntoskrnl/ps/idle.c 2005-03-14 13:18:29 UTC (rev 14058) @@ -16,6 +16,8 @@ /* GLOBALS *******************************************************************/ +extern PEPROCESS PsIdleProcess; + /* FUNCTIONS *****************************************************************/ /** System idle thread procedure @@ -53,8 +55,8 @@ NTSTATUS Status; PETHREAD IdleThread; KIRQL oldIrql; - - Status = PsInitializeThread(NULL, + + Status = PsInitializeThread(PsIdleProcess, &IdleThread, NULL, KernelMode, _____ Modified: trunk/reactos/ntoskrnl/ps/process.c --- trunk/reactos/ntoskrnl/ps/process.c 2005-03-14 11:34:02 UTC (rev 14057) +++ trunk/reactos/ntoskrnl/ps/process.c 2005-03-14 13:18:29 UTC (rev 14058) @@ -19,6 +19,7 @@ VOID INIT_FUNCTION PsInitClientIDManagment(VOID); PEPROCESS EXPORTED PsInitialSystemProcess = NULL; +PEPROCESS PsIdleProcess = NULL; POBJECT_TYPE EXPORTED PsProcessType = NULL; @@ -120,34 +121,36 @@ if (OldProcess == NULL) { - Status = ObReferenceObjectByPointer(PsInitialSystemProcess, + Status = ObReferenceObjectByPointer(PsIdleProcess, PROCESS_ALL_ACCESS, PsProcessType, KernelMode); if (!NT_SUCCESS(Status)) { - CPRINT("PsGetNextProcess(): ObReferenceObjectByPointer failed for PsInitialSystemProcess\n"); + CPRINT("PsGetNextProcess(): ObReferenceObjectByPointer failed for PsIdleProcess\n"); KEBUGCHECK(0); } - return PsInitialSystemProcess; + return PsIdleProcess; } ExAcquireFastMutex(&PspActiveProcessMutex); NextProcess = OldProcess; while (1) { - if (NextProcess->ProcessListEntry.Blink == &PsActiveProcessHead) + PLIST_ENTRY Flink = (NextProcess == PsIdleProcess ? PsActiveProcessHead.Flink : + NextProcess->ProcessListEntry.Flink); + if (Flink != &PsActiveProcessHead) { - NextProcess = CONTAINING_RECORD(PsActiveProcessHead.Blink, - EPROCESS, - ProcessListEntry); + NextProcess = CONTAINING_RECORD(Flink, + EPROCESS, + ProcessListEntry); } else { - NextProcess = CONTAINING_RECORD(NextProcess->ProcessListEntry.Blink, - EPROCESS, - ProcessListEntry); + NextProcess = NULL; + break; } + Status = ObReferenceObjectByPointer(NextProcess, PROCESS_ALL_ACCESS, PsProcessType, @@ -162,8 +165,7 @@ } else if (!NT_SUCCESS(Status)) { - CPRINT("PsGetNextProcess(): ObReferenceObjectByPointer failed\n"); - KEBUGCHECK(0); + continue; } } @@ -363,6 +365,44 @@ RtlZeroMemory(PiLoadImageNotifyRoutine, sizeof(PiLoadImageNotifyRoutine)); /* + * Initialize the idle process + */ + Status = ObCreateObject(KernelMode, + PsProcessType, + NULL, + KernelMode, + NULL, + sizeof(EPROCESS), + 0, + 0, + (PVOID*)&PsIdleProcess); + if (!NT_SUCCESS(Status)) + { + DPRINT1("Failed to create the idle process object, Status: 0x%x\n", Status); + KEBUGCHECK(0); + return; + } + + RtlZeroMemory(PsIdleProcess, sizeof(EPROCESS)); + + PsIdleProcess->Pcb.Affinity = 0xFFFFFFFF; + PsIdleProcess->Pcb.IopmOffset = 0xffff; + PsIdleProcess->Pcb.LdtDescriptor[0] = 0; + PsIdleProcess->Pcb.LdtDescriptor[1] = 0; + PsIdleProcess->Pcb.BasePriority = PROCESS_PRIO_IDLE; + PsIdleProcess->Pcb.ThreadQuantum = 6; + InitializeListHead(&PsIdleProcess->Pcb.ThreadListHead); + InitializeListHead(&PsIdleProcess->ThreadListHead); + InitializeListHead(&PsIdleProcess->ProcessListEntry); + KeInitializeDispatcherHeader(&PsIdleProcess->Pcb.DispatcherHeader, + ProcessObject, + sizeof(EPROCESS), + FALSE); + PsIdleProcess->Pcb.DirectoryTableBase = + (LARGE_INTEGER)(LONGLONG)(ULONG)MmGetPageDirectory(); + strcpy(PsInitialSystemProcess->ImageFileName, "Idle"); + + /* * Initialize the system process */ Status = ObCreateObject(KernelMode, @@ -376,7 +416,9 @@ (PVOID*)&PsInitialSystemProcess); if (!NT_SUCCESS(Status)) { - return; + DPRINT1("Failed to create the system process object, Status: 0x%x\n", Status); + KEBUGCHECK(0); + return; } /* System threads may run on any processor. */ @@ -886,7 +928,7 @@ Process->Win32WindowStation = (HANDLE)0; ExAcquireFastMutex(&PspActiveProcessMutex); - InsertHeadList(&PsActiveProcessHead, &Process->ProcessListEntry); + InsertTailList(&PsActiveProcessHead, &Process->ProcessListEntry); InitializeListHead(&Process->ThreadListHead); ExReleaseFastMutex(&PspActiveProcessMutex); _____ Modified: trunk/reactos/ntoskrnl/ps/thread.c --- trunk/reactos/ntoskrnl/ps/thread.c 2005-03-14 11:34:02 UTC (rev 14057) +++ trunk/reactos/ntoskrnl/ps/thread.c 2005-03-14 13:18:29 UTC (rev 14058) @@ -28,6 +28,7 @@ /* GLOBALS ******************************************************************/ extern LIST_ENTRY PsActiveProcessHead; +extern PEPROCESS PsIdleProcess; POBJECT_TYPE EXPORTED PsThreadType = NULL; @@ -703,7 +704,7 @@ PETHREAD IdleThread; PKPRCB Prcb = ((PKPCR)((ULONG_PTR)KPCR_BASE + Id * PAGE_SIZE))->Prcb; - PsInitializeThread(NULL, + PsInitializeThread(PsIdleProcess, &IdleThread, NULL, KernelMode,
19 years, 9 months
1
0
0
0
[gvg] 14057: Sync to Wine-20050310:
by gvg@svn.reactos.com
Sync to Wine-20050310: Martijn Vernooij <yuxdwa702(a)sneakemail.com> - Scroll instead of repainting when expanding/collapsing trees. - Don't repaint on hover if 'hot tracking' isn't on. Francois Gouget <fgouget(a)free.fr> - Add the -noname flag to match the Platform SDK. - Assorted spelling fixes. Maxime Bellenge <maxime.bellenge(a)laposte.net> - Take into account the new size of a column when the header size change. - Correctly displays the text with ellipsis when there is not enough room in a header item and an image from an imagelist is displayed on the right of the text. - Fix SetItem so that items don't get wrongly re-ordered. Dmitry Timoshkov <dmitry(a)codeweavers.com> - Fix prototypes of GetClassLongA/W, GetClassLongPtrA/W and SetClassLongA/W according to SDK definitions. - Add prototypes for SetClassLongPtrA/W, protect some GWL_ and GCL_ constants from using in Wine or in _WIN64 mode. - Fix all places in Wine affected by the above changes. Jon Griffiths <jon_p_griffiths(a)yahoo.com> - Documentation spelling fixes. - Remove unneeded calls to TAB_GetInfoPtr(), const fixes, inline small funcs & remove unused parameters. Dimitrie O. Paun <dpaun(a)rogers.com> - Fix indentation for consistency with the rest of the file. - Unicodification. Small cleanups. Filip Navara <navaraf(a)reactos.com> - Implement SB_SETBORDERS. Alex Villacis Lasso <a_villacis(a)palosanto.com> - Change SUBLANG_DEFAULT to SUBLANG_NEUTRAL for LANG_SPANISH in all resources, so that Spanish locales other than Spain also use Spanish resources. Robert Shearman <rob(a)codeweavers.com> - Fix one more place where the code assumes row indices are zero-based. - Document a known bug in the layout code. - Make row number be zero-based. - Improvements to dumping functions to not dump out fields that may not have been filled in. Michael Stefaniuc <mstefani(a)redhat.de> - ImageList_LoadImage{A,W} were basicaly a cut'n'paste of each other. Removed the A variant and did a A->W translation. - ImageList_LoadImageW: get the bitmap size from the image itself and not from the mask (ImageList_LoadImageA did that). Modified: trunk/reactos/include/wine/commctrl.h Modified: trunk/reactos/lib/comctl32/comctl32.spec Modified: trunk/reactos/lib/comctl32/comctl_Es.rc Modified: trunk/reactos/lib/comctl32/draglist.c Modified: trunk/reactos/lib/comctl32/header.c Modified: trunk/reactos/lib/comctl32/imagelist.c Modified: trunk/reactos/lib/comctl32/listview.c Modified: trunk/reactos/lib/comctl32/rebar.c Modified: trunk/reactos/lib/comctl32/status.c Modified: trunk/reactos/lib/comctl32/string.c Modified: trunk/reactos/lib/comctl32/syslink.c Modified: trunk/reactos/lib/comctl32/tab.c Modified: trunk/reactos/lib/comctl32/treeview.c Modified: trunk/reactos/w32api/include/winuser.h _____ Modified: trunk/reactos/include/wine/commctrl.h --- trunk/reactos/include/wine/commctrl.h 2005-03-14 11:01:02 UTC (rev 14056) +++ trunk/reactos/include/wine/commctrl.h 2005-03-14 11:34:02 UTC (rev 14057) @@ -1,5 +1,4 @@ -/* $Id $ - * +/* * Compatibility header * * This header is wrapper to allow compilation of Wine DLLs under ReactOS @@ -59,6 +58,18 @@ #define HDM_SETBITMAPMARGIN (HDM_FIRST+20) #define HDM_GETBITMAPMARGIN (HDM_FIRST+21) -#define FLATSB_CLASSA "flatsb_class32" +#define SB_SETBORDERS (WM_USER+5) +#define FLATSB_CLASSA "flatsb_class32" +#define DRAGLISTMSGSTRINGA "commctrl_DragListMsg" +#if defined(__GNUC__) +# define DRAGLISTMSGSTRINGW (const WCHAR []){ 'c','o','m','m','c','t','r','l', \ + '_','D','r','a','g','L','i','s','t','M','s','g',0 } +#elif defined(_MSC_VER) +# define DRAGLISTMSGSTRINGW L"commctrl_DragListMsg" +#else +static const WCHAR DRAGLISTMSGSTRINGW[] = { 'c','o','m','m','c','t','r','l', \ + '_','D','r','a','g','L','i','s','t','M','s','g',0 }; +#endif + #endif /* __WINE_COMMCTRL_H */ _____ Modified: trunk/reactos/lib/comctl32/comctl32.spec --- trunk/reactos/lib/comctl32/comctl32.spec 2005-03-14 11:01:02 UTC (rev 14056) +++ trunk/reactos/lib/comctl32/comctl32.spec 2005-03-14 11:34:02 UTC (rev 14057) @@ -101,10 +101,10 @@ 402 stdcall -noname FindMRUStringW(long wstr ptr) 403 stdcall -noname EnumMRUListW(long long ptr long) 404 stdcall -noname CreateMRUListLazyW(ptr long long long) -410 stdcall SetWindowSubclass(long ptr long long) -411 stdcall GetWindowSubclass(long ptr long ptr) -412 stdcall RemoveWindowSubclass(long ptr long) -413 stdcall DefSubclassProc(long long long long) +410 stdcall -noname SetWindowSubclass(long ptr long long) +411 stdcall -noname GetWindowSubclass(long ptr long ptr) +412 stdcall -noname RemoveWindowSubclass(long ptr long) +413 stdcall -noname DefSubclassProc(long long long long) 414 stdcall -noname MirrorIcon(ptr ptr) 415 stdcall DrawTextWrap(long wstr long ptr long) user32.DrawTextW 416 stdcall DrawTextExPrivWrap(long wstr long ptr long ptr) user32.DrawTextExW _____ Modified: trunk/reactos/lib/comctl32/comctl_Es.rc --- trunk/reactos/lib/comctl32/comctl_Es.rc 2005-03-14 11:01:02 UTC (rev 14056) +++ trunk/reactos/lib/comctl32/comctl_Es.rc 2005-03-14 11:34:02 UTC (rev 14057) @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -LANGUAGE LANG_SPANISH, SUBLANG_DEFAULT +LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE _____ Modified: trunk/reactos/lib/comctl32/draglist.c --- trunk/reactos/lib/comctl32/draglist.c 2005-03-14 11:01:02 UTC (rev 14056) +++ trunk/reactos/lib/comctl32/draglist.c 2005-03-14 11:34:02 UTC (rev 14057) @@ -42,10 +42,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(commctrl); -/* for compiler compatibility we only accept literal ASCII strings */ -#undef TEXT -#define TEXT(string) string - #define DRAGLIST_SUBCLASSID 0 #define DRAGLIST_SCROLLPERIOD 200 #define DRAGLIST_TIMERID 666 @@ -95,7 +91,7 @@ } /* cleans up after dragging */ -static inline void DragList_EndDrag(HWND hwnd, DRAGLISTDATA * data) +static void DragList_EndDrag(HWND hwnd, DRAGLISTDATA * data) { KillTimer(hwnd, DRAGLIST_TIMERID); ReleaseCapture(); @@ -207,12 +203,12 @@ */ BOOL WINAPI MakeDragList (HWND hwndLB) { - DRAGLISTDATA * data = Alloc(sizeof(DRAGLISTDATA)); + DRAGLISTDATA *data = Alloc(sizeof(DRAGLISTDATA)); TRACE("(%p)\n", hwndLB); if (!uDragListMessage) - uDragListMessage = RegisterWindowMessageA(DRAGLISTMSGSTRING); + uDragListMessage = RegisterWindowMessageW(DRAGLISTMSGSTRINGW); return SetWindowSubclass(hwndLB, DragList_SubclassWindowProc, DRAGLIST_SUBCLASSID, (DWORD_PTR)data); } @@ -301,14 +297,14 @@ ScreenToClient (hwndLB, &pt); GetClientRect (hwndLB, &rcClient); - nIndex = (INT)SendMessageA (hwndLB, LB_GETTOPINDEX, 0, 0); + nIndex = (INT)SendMessageW (hwndLB, LB_GETTOPINDEX, 0, 0); if (PtInRect (&rcClient, pt)) { /* point is inside -- get the item index */ while (TRUE) { - if (SendMessageA (hwndLB, LB_GETITEMRECT, nIndex, (LPARAM)&rcClient) == LB_ERR) + if (SendMessageW (hwndLB, LB_GETITEMRECT, nIndex, (LPARAM)&rcClient) == LB_ERR) return -1; if (PtInRect (&rcClient, pt)) @@ -338,7 +334,7 @@ dwLastScrollTime = dwScrollTime; - SendMessageA (hwndLB, LB_SETTOPINDEX, (WPARAM)nIndex, 0); + SendMessageW (hwndLB, LB_SETTOPINDEX, (WPARAM)nIndex, 0); } return -1; _____ Modified: trunk/reactos/lib/comctl32/header.c --- trunk/reactos/lib/comctl32/header.c 2005-03-14 11:01:02 UTC (rev 14056) +++ trunk/reactos/lib/comctl32/header.c 2005-03-14 11:34:02 UTC (rev 14057) @@ -324,9 +324,19 @@ } else tx = 0; - ImageList_DrawEx(infoPtr->himl, phdi->iImage, hdc, r.left + tx + 2*infoPtr->iMargin, - r.top + (r.bottom-r.top-infoPtr->himl->cy)/2, infoPtr->himl->cx, r.bottom-r.top, - CLR_DEFAULT, CLR_DEFAULT, 0); + + if (tx < (r.right-r.left - infoPtr->himl->cx - GetSystemMetrics(SM_CXEDGE))) + ImageList_DrawEx(infoPtr->himl, phdi->iImage, hdc, r.left + tx + 2*infoPtr->iMargin, + r.top + (r.bottom-r.top-infoPtr->himl->cy)/2, infoPtr->himl->cx, r.bottom-r.top, + CLR_DEFAULT, CLR_DEFAULT, 0); + else { + INT x = max(r.right - infoPtr->iMargin - infoPtr->himl->cx, r.left); + INT cx = min(infoPtr->himl->cx, r.right-r.left - GetSystemMetrics(SM_CXEDGE)); + ImageList_DrawEx(infoPtr->himl, phdi->iImage, hdc, x , + r.top + (r.bottom-r.top-infoPtr->himl->cy)/2, cx, r.bottom-r.top, + CLR_DEFAULT, CLR_DEFAULT, 0); + r.right -= infoPtr->himl->cx - infoPtr->iMargin; + } } if (((phdi->fmt & HDF_STRING) @@ -1203,10 +1213,8 @@ { lpItem->iOrder = phdi->iOrder; } - else - lpItem->iOrder = nItem; - HEADER_SendHeaderNotify (hwnd, HDN_ITEMCHANGEDA, nItem, phdi->mask); + HEADER_SendHeaderNotify (hwnd, HDN_ITEMCHANGEDA, nItem, phdi->mask); HEADER_SetItemBounds (hwnd); @@ -1270,10 +1278,8 @@ { lpItem->iOrder = phdi->iOrder; } - else - lpItem->iOrder = nItem; - HEADER_SendHeaderNotify(hwnd, HDN_ITEMCHANGEDW, nItem, phdi->mask); + HEADER_SendHeaderNotify(hwnd, HDN_ITEMCHANGEDW, nItem, phdi->mask); HEADER_SetItemBounds (hwnd); _____ Modified: trunk/reactos/lib/comctl32/imagelist.c --- trunk/reactos/lib/comctl32/imagelist.c 2005-03-14 11:01:02 UTC (rev 14056) +++ trunk/reactos/lib/comctl32/imagelist.c 2005-03-14 11:34:02 UTC (rev 14057) @@ -1577,84 +1577,28 @@ * * Creates an image list from a bitmap, icon or cursor. * - * PARAMS - * hi [I] instance handle - * lpbmp [I] name or id of the image - * cx [I] width of each image - * cGrow [I] number of images to expand - * clrMask [I] mask color - * uType [I] type of image to load - * uFlags [I] loading flags - * - * RETURNS - * Success: handle to the loaded image list - * Failure: NULL - * * SEE - * LoadImage () + * ImageList_LoadImageW () */ HIMAGELIST WINAPI ImageList_LoadImageA (HINSTANCE hi, LPCSTR lpbmp, INT cx, INT cGrow, COLORREF clrMask, UINT uType, UINT uFlags) { - HIMAGELIST himl = NULL; - HANDLE handle; - INT nImageCount; + HIMAGELIST himl; + LPWSTR lpbmpW; + DWORD len; - handle = LoadImageA (hi, lpbmp, uType, 0, 0, uFlags); - if (!handle) { - ERR("Error loading image!\n"); - return NULL; - } + if (!HIWORD(lpbmp)) + return ImageList_LoadImageW(hi, (LPCWSTR)lpbmp, cx, cGrow, clrMask, + uType, uFlags); - if (uType == IMAGE_BITMAP) { - BITMAP bmp; - GetObjectA (handle, sizeof(BITMAP), &bmp); + len = MultiByteToWideChar(CP_ACP, 0, lpbmp, -1, NULL, 0); + lpbmpW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)); + MultiByteToWideChar(CP_ACP, 0, lpbmp, -1, lpbmpW, len); - /* To match windows behavior, if cx is set to zero and - the flag DI_DEFAULTSIZE is specified, cx becomes the - system metric value for icons. If the flag is not specified - the function sets the size to the height of the bitmap */ - if (cx == 0) - { - if (uFlags & DI_DEFAULTSIZE) - cx = GetSystemMetrics (SM_CXICON); - else - cx = bmp.bmHeight; - } - - nImageCount = bmp.bmWidth / cx; - - himl = ImageList_Create (cx, bmp.bmHeight, ILC_MASK | ILC_COLOR, - nImageCount, cGrow); - if (!himl) { - DeleteObject (handle); - return NULL; - } - ImageList_AddMasked (himl, (HBITMAP)handle, clrMask); - } - else if ((uType == IMAGE_ICON) || (uType == IMAGE_CURSOR)) { - ICONINFO ii; - BITMAP bmp; - - GetIconInfo (handle, &ii); - GetObjectA (ii.hbmColor, sizeof(BITMAP), (LPVOID)&bmp); - himl = ImageList_Create (bmp.bmWidth, bmp.bmHeight, - ILC_MASK | ILC_COLOR, 1, cGrow); - if (!himl) { - DeleteObject (ii.hbmColor); - DeleteObject (ii.hbmMask); - DeleteObject (handle); - return NULL; - } - ImageList_Add (himl, ii.hbmColor, ii.hbmMask); - DeleteObject (ii.hbmColor); - DeleteObject (ii.hbmMask); - } - - DeleteObject (handle); - + himl = ImageList_LoadImageW(hi, lpbmpW, cx, cGrow, clrMask, uType, uFlags); + HeapFree(GetProcessHeap(), 0, lpbmpW); return himl; } @@ -1683,7 +1627,7 @@ HIMAGELIST WINAPI ImageList_LoadImageW (HINSTANCE hi, LPCWSTR lpbmp, INT cx, INT cGrow, - COLORREF clrMask, UINT uType, UINT uFlags) + COLORREF clrMask, UINT uType, UINT uFlags) { HIMAGELIST himl = NULL; HANDLE handle; @@ -1726,7 +1670,7 @@ BITMAP bmp; GetIconInfo (handle, &ii); - GetObjectW (ii.hbmMask, sizeof(BITMAP), (LPVOID)&bmp); + GetObjectW (ii.hbmColor, sizeof(BITMAP), (LPVOID)&bmp); himl = ImageList_Create (bmp.bmWidth, bmp.bmHeight, ILC_MASK | ILC_COLOR, 1, cGrow); if (!himl) { _____ Modified: trunk/reactos/lib/comctl32/listview.c --- trunk/reactos/lib/comctl32/listview.c 2005-03-14 11:01:02 UTC (rev 14056) +++ trunk/reactos/lib/comctl32/listview.c 2005-03-14 11:34:02 UTC (rev 14057) @@ -6276,7 +6276,7 @@ if (infoPtr->clrBk != CLR_NONE) DeleteObject(infoPtr->hBkBrush); infoPtr->clrBk = clrBk; if (clrBk == CLR_NONE) - infoPtr->hBkBrush = (HBRUSH)GetClassLongW(infoPtr->hwndSelf, GCL_HBRBACKGROUND); + infoPtr->hBkBrush = (HBRUSH)GetClassLongPtrW(infoPtr->hwndSelf, GCLP_HBRBACKGROUND); else infoPtr->hBkBrush = CreateSolidBrush(clrBk); LISTVIEW_InvalidateList(infoPtr); @@ -8253,6 +8253,7 @@ lpColumnInfo->rcHeader.right += dx; LISTVIEW_ScrollColumns(infoPtr, lpnmh->iItem + 1, dx); + LISTVIEW_UpdateItemSize(infoPtr); if (uView == LVS_REPORT && is_redrawing(infoPtr)) { /* this trick works for left aligned columns only */ _____ Modified: trunk/reactos/lib/comctl32/rebar.c --- trunk/reactos/lib/comctl32/rebar.c 2005-03-14 11:01:02 UTC (rev 14056) +++ trunk/reactos/lib/comctl32/rebar.c 2005-03-14 11:34:02 UTC (rev 14057) @@ -134,7 +134,7 @@ SIZE offChild; /* x,y offset if child is not FIXEDSIZE */ UINT uMinHeight; - INT iRow; /* row this band assigned to */ + INT iRow; /* zero-based index of the row this band assigned to */ UINT fStatus; /* status flags, reset only by _Validate */ UINT fDraw; /* drawing flags, reset only by _Layout */ UINT uCDret; /* last return from NM_CUSTOMDRAW */ @@ -360,8 +360,14 @@ REBAR_DumpBandInfo( LPREBARBANDINFOA pB) { if( !TRACE_ON(rebar) ) return; - TRACE("band info: ID=%u, size=%u, child=%p, clrF=0x%06lx, clrB=0x%06lx\n", - pB->wID, pB->cbSize, pB->hwndChild, pB->clrFore, pB->clrBack); + TRACE("band info: "); + if (pB->fMask & RBBIM_ID); + TRACE("ID=%u, ", pB->wID); + TRACE("size=%u, child=%p", pB->cbSize, pB->hwndChild); + if (pB->fMask & RBBIM_COLORS) + TRACE(", clrF=0x%06lx, clrB=0x%06lx", pB->clrFore, pB->clrBack); + TRACE("\n"); + TRACE("band info: mask=0x%08x (%s)\n", pB->fMask, REBAR_FmtMask(pB->fMask)); if (pB->fMask & RBBIM_STYLE) TRACE("band info: style=0x%08x (%s)\n", pB->fStyle, REBAR_FmtStyle(pB->fStyle)); @@ -403,8 +409,14 @@ (iP->NtfUnicode)?"TRUE":"FALSE", (iP->DoRedraw)?"TRUE":"FALSE"); for (i = 0; i < iP->uNumBands; i++) { pB = &iP->bands[i]; - TRACE("band # %u: ID=%u, child=%p, row=%u, clrF=0x%06lx, clrB=0x%06lx\n", - i, pB->wID, pB->hwndChild, pB->iRow, pB->clrFore, pB->clrBack); + TRACE("band # %u:", i); + if (pB->fMask & RBBIM_ID); + TRACE(" ID=%u", pB->wID); + if (pB->fMask & RBBIM_CHILD) + TRACE(" child=%p", pB->hwndChild); + if (pB->fMask & RBBIM_COLORS) + TRACE(" clrF=0x%06lx clrB=0x%06lx", pB->clrFore, pB->clrBack); + TRACE("\n"); TRACE("band # %u: mask=0x%08x (%s)\n", i, pB->fMask, REBAR_FmtMask(pB->fMask)); if (pB->fMask & RBBIM_STYLE) TRACE("band # %u: style=0x%08x (%s)\n", @@ -1419,7 +1431,7 @@ clientcx, clientcy, adjcx, adjcy); x = initx; y = inity; - row = 1; + row = 0; cx = 0; mcy = 0; rowstart = 0; @@ -1560,7 +1572,7 @@ } if (infoPtr->uNumBands) - infoPtr->uNumRows = row; + infoPtr->uNumRows = row + 1; /* ******* End Phase 1 - all bands on row at minimum size ******* */ @@ -1583,7 +1595,7 @@ /* now adjust all rectangles by using the height found above */ xy = 0; - row = 1; + row = 0; for (i=0; i<infoPtr->uNumBands; i++) { lpBand = &infoPtr->bands[i]; if (HIDDENBAND(lpBand)) continue; @@ -1759,6 +1771,7 @@ if( !(lpBand->fDraw&DRAW_LAST_IN_ROW) ) continue; + /* FIXME: this next line is wrong, but fixing it to be inverted causes IE's sidebars to be the wrong size */ if (lpBand->fMask & RBBS_VARIABLEHEIGHT) continue; if (((INT)lpBand->cyMaxChild < 1) || ((INT)lpBand->cyIntegral < 1)) { @@ -1943,7 +1956,7 @@ infoPtr->fStatus |= BAND_NEEDS_LAYOUT; /* Header is where the image, text and gripper exist */ - /* in the band and preceed the child window. */ + /* in the band and precede the child window. */ /* count number of non-FIXEDSIZE and non-Hidden bands */ nonfixed = 0; _____ Modified: trunk/reactos/lib/comctl32/status.c --- trunk/reactos/lib/comctl32/status.c 2005-03-14 11:01:02 UTC (rev 14056) +++ trunk/reactos/lib/comctl32/status.c 2005-03-14 11:34:02 UTC (rev 14057) @@ -79,6 +79,9 @@ BOOL NtfUnicode; /* notify format */ STATUSWINDOWPART part0; /* simple window */ STATUSWINDOWPART* parts; + INT horizontalBorder; + INT verticalBorder; + INT horizontalGap; } STATUS_INFO; /* @@ -159,28 +162,24 @@ DrawEdge(hdc, &r, border, BF_RECT|BF_ADJUST); - if (part->style & SBT_OWNERDRAW) - { - DRAWITEMSTRUCT dis; + if (part->style & SBT_OWNERDRAW) { + DRAWITEMSTRUCT dis; - dis.CtlID = GetWindowLongPtrW (infoPtr->Self, GWLP_ID); - dis.itemID = itemID; - dis.hwndItem = infoPtr->Self; - dis.hDC = hdc; - dis.rcItem = r; - dis.itemData = (INT)part->text; - SendMessageW (infoPtr->Notify, WM_DRAWITEM, (WPARAM)dis.CtlID, (LPARAM)&dis); - } - else - { - if (part->hIcon) - { - INT cy = r.bottom - r.top; + dis.CtlID = GetWindowLongPtrW (infoPtr->Self, GWLP_ID); + dis.itemID = itemID; + dis.hwndItem = infoPtr->Self; + dis.hDC = hdc; + dis.rcItem = r; + dis.itemData = (INT)part->text; + SendMessageW (infoPtr->Notify, WM_DRAWITEM, (WPARAM)dis.CtlID, (LPARAM)&dis); + } else { + if (part->hIcon) { + INT cy = r.bottom - r.top; - r.left += 2; - DrawIconEx (hdc, r.left, r.top, part->hIcon, cy, cy, 0, 0, DI_NORMAL); - r.left += cy; - } + r.left += 2; + DrawIconEx (hdc, r.left, r.top, part->hIcon, cy, cy, 0, 0, DI_NORMAL); + r.left += cy; + } DrawStatusTextW (hdc, &r, part->text, SBT_NOBORDERS); } } @@ -213,12 +212,11 @@ if (infoPtr->clrBk != CLR_DEFAULT) DeleteObject (hbrBk); - if (GetWindowLongW (infoPtr->Self, GWL_STYLE) & SBARS_SIZEGRIP) - { - RECT rect; + if (GetWindowLongW (infoPtr->Self, GWL_STYLE) & SBARS_SIZEGRIP) { + RECT rect; - GetClientRect (infoPtr->Self, &rect); - STATUSBAR_DrawSizeGrip (hdc, &rect); + GetClientRect (infoPtr->Self, &rect); + STATUSBAR_DrawSizeGrip (hdc, &rect); } } @@ -240,19 +238,19 @@ GetClientRect (infoPtr->Self, &rect); if (infoPtr->clrBk != CLR_DEFAULT) - hbrBk = CreateSolidBrush (infoPtr->clrBk); + hbrBk = CreateSolidBrush (infoPtr->clrBk); else - hbrBk = GetSysColorBrush (COLOR_3DFACE); + hbrBk = GetSysColorBrush (COLOR_3DFACE); FillRect(hdc, &rect, hbrBk); hOldFont = SelectObject (hdc, infoPtr->hFont ? infoPtr->hFont : infoPtr->hDefaultFont); if (infoPtr->simple) { - STATUSBAR_RefreshPart (infoPtr, hdc, &infoPtr->part0, 0); + STATUSBAR_RefreshPart (infoPtr, hdc, &infoPtr->part0, 0); } else { - for (i = 0; i < infoPtr->numParts; i++) { - STATUSBAR_RefreshPart (infoPtr, hdc, &infoPtr->parts[i], i); - } + for (i = 0; i < infoPtr->numParts; i++) { + STATUSBAR_RefreshPart (infoPtr, hdc, &infoPtr->parts[i], i); + } } SelectObject (hdc, hOldFont); @@ -278,7 +276,8 @@ GetClientRect (infoPtr->Self, &rect); TRACE("client wnd size is %ld,%ld - %ld,%ld\n", rect.left, rect.top, rect.right, rect.bottom); - rect.top += VERT_BORDER; + rect.left += infoPtr->horizontalBorder; + rect.top += infoPtr->verticalBorder; /* set bounds for simple rectangle */ infoPtr->part0.bound = rect; @@ -292,7 +291,7 @@ if (i == 0) r->left = 0; else - r->left = infoPtr->parts[i-1].bound.right + HORZ_GAP; + r->left = infoPtr->parts[i-1].bound.right + infoPtr->horizontalGap; if (part->x == -1) r->right = rect.right; else @@ -331,17 +330,30 @@ static BOOL -STATUSBAR_GetBorders (INT out[]) +STATUSBAR_GetBorders (STATUS_INFO *infoPtr, INT out[]) { TRACE("\n"); - out[0] = HORZ_BORDER; /* horizontal border width */ - out[1] = VERT_BORDER; /* vertical border width */ - out[2] = HORZ_GAP; /* width of border between rectangles */ + out[0] = infoPtr->horizontalBorder; + out[1] = infoPtr->verticalBorder; + out[2] = infoPtr->horizontalGap; return TRUE; } +static BOOL +STATUSBAR_SetBorders (STATUS_INFO *infoPtr, INT in[]) +{ + TRACE("\n"); + infoPtr->horizontalBorder = in[0]; + infoPtr->verticalBorder = in[1]; + infoPtr->horizontalGap = in[2]; + InvalidateRect(infoPtr->Self, NULL, FALSE); + + return TRUE; +} + + static HICON STATUSBAR_GetIcon (STATUS_INFO *infoPtr, INT nPart) { @@ -560,13 +572,13 @@ RECT parent_rect; GetClientRect (infoPtr->Notify, &parent_rect); - infoPtr->height = height + VERT_BORDER; + infoPtr->height = height + infoPtr->verticalBorder; width = parent_rect.right - parent_rect.left; x = parent_rect.left; y = parent_rect.bottom - infoPtr->height; MoveWindow (infoPtr->Self, parent_rect.left, - parent_rect.bottom - infoPtr->height, - width, infoPtr->height, TRUE); + parent_rect.bottom - infoPtr->height, + width, infoPtr->height, TRUE); STATUSBAR_SetPartBounds (infoPtr); } @@ -728,8 +740,7 @@ ti.uId = id; ti.hinst = 0; ti.lpszText = text; - SendMessageA (infoPtr->hwndToolTip, TTM_UPDATETIPTEXTA, - 0, (LPARAM)&ti); + SendMessageA (infoPtr->hwndToolTip, TTM_UPDATETIPTEXTA, 0, (LPARAM)&ti); } return 0; @@ -747,8 +758,7 @@ ti.uId = id; ti.hinst = 0; ti.lpszText = text; - SendMessageW (infoPtr->hwndToolTip, TTM_UPDATETIPTEXTW, - 0, (LPARAM)&ti); + SendMessageW (infoPtr->hwndToolTip, TTM_UPDATETIPTEXTW, 0, (LPARAM)&ti); } return 0; @@ -838,6 +848,9 @@ infoPtr->simple = FALSE; infoPtr->clrBk = CLR_DEFAULT; infoPtr->hFont = 0; + infoPtr->horizontalBorder = HORZ_BORDER; + infoPtr->verticalBorder = VERT_BORDER; + infoPtr->horizontalGap = HORZ_GAP; i = SendMessageW(infoPtr->Notify, WM_NOTIFYFORMAT, (WPARAM)hwnd, NF_QUERY); infoPtr->NtfUnicode = (i == NFR_UNICODE); @@ -929,7 +942,7 @@ if (!(dwStyle & CCS_NORESIZE)) { /* don't resize wnd if it doesn't want it ! */ GetClientRect (infoPtr->Notify, &rect); width = rect.right - rect.left; - infoPtr->height = textHeight + 4 + VERT_BORDER; + infoPtr->height = textHeight + 4 + infoPtr->verticalBorder; SetWindowPos(hwnd, 0, lpCreate->x, lpCreate->y - 1, width, infoPtr->height, SWP_NOZORDER); STATUSBAR_SetPartBounds (infoPtr); @@ -1069,8 +1082,7 @@ /* Need to resize width to match parent */ TRACE("flags %04x\n", flags); - if (flags != SIZE_RESTORED && flags != SIZE_MAXIMIZED) - { + if (flags != SIZE_RESTORED && flags != SIZE_MAXIMIZED) { WARN("flags MUST be SIZE_RESTORED or SIZE_MAXIMIZED\n"); return FALSE; } @@ -1129,7 +1141,7 @@ switch (msg) { case SB_GETBORDERS: - return STATUSBAR_GetBorders ((INT *)lParam); + return STATUSBAR_GetBorders (infoPtr, (INT *)lParam); case SB_GETICON: return (LRESULT)STATUSBAR_GetIcon (infoPtr, nPart); @@ -1162,6 +1174,9 @@ case SB_ISSIMPLE: return infoPtr->simple; + case SB_SETBORDERS: + return STATUSBAR_SetBorders (infoPtr, (INT *)lParam); + case SB_SETBKCOLOR: return STATUSBAR_SetBkColor (infoPtr, (COLORREF)lParam); _____ Modified: trunk/reactos/lib/comctl32/string.c --- trunk/reactos/lib/comctl32/string.c 2005-03-14 11:01:02 UTC (rev 14056) +++ trunk/reactos/lib/comctl32/string.c 2005-03-14 11:34:02 UTC (rev 14057) @@ -421,7 +421,7 @@ /*********************************************************************** *** * StrRChrA [COMCTL32.351] * - * Find the last occurence of a character in string. + * Find the last occurrence of a character in string. * * PARAMS * lpszStr [I] String to search in @@ -572,7 +572,7 @@ /*********************************************************************** ** * StrRStrIA [COMCTL32.372] * - * Find the last occurence of a substring within a string. + * Find the last occurrence of a substring within a string. * * PARAMS * lpszStr [I] String to search in @@ -580,7 +580,7 @@ * lpszSearch [I] String to look for * * RETURNS - * The last occurence lpszSearch within lpszStr, or NULL if not found. + * The last occurrence lpszSearch within lpszStr, or NULL if not found. */ LPSTR WINAPI StrRStrIA(LPCSTR lpszStr, LPCSTR lpszEnd, LPCSTR lpszSearch) { @@ -709,7 +709,7 @@ /*********************************************************************** *** * StrRChrIA [COMCTL32.368] * - * Find the last occurence of a character in string, ignoring case. + * Find the last occurrence of a character in string, ignoring case. * * PARAMS * lpszStr [I] String to search in _____ Modified: trunk/reactos/lib/comctl32/syslink.c --- trunk/reactos/lib/comctl32/syslink.c 2005-03-14 11:01:02 UTC (rev 14056) +++ trunk/reactos/lib/comctl32/syslink.c 2005-03-14 11:34:02 UTC (rev 14057) @@ -513,7 +513,7 @@ /*********************************************************************** * SYSLINK_GetLinkItemByIndex - * Retreives a document link by it's index + * Retrieves a document link by its index */ static PDOC_ITEM SYSLINK_GetLinkItemByIndex (SYSLINK_INFO *infoPtr, int iLink) { @@ -532,7 +532,7 @@ /*********************************************************************** * SYSLINK_GetFocusLink - * Retreives the link that has the LIS_FOCUSED bit + * Retrieves the link that has the LIS_FOCUSED bit */ static PDOC_ITEM SYSLINK_GetFocusLink (SYSLINK_INFO *infoPtr, int *LinkId) { _____ Modified: trunk/reactos/lib/comctl32/tab.c --- trunk/reactos/lib/comctl32/tab.c 2005-03-14 11:01:02 UTC (rev 14056) +++ trunk/reactos/lib/comctl32/tab.c 2005-03-14 11:34:02 UTC (rev 14057) @@ -59,7 +59,7 @@ * leftmost item (the leftmost item, 0, would have a * "left" member of 0 in this rectangle) * - * additionally the top member hold the row number + * additionally the top member holds the row number * and bottom is unused and should be 0 */ BYTE extra[1]; /* Space for caller supplied info, variable size */ } TAB_ITEM; @@ -69,6 +69,7 @@ typedef struct { + HWND hwnd; /* Tab control window */ HWND hwndNotify; /* notification window (parent) */ UINT uNumItem; /* number of tab items */ UINT uNumRows; /* number of tab rows */ @@ -126,20 +127,17 @@ /*********************************************************************** ******* * Prototypes */ -static void TAB_Refresh (HWND hwnd, HDC hdc); -static void TAB_InvalidateTabArea(HWND hwnd, TAB_INFO* infoPtr); -static void TAB_EnsureSelectionVisible(HWND hwnd, TAB_INFO* infoPtr); -static void TAB_DrawItem(HWND hwnd, HDC hdc, INT iItem); -static void TAB_DrawItemInterior(HWND hwnd, HDC hdc, INT iItem, RECT* drawRect); +static void TAB_InvalidateTabArea(TAB_INFO *); +static void TAB_EnsureSelectionVisible(TAB_INFO *); +static void TAB_DrawItemInterior(TAB_INFO *, HDC, INT, RECT*); static BOOL -TAB_SendSimpleNotify (HWND hwnd, UINT code) +TAB_SendSimpleNotify (const TAB_INFO *infoPtr, UINT code) { - TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd); NMHDR nmhdr; - nmhdr.hwndFrom = hwnd; - nmhdr.idFrom = GetWindowLongPtrW(hwnd, GWLP_ID); + nmhdr.hwndFrom = infoPtr->hwnd; + nmhdr.idFrom = GetWindowLongPtrW(infoPtr->hwnd, GWLP_ID); nmhdr.code = code; return (BOOL) SendMessageW (infoPtr->hwndNotify, WM_NOTIFY, @@ -203,11 +201,8 @@ /* RETURNS * the index of the selected tab, or -1 if no tab is selected. */ -static LRESULT -TAB_GetCurSel (HWND hwnd) +static inline LRESULT TAB_GetCurSel (const TAB_INFO *infoPtr) { - TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd); - return infoPtr->iSelected; } @@ -217,10 +212,9 @@ * we have not to return negative value * TODO * test for windows */ -static LRESULT -TAB_GetCurFocus (HWND hwnd) +static inline LRESULT +TAB_GetCurFocus (const TAB_INFO *infoPtr) { - TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd); if (infoPtr->uFocus<0) { FIXME("we have not to return negative value"); @@ -229,79 +223,66 @@ return infoPtr->uFocus; } -static LRESULT -TAB_GetToolTips (HWND hwnd, WPARAM wParam, LPARAM lParam) +static inline LRESULT TAB_GetToolTips (const TAB_INFO *infoPtr) { - TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd); - if (infoPtr == NULL) return 0; return (LRESULT)infoPtr->hwndToolTip; } -static LRESULT -TAB_SetCurSel (HWND hwnd,WPARAM wParam) +static inline LRESULT TAB_SetCurSel (TAB_INFO *infoPtr, INT iItem) { - TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd); - INT iItem = (INT)wParam; - INT prevItem; + INT prevItem = -1; - prevItem = -1; - if ((iItem >= 0) && (iItem < infoPtr->uNumItem)) { - prevItem=infoPtr->iSelected; + if (iItem >= 0 && iItem < infoPtr->uNumItem) { + prevItem=infoPtr->iSelected; infoPtr->iSelected=iItem; - TAB_EnsureSelectionVisible(hwnd, infoPtr); - TAB_InvalidateTabArea(hwnd, infoPtr); + TAB_EnsureSelectionVisible(infoPtr); + TAB_InvalidateTabArea(infoPtr); } return prevItem; } -static LRESULT -TAB_SetCurFocus (HWND hwnd,WPARAM wParam) +static LRESULT TAB_SetCurFocus (TAB_INFO *infoPtr, INT iItem) { - TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd); - INT iItem=(INT) wParam; + if (iItem < 0 || iItem >= infoPtr->uNumItem) return 0; - if ((iItem < 0) || (iItem >= infoPtr->uNumItem)) return 0; - - if (GetWindowLongA(hwnd, GWL_STYLE) & TCS_BUTTONS) { + if (GetWindowLongA(infoPtr->hwnd, GWL_STYLE) & TCS_BUTTONS) { FIXME("Should set input focus\n"); } else { int oldFocus = infoPtr->uFocus; if (infoPtr->iSelected != iItem || oldFocus == -1 ) { infoPtr->uFocus = iItem; if (oldFocus != -1) { - if (!TAB_SendSimpleNotify(hwnd, TCN_SELCHANGING)) { + if (!TAB_SendSimpleNotify(infoPtr, TCN_SELCHANGING)) { infoPtr->iSelected = iItem; - TAB_SendSimpleNotify(hwnd, TCN_SELCHANGE); + TAB_SendSimpleNotify(infoPtr, TCN_SELCHANGE); } else infoPtr->iSelected = iItem; - TAB_EnsureSelectionVisible(hwnd, infoPtr); - TAB_InvalidateTabArea(hwnd, infoPtr); + TAB_EnsureSelectionVisible(infoPtr); + TAB_InvalidateTabArea(infoPtr); } } } return 0; } -static LRESULT -TAB_SetToolTips (HWND hwnd, WPARAM wParam, LPARAM lParam) +static inline LRESULT +TAB_SetToolTips (TAB_INFO *infoPtr, HWND hwndToolTip) { - TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd); - - if (infoPtr == NULL) return 0; - infoPtr->hwndToolTip = (HWND)wParam; + if (infoPtr) + infoPtr->hwndToolTip = hwndToolTip; return 0; } -static LRESULT -TAB_SetPadding (HWND hwnd, WPARAM wParam, LPARAM lParam) +static inline LRESULT +TAB_SetPadding (TAB_INFO *infoPtr, LPARAM lParam) { - TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd); - - if (infoPtr == NULL) return 0; - infoPtr->uHItemPadding_s=LOWORD(lParam); - infoPtr->uVItemPadding_s=HIWORD(lParam); + if (infoPtr) + { + infoPtr->uHItemPadding_s=LOWORD(lParam); + infoPtr->uVItemPadding_s=HIWORD(lParam); + } return 0; } @@ -315,14 +296,13 @@ * if it is completely outside the client area. */ static BOOL TAB_InternalGetItemRect( - HWND hwnd, - TAB_INFO* infoPtr, + const TAB_INFO* infoPtr, INT itemIndex, RECT* itemRect, RECT* selectedRect) { RECT tmpItemRect,clientRect; - LONG lStyle = GetWindowLongA(hwnd, GWL_STYLE); + LONG lStyle = GetWindowLongA(infoPtr->hwnd, GWL_STYLE); /* Perform a sanity check and a trivial visibility check. */ if ( (infoPtr->uNumItem <= 0) || @@ -341,7 +321,7 @@ *itemRect = TAB_GetItem(infoPtr,itemIndex)->rect; /* calculate the times bottom and top based on the row */ - GetClientRect(hwnd, &clientRect); + GetClientRect(infoPtr->hwnd, &clientRect); if ((lStyle & TCS_BOTTOM) && (lStyle & TCS_VERTICAL)) { @@ -440,10 +420,10 @@ return TRUE; } -static BOOL TAB_GetItemRect(HWND hwnd, WPARAM wParam, LPARAM lParam) +static inline BOOL +TAB_GetItemRect(TAB_INFO *infoPtr, WPARAM wParam, LPARAM lParam) { - return TAB_InternalGetItemRect(hwnd, TAB_GetInfoPtr(hwnd), (INT)wParam, - (LPRECT)lParam, (LPRECT)NULL); + return TAB_InternalGetItemRect(infoPtr, (INT)wParam, (LPRECT)lParam, (LPRECT)NULL); } /*********************************************************************** ******* @@ -451,11 +431,8 @@ * * This method is called to handle keyboard input */ -static LRESULT TAB_KeyUp( - HWND hwnd, - WPARAM keyCode) +static LRESULT TAB_KeyUp(TAB_INFO* infoPtr, WPARAM keyCode) { - TAB_INFO* infoPtr = TAB_GetInfoPtr(hwnd); int newItem = -1; switch (keyCode) @@ -471,18 +448,18 @@ /* * If we changed to a valid item, change the selection */ - if ((newItem >= 0) && - (newItem < infoPtr->uNumItem) && - (infoPtr->uFocus != newItem)) + if (newItem >= 0 && + newItem < infoPtr->uNumItem && + infoPtr->uFocus != newItem) { - if (!TAB_SendSimpleNotify(hwnd, TCN_SELCHANGING)) + if (!TAB_SendSimpleNotify(infoPtr, TCN_SELCHANGING)) { infoPtr->iSelected = newItem; infoPtr->uFocus = newItem; - TAB_SendSimpleNotify(hwnd, TCN_SELCHANGE); + TAB_SendSimpleNotify(infoPtr, TCN_SELCHANGE); - TAB_EnsureSelectionVisible(hwnd, infoPtr); - TAB_InvalidateTabArea(hwnd, infoPtr); + TAB_EnsureSelectionVisible(infoPtr); + TAB_InvalidateTabArea(infoPtr); } } @@ -495,21 +472,15 @@ * This method is called whenever the focus goes in or out of this control * it is used to update the visual state of the control. */ -static LRESULT TAB_FocusChanging( - HWND hwnd, - UINT uMsg, - WPARAM wParam, - LPARAM lParam) +static VOID TAB_FocusChanging(const TAB_INFO *infoPtr) { - TAB_INFO *infoPtr = TAB_GetInfoPtr(hwnd); RECT selectedRect; BOOL isVisible; /* * Get the rectangle for the item. */ - isVisible = TAB_InternalGetItemRect(hwnd, - infoPtr, + isVisible = TAB_InternalGetItemRect(infoPtr, infoPtr->uFocus, NULL, &selectedRect); @@ -523,17 +494,11 @@ TRACE("invalidate (%ld,%ld)-(%ld,%ld)\n", selectedRect.left,selectedRect.top, selectedRect.right,selectedRect.bottom); - InvalidateRect(hwnd, &selectedRect, TRUE); [truncated at 1000 lines; 1503 more skipped]
19 years, 9 months
1
0
0
0
[gvg] 14056: Sync to Wine-20050310:
by gvg@svn.reactos.com
Sync to Wine-20050310: Jon Griffiths <jon_p_griffiths(a)yahoo.com> - Documentation spelling fixes. Alexandre Julliard <julliard(a)winehq.org> - Allow specifying extended control styles also in standard dialogs (reported by Michael Lin). - Avoid spaces before preprocessor directives, that's not portable. Francois Gouget <fgouget(a)free.fr> - Assorted spelling fixes. Modified: trunk/reactos/tools/wrc/newstruc.c Modified: trunk/reactos/tools/wrc/parser.y Modified: trunk/reactos/tools/wrc/y.tab.c _____ Modified: trunk/reactos/tools/wrc/newstruc.c --- trunk/reactos/tools/wrc/newstruc.c 2005-03-14 10:44:46 UTC (rev 14055) +++ trunk/reactos/tools/wrc/newstruc.c 2005-03-14 11:01:02 UTC (rev 14056) @@ -679,8 +679,8 @@ * The "LIST" tag may occur several times and may encapsulate different * tags. The `steps' is the number of "icon" tags found (actually the * number of steps specified in the aniheader_t structure). The "seq "uence - * tag can be ommitted, in which case the sequence is equal to the sequence - * of "icon"s found in the file. Also "rate" may be ommitted, in which case + * tag can be omitted, in which case the sequence is equal to the sequence + * of "icon"s found in the file. Also "rate" may be omitted, in which case * the default from the aniheader_t structure is used. * * An animated cursor puts `.cur' formatted files into each "icon" tag, _____ Modified: trunk/reactos/tools/wrc/parser.y --- trunk/reactos/tools/wrc/parser.y 2005-03-14 10:44:46 UTC (rev 14055) +++ trunk/reactos/tools/wrc/parser.y 2005-03-14 11:01:02 UTC (rev 14056) @@ -352,7 +352,6 @@ %type <dginit> dlginit %type <styles> optional_style_pair %type <num> any_num -%type <style> optional_style %type <style> style %type <str> filename @@ -458,7 +457,7 @@ * for tNL. However, byacc already generates an error upon reading * the token instead of keeping it as a lookahead. The reason * lies in the lack of a $default transition in the "expr : xpr . " - * state (currently state 25). It is probably ommitted because tNL + * state (currently state 25). It is probably omitted because tNL * is a non-terminal and the state contains 2 s/r conflicts. The * state enumerates all possible transitions instead of using a * $default transition. @@ -735,11 +734,11 @@ /* ------------------------------ UserType ------------------------------ */ userres : usertype loadmemopts file_raw { - #ifdef WORDS_BIGENDIAN +#ifdef WORDS_BIGENDIAN if(pedantic && byteorder != WRC_BO_LITTLE) - #else +#else if(pedantic && byteorder == WRC_BO_BIG) - #endif +#endif yywarning("Byteordering is not little-endian and type cannot be interpreted"); $$ = new_user($1, $3, $2); } @@ -889,7 +888,7 @@ ; lab_ctrl - : tSTRING opt_comma expr ',' expr ',' expr ',' expr ',' expr optional_style { + : tSTRING opt_comma expr ',' expr ',' expr ',' expr ',' expr optional_style_pair { $$=new_control(); $$->title = new_name_id(); $$->title->type = name_str; @@ -901,14 +900,20 @@ $$->height = $11; if($12) { - $$->style = $12; + $$->style = $12->style; $$->gotstyle = TRUE; + if ($12->exstyle) + { + $$->exstyle = $12->exstyle; + $$->gotexstyle = TRUE; + } + free($12); } } ; ctrl_desc - : expr ',' expr ',' expr ',' expr ',' expr optional_style { + : expr ',' expr ',' expr ',' expr ',' expr optional_style_pair { $$ = new_control(); $$->id = $1; $$->x = $3; @@ -917,8 +922,14 @@ $$->height = $9; if($10) { - $$->style = $10; + $$->style = $10->style; $$->gotstyle = TRUE; + if ($10->exstyle) + { + $$->exstyle = $10->exstyle; + $$->gotexstyle = TRUE; + } + free($10); } } ; @@ -982,11 +993,6 @@ ; /* ------------------------------ style flags ------------------------------ */ -optional_style /* Abbused once to get optional ExStyle */ - : /* Empty */ { $$ = NULL; } - | ',' style { $$ = $2; } - ; - optional_style_pair : /* Empty */ { $$ = NULL; } | ',' style { $$ = new_style_pair($2, 0); } _____ Modified: trunk/reactos/tools/wrc/y.tab.c --- trunk/reactos/tools/wrc/y.tab.c 2005-03-14 10:44:46 UTC (rev 14055) +++ trunk/reactos/tools/wrc/y.tab.c 2005-03-14 11:01:02 UTC (rev 14056) @@ -634,16 +634,16 @@ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 674 +#define YYLAST 661 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 96 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 83 +#define YYNNTS 82 /* YYNRULES -- Number of rules. */ -#define YYNRULES 258 +#define YYNRULES 256 /* YYNRULES -- Number of states. */ -#define YYNSTATES 570 +#define YYNSTATES 568 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -706,158 +706,158 @@ 202, 205, 206, 210, 214, 218, 222, 226, 230, 234, 238, 242, 246, 250, 254, 258, 262, 266, 270, 274, 285, 298, 309, 310, 315, 322, 331, 349, 365, 370, - 371, 374, 375, 378, 383, 387, 391, 393, 396, 398, - 400, 415, 416, 420, 424, 428, 431, 434, 438, 442, - 445, 448, 451, 452, 456, 460, 464, 468, 472, 476, - 480, 484, 488, 492, 496, 500, 504, 508, 512, 516, - 520, 531, 551, 568, 583, 596, 597, 599, 600, 603, - 613, 614, 617, 622, 626, 627, 634, 638, 644, 645, - 649, 653, 657, 661, 665, 669, 674, 678, 679, 684, - 688, 694, 695, 698, 704, 711, 712, 715, 720, 727, - 736, 741, 745, 746, 751, 752, 754, 761, 762, 772, - 782, 786, 790, 794, 798, 802, 803, 806, 812, 813, - 816, 818, 823, 828, 830, 834, 844, 845, 849, 852, - 853, 856, 859, 861, 863, 865, 867, 869, 871, 873, - 874, 877, 880, 883, 888, 891, 894, 899, 901, 903, - 906, 908, 911, 913, 917, 921, 926, 930, 935, 939, - 941, 943, 944, 946, 948, 952, 956, 960, 964, 968, - 972, 976, 979, 982, 985, 989, 991, 994, 996 + 371, 374, 379, 383, 387, 389, 392, 394, 396, 411, + 412, 416, 420, 424, 427, 430, 434, 438, 441, 444, + 447, 448, 452, 456, 460, 464, 468, 472, 476, 480, + 484, 488, 492, 496, 500, 504, 508, 512, 516, 527, + 547, 564, 579, 592, 593, 595, 596, 599, 609, 610, + 613, 618, 622, 623, 630, 634, 640, 641, 645, 649, + 653, 657, 661, 665, 670, 674, 675, 680, 684, 690, + 691, 694, 700, 707, 708, 711, 716, 723, 732, 737, + 741, 742, 747, 748, 750, 757, 758, 768, 778, 782, + 786, 790, 794, 798, 799, 802, 808, 809, 812, 814, + 819, 824, 826, 830, 840, 841, 845, 848, 849, 852, + 855, 857, 859, 861, 863, 865, 867, 869, 870, 873, + 876, 879, 884, 887, 890, 895, 897, 899, 902, 904, + 907, 909, 913, 917, 922, 926, 931, 935, 937, 939, + 940, 942, 944, 948, 952, 956, 960, 964, 968, 972, + 975, 978, 981, 985, 987, 990, 992 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short yyrhs[] = { 97, 0, -1, 98, -1, -1, 98, 99, -1, 98, - 3, -1, 176, 101, 104, -1, 7, 101, 104, -1, - 152, -1, -1, 64, 100, 176, 93, 176, -1, -1, - 176, -1, 7, -1, 102, -1, 6, -1, 116, -1, - 106, -1, 107, -1, 121, -1, 133, -1, 113, -1, - 109, -1, 110, -1, 108, -1, 143, -1, 147, -1, - 111, -1, 112, -1, 163, -1, 114, -1, 156, -1, - 8, -1, 7, -1, 6, -1, 11, 165, 174, -1, - 12, 165, 174, -1, 23, 165, 174, -1, 21, 165, - 174, -1, 22, 165, 174, -1, 17, 165, 174, -1, - 18, 165, 174, -1, 82, 165, 174, -1, 115, 165, - 174, -1, 4, -1, 7, -1, 10, 165, 168, 80, - 117, 81, -1, -1, 117, 6, 93, 176, 118, -1, - 117, 176, 93, 176, 118, -1, -1, 93, 119, -1, + 3, -1, 175, 101, 104, -1, 7, 101, 104, -1, + 151, -1, -1, 64, 100, 175, 93, 175, -1, -1, + 175, -1, 7, -1, 102, -1, 6, -1, 116, -1, + 106, -1, 107, -1, 121, -1, 132, -1, 113, -1, + 109, -1, 110, -1, 108, -1, 142, -1, 146, -1, + 111, -1, 112, -1, 162, -1, 114, -1, 155, -1, + 8, -1, 7, -1, 6, -1, 11, 164, 173, -1, + 12, 164, 173, -1, 23, 164, 173, -1, 21, 164, + 173, -1, 22, 164, 173, -1, 17, 164, 173, -1, + 18, 164, 173, -1, 82, 164, 173, -1, 115, 164, + 173, -1, 4, -1, 7, -1, 10, 164, 167, 80, + 117, 81, -1, -1, 117, 6, 93, 175, 118, -1, + 117, 175, 93, 175, 118, -1, -1, 93, 119, -1, 120, -1, 119, 93, 120, -1, 50, -1, 43, -1, - 36, -1, 44, -1, 45, -1, 46, -1, 13, 165, - 176, 93, 176, 93, 176, 93, 176, 122, 80, 123, - 81, -1, -1, 122, 62, 131, -1, 122, 61, 131, + 36, -1, 44, -1, 45, -1, 46, -1, 13, 164, + 175, 93, 175, 93, 175, 93, 175, 122, 80, 123, + 81, -1, -1, 122, 62, 130, -1, 122, 61, 130, -1, 122, 59, 6, -1, 122, 128, -1, 122, 58, - 103, -1, 122, 15, 102, -1, 122, 169, -1, 122, - 170, -1, 122, 171, -1, -1, 123, 36, 127, -1, + 103, -1, 122, 15, 102, -1, 122, 168, -1, 122, + 169, -1, 122, 170, -1, -1, 123, 36, 127, -1, 123, 37, 125, -1, 123, 34, 125, -1, 123, 33, 125, -1, 123, 35, 125, -1, 123, 27, 124, -1, 123, 28, 124, -1, 123, 32, 124, -1, 123, 29, 124, -1, 123, 30, 124, -1, 123, 24, 124, -1, 123, 31, 124, -1, 123, 25, 124, -1, 123, 26, 124, -1, 123, 40, 124, -1, 123, 39, 124, -1, - 123, 38, 124, -1, 123, 23, 103, 155, 176, 93, - 176, 93, 176, 126, -1, 6, 155, 176, 93, 176, - 93, 176, 93, 176, 93, 176, 129, -1, 176, 93, - 176, 93, 176, 93, 176, 93, 176, 129, -1, -1, - 93, 176, 93, 176, -1, 93, 176, 93, 176, 93, - 131, -1, 93, 176, 93, 176, 93, 131, 93, 131, - -1, 103, 155, 176, 93, 132, 93, 131, 93, 176, - 93, 176, 93, 176, 93, 176, 93, 131, -1, 103, - 155, 176, 93, 132, 93, 131, 93, 176, 93, 176, - 93, 176, 93, 176, -1, 21, 176, 93, 6, -1, - -1, 93, 131, -1, -1, 93, 131, -1, 93, 131, - 93, 131, -1, 131, 83, 131, -1, 94, 131, 95, - -1, 178, -1, 91, 178, -1, 176, -1, 6, -1, - 14, 165, 176, 93, 176, 93, 176, 93, 176, 140, - 134, 80, 135, 81, -1, -1, 134, 62, 131, -1, - 134, 61, 131, -1, 134, 59, 6, -1, 134, 128, - -1, 134, 141, -1, 134, 58, 103, -1, 134, 15, - 102, -1, 134, 169, -1, 134, 170, -1, 134, 171, - -1, -1, 135, 36, 136, -1, 135, 37, 138, -1, - 135, 34, 138, -1, 135, 33, 138, -1, 135, 35, - 138, -1, 135, 27, 137, -1, 135, 28, 137, -1, - 135, 32, 137, -1, 135, 29, 137, -1, 135, 30, - 137, -1, 135, 24, 137, -1, 135, 31, 137, -1, - 135, 25, 137, -1, 135, 26, 137, -1, 135, 40, - 137, -1, 135, 39, 137, -1, 135, 38, 137, -1, - 135, 23, 103, 155, 176, 93, 176, 93, 176, 126, - -1, 103, 155, 176, 93, 132, 93, 131, 93, 176, - 93, 176, 93, 176, 93, 176, 93, 131, 140, 139, - -1, 103, 155, 176, 93, 132, 93, 131, 93, 176, - 93, 176, 93, 176, 93, 176, 139, -1, 6, 155, - 176, 93, 176, 93, 176, 93, 176, 93, 176, 130, - 140, 139, -1, 176, 93, 176, 93, 176, 93, 176, - 93, 176, 130, 140, 139, -1, -1, 172, -1, -1, - 93, 176, -1, 21, 176, 93, 6, 93, 176, 93, - 176, 142, -1, -1, 93, 176, -1, 15, 165, 168, - 144, -1, 80, 145, 81, -1, -1, 145, 74, 6, - 155, 176, 146, -1, 145, 74, 76, -1, 145, 75, - 6, 146, 144, -1, -1, 93, 48, 146, -1, 93, - 47, 146, -1, 93, 77, 146, -1, 93, 49, 146, - -1, 93, 72, 146, -1, 93, 73, 146, -1, 16, - 165, 168, 148, -1, 80, 149, 81, -1, -1, 149, - 74, 6, 150, -1, 149, 74, 76, -1, 149, 75, - 6, 151, 148, -1, -1, 93, 176, -1, 93, 175, - 93, 175, 146, -1, 93, 175, 93, 175, 93, 176, - -1, -1, 93, 176, -1, 93, 175, 93, 176, -1, - 93, 175, 93, 175, 93, 176, -1, 93, 175, 93, - 175, 93, 175, 93, 176, -1, 153, 80, 154, 81, - -1, 20, 165, 168, -1, -1, 154, 176, 155, 6, - -1, -1, 93, -1, 19, 165, 157, 80, 158, 81, - -1, -1, 157, 65, 176, 93, 176, 93, 176, 93, - 176, -1, 157, 66, 176, 93, 176, 93, 176, 93, - 176, -1, 157, 70, 176, -1, 157, 67, 176, -1, - 157, 68, 176, -1, 157, 69, 176, -1, 157, 71, - 176, -1, -1, 158, 159, -1, 41, 6, 80, 160, - 81, -1, -1, 160, 161, -1, 159, -1, 42, 6, - 93, 6, -1, 42, 6, 93, 162, -1, 176, -1, - 162, 93, 176, -1, 78, 165, 176, 93, 176, 168, - 80, 164, 81, -1, -1, 164, 79, 176, -1, 164, - 76, -1, -1, 165, 166, -1, 165, 167, -1, 55, - -1, 57, -1, 53, -1, 51, -1, 54, -1, 56, - -1, 52, -1, -1, 168, 169, -1, 168, 170, -1, - 168, 171, -1, 64, 176, 93, 176, -1, 60, 176, - -1, 63, 176, -1, 168, 80, 173, 81, -1, 9, - -1, 4, -1, 87, 4, -1, 5, -1, 87, 5, - -1, 6, -1, 173, 155, 9, -1, 173, 155, 4, - -1, 173, 155, 87, 4, -1, 173, 155, 5, -1, - 173, 155, 87, 5, -1, 173, 155, 6, -1, 105, - -1, 172, -1, -1, 176, -1, 177, -1, 177, 86, - 177, -1, 177, 87, 177, -1, 177, 83, 177, -1, - 177, 85, 177, -1, 177, 88, 177, -1, 177, 89, - 177, -1, 177, 84, 177, -1, 90, 177, -1, 87, - 177, -1, 86, 177, -1, 94, 177, 95, -1, 178, - -1, 91, 178, -1, 4, -1, 5, -1 + 123, 38, 124, -1, 123, 23, 103, 154, 175, 93, + 175, 93, 175, 126, -1, 6, 154, 175, 93, 175, + 93, 175, 93, 175, 93, 175, 129, -1, 175, 93, + 175, 93, 175, 93, 175, 93, 175, 129, -1, -1, + 93, 175, 93, 175, -1, 93, 175, 93, 175, 93, + 130, -1, 93, 175, 93, 175, 93, 130, 93, 130, + -1, 103, 154, 175, 93, 131, 93, 130, 93, 175, + 93, 175, 93, 175, 93, 175, 93, 130, -1, 103, + 154, 175, 93, 131, 93, 130, 93, 175, 93, 175, + 93, 175, 93, 175, -1, 21, 175, 93, 6, -1, + -1, 93, 130, -1, 93, 130, 93, 130, -1, 130, + 83, 130, -1, 94, 130, 95, -1, 177, -1, 91, + 177, -1, 175, -1, 6, -1, 14, 164, 175, 93, + 175, 93, 175, 93, 175, 139, 133, 80, 134, 81, + -1, -1, 133, 62, 130, -1, 133, 61, 130, -1, + 133, 59, 6, -1, 133, 128, -1, 133, 140, -1, + 133, 58, 103, -1, 133, 15, 102, -1, 133, 168, + -1, 133, 169, -1, 133, 170, -1, -1, 134, 36, + 135, -1, 134, 37, 137, -1, 134, 34, 137, -1, + 134, 33, 137, -1, 134, 35, 137, -1, 134, 27, + 136, -1, 134, 28, 136, -1, 134, 32, 136, -1, + 134, 29, 136, -1, 134, 30, 136, -1, 134, 24, + 136, -1, 134, 31, 136, -1, 134, 25, 136, -1, + 134, 26, 136, -1, 134, 40, 136, -1, 134, 39, + 136, -1, 134, 38, 136, -1, 134, 23, 103, 154, + 175, 93, 175, 93, 175, 126, -1, 103, 154, 175, + 93, 131, 93, 130, 93, 175, 93, 175, 93, 175, + 93, 175, 93, 130, 139, 138, -1, 103, 154, 175, + 93, 131, 93, 130, 93, 175, 93, 175, 93, 175, + 93, 175, 138, -1, 6, 154, 175, 93, 175, 93, + 175, 93, 175, 93, 175, 129, 139, 138, -1, 175, + 93, 175, 93, 175, 93, 175, 93, 175, 129, 139, + 138, -1, -1, 171, -1, -1, 93, 175, -1, 21, + 175, 93, 6, 93, 175, 93, 175, 141, -1, -1, + 93, 175, -1, 15, 164, 167, 143, -1, 80, 144, + 81, -1, -1, 144, 74, 6, 154, 175, 145, -1, + 144, 74, 76, -1, 144, 75, 6, 145, 143, -1, + -1, 93, 48, 145, -1, 93, 47, 145, -1, 93, + 77, 145, -1, 93, 49, 145, -1, 93, 72, 145, + -1, 93, 73, 145, -1, 16, 164, 167, 147, -1, + 80, 148, 81, -1, -1, 148, 74, 6, 149, -1, + 148, 74, 76, -1, 148, 75, 6, 150, 147, -1, + -1, 93, 175, -1, 93, 174, 93, 174, 145, -1, + 93, 174, 93, 174, 93, 175, -1, -1, 93, 175, + -1, 93, 174, 93, 175, -1, 93, 174, 93, 174, + 93, 175, -1, 93, 174, 93, 174, 93, 174, 93, + 175, -1, 152, 80, 153, 81, -1, 20, 164, 167, + -1, -1, 153, 175, 154, 6, -1, -1, 93, -1, + 19, 164, 156, 80, 157, 81, -1, -1, 156, 65, + 175, 93, 175, 93, 175, 93, 175, -1, 156, 66, + 175, 93, 175, 93, 175, 93, 175, -1, 156, 70, + 175, -1, 156, 67, 175, -1, 156, 68, 175, -1, + 156, 69, 175, -1, 156, 71, 175, -1, -1, 157, + 158, -1, 41, 6, 80, 159, 81, -1, -1, 159, + 160, -1, 158, -1, 42, 6, 93, 6, -1, 42, + 6, 93, 161, -1, 175, -1, 161, 93, 175, -1, + 78, 164, 175, 93, 175, 167, 80, 163, 81, -1, + -1, 163, 79, 175, -1, 163, 76, -1, -1, 164, + 165, -1, 164, 166, -1, 55, -1, 57, -1, 53, + -1, 51, -1, 54, -1, 56, -1, 52, -1, -1, + 167, 168, -1, 167, 169, -1, 167, 170, -1, 64, + 175, 93, 175, -1, 60, 175, -1, 63, 175, -1, + 167, 80, 172, 81, -1, 9, -1, 4, -1, 87, + 4, -1, 5, -1, 87, 5, -1, 6, -1, 172, + 154, 9, -1, 172, 154, 4, -1, 172, 154, 87, + 4, -1, 172, 154, 5, -1, 172, 154, 87, 5, + -1, 172, 154, 6, -1, 105, -1, 171, -1, -1, + 175, -1, 176, -1, 176, 86, 176, -1, 176, 87, + 176, -1, 176, 83, 176, -1, 176, 85, 176, -1, + 176, 88, 176, -1, 176, 89, 176, -1, 176, 84, + 176, -1, 90, 176, -1, 87, 176, -1, 86, 176, + -1, 94, 176, 95, -1, 177, -1, 91, 177, -1, + 4, -1, 5, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short yyrline[] = { - 0, 362, 362, 396, 397, 467, 473, 485, 495, 503, - 503, 547, 553, 560, 570, 571, 580, 581, 582, 606, - 607, 613, 614, 615, 616, 640, 641, 647, 648, 649, - 650, 651, 655, 656, 657, 661, 665, 681, 703, 713, - 721, 729, 733, 737, 748, 753, 762, 786, 787, 788, - 797, 798, 801, 802, 805, 806, 807, 808, 809, 810, - 815, 850, 851, 852, 853, 854, 855, 856, 857, 858, - 859, 862, 863, 864, 865, 866, 867, 868, 869, 870, - 871, 873, 874, 875, 876, 877, 878, 879, 880, 882, - 892, 911, 927, 929, 934, 941, 952, 966, 981, 986, - 987, 991, 992, 993, 997, 998, 999, 1000, 1004, 1009, - 1017, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, - 1070, 1071, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, - 1082, 1083, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, - 1094, 1104, 1129, 1145, 1173, 1196, 1197, 1200, 1201, 1205, - 1212, 1213, 1217, 1240, 1244, 1245, 1254, 1260, 1279, 1280, - 1281, 1282, 1283, 1284, 1285, 1289, 1314, 1318, 1319, 1335, - 1341, 1361, 1362, 1366, 1374, 1385, 1386, 1390, 1396, 1404, - 1424, 1465, 1476, 1477, 1510, 1512, 1517, 1533, 1534, 1544, - 1554, 1561, 1568, 1575, 1582, 1592, 1593, 1602, 1610, 1611, - 1620, 1625, 1631, 1640, 1641, 1645, 1671, 1672, 1677, 1686, - 1687, 1697, 1712, 1713, 1714, 1715, 1718, 1719, 1720, 1724, - 1725, 1733, 1741, 1759, 1766, 1770, 1774, 1789, 1790, 1791, - 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1804, - 1805, 1812, 1813, 1817, 1820, 1821, 1822, 1823, 1824, 1825, - 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1835, 1836 + 0, 361, 361, 395, 396, 466, 472, 484, 494, 502, + 502, 546, 552, 559, 569, 570, 579, 580, 581, 605, + 606, 612, 613, 614, 615, 639, 640, 646, 647, 648, + 649, 650, 654, 655, 656, 660, 664, 680, 702, 712, + 720, 728, 732, 736, 747, 752, 761, 785, 786, 787, + 796, 797, 800, 801, 804, 805, 806, 807, 808, 809, + 814, 849, 850, 851, 852, 853, 854, 855, 856, 857, + 858, 861, 862, 863, 864, 865, 866, 867, 868, 869, + 870, 872, 873, 874, 875, 876, 877, 878, 879, 881, + 891, 916, 938, 940, 945, 952, 963, 977, 992, 997, + 998, 999, 1003, 1004, 1005, 1006, 1010, 1015, 1023, 1067, + 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, + 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, + 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1100, 1110, + 1135, 1151, 1179, 1202, 1203, 1206, 1207, 1211, 1218, 1219, + 1223, 1246, 1250, 1251, 1260, 1266, 1285, 1286, 1287, 1288, + 1289, 1290, 1291, 1295, 1320, 1324, 1325, 1341, 1347, 1367, + 1368, 1372, 1380, 1391, 1392, 1396, 1402, 1410, 1430, 1471, + 1482, 1483, 1516, 1518, 1523, 1539, 1540, 1550, 1560, 1567, + 1574, 1581, 1588, 1598, 1599, 1608, 1616, 1617, 1626, 1631, + 1637, 1646, 1647, 1651, 1677, 1678, 1683, 1692, 1693, 1703, + 1718, 1719, 1720, 1721, 1724, 1725, 1726, 1730, 1731, 1739, + 1747, 1765, 1772, 1776, 1780, 1795, 1796, 1797, 1798, 1799, + 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1810, 1811, 1818, + 1819, 1823, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, + 1834, 1835, 1836, 1837, 1838, 1841, 1842 }; #endif @@ -887,16 +887,16 @@ "bitmap", "cursor", "icon", "font", "fontdir", "messagetable", "rcdata", "dlginit", "userres", "usertype", "accelerators", "events", "acc_opt", "accs", "acc", "dialog", "dlg_attributes", "ctrls", "lab_ctrl", - "ctrl_desc", "iconinfo", "gen_ctrl", "opt_font", "optional_style", - "optional_style_pair", "style", "ctlclass", "dialogex", "dlgex_attribs", - "exctrls", "gen_exctrl", "lab_exctrl", "exctrl_desc", "opt_data", - "helpid", "opt_exfont", "opt_expr", "menu", "menu_body", - "item_definitions", "item_options", "menuex", "menuex_body", - "itemex_definitions", "itemex_options", "itemex_p_options", - "stringtable", "stt_head", "strings", "opt_comma", "versioninfo", - "fix_version", "ver_blocks", "ver_block", "ver_values", "ver_value", - "ver_words", "toolbar", "toolbar_items", "loadmemopts", "lamo", "lama", - "opt_lvc", "opt_language", "opt_characts", "opt_version", "raw_data", + "ctrl_desc", "iconinfo", "gen_ctrl", "opt_font", "optional_style_pair", + "style", "ctlclass", "dialogex", "dlgex_attribs", "exctrls", + "gen_exctrl", "lab_exctrl", "exctrl_desc", "opt_data", "helpid", + "opt_exfont", "opt_expr", "menu", "menu_body", "item_definitions", + "item_options", "menuex", "menuex_body", "itemex_definitions", + "itemex_options", "itemex_p_options", "stringtable", "stt_head", + "strings", "opt_comma", "versioninfo", "fix_version", "ver_blocks", + "ver_block", "ver_values", "ver_value", "ver_words", "toolbar", + "toolbar_items", "loadmemopts", "lamo", "lama", "opt_lvc", + "opt_language", "opt_characts", "opt_version", "raw_data", "raw_elements", "file_raw", "e_expr", "expr", "xpr", "any_num", 0 }; #endif @@ -932,22 +932,22 @@ 122, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 124, 125, 126, 126, 126, 126, 127, 127, 128, 129, - 129, 130, 130, 130, 131, 131, 131, 131, 132, 132, - 133, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 136, 136, 137, 138, 139, 139, 140, 140, 141, - 142, 142, 143, 144, 145, 145, 145, 145, 146, 146, - 146, 146, 146, 146, 146, 147, 148, 149, 149, 149, - 149, 150, 150, 150, 150, 151, 151, 151, 151, 151, - 152, 153, 154, 154, 155, 155, 156, 157, 157, 157, - 157, 157, 157, 157, 157, 158, 158, 159, 160, 160, - 161, 161, 161, 162, 162, 163, 164, 164, 164, 165, - 165, 165, 166, 166, 166, 166, 167, 167, 167, 168, - 168, 168, 168, 169, 170, 171, 172, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 174, - 174, 175, 175, 176, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 178, 178 + 129, 129, 130, 130, 130, 130, 131, 131, 132, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, 134, 135, + 135, 136, 137, 138, 138, 139, 139, 140, 141, 141, + 142, 143, 144, 144, 144, 144, 145, 145, 145, 145, + 145, 145, 145, 146, 147, 148, 148, 148, 148, 149, + 149, 149, 149, 150, 150, 150, 150, 150, 151, 152, + 153, 153, 154, 154, 155, 156, 156, 156, 156, 156, + 156, 156, 156, 157, 157, 158, 159, 159, 160, 160, + 160, 161, 161, 162, 163, 163, 163, 164, 164, 164, + 165, 165, 165, 165, 166, 166, 166, 167, 167, 167, + 167, 168, 169, 170, 171, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 173, 173, 174, + 174, 175, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 177, 177 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -963,22 +963,22 @@ 2, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10, 12, 10, 0, 4, 6, 8, 17, 15, 4, 0, - 2, 0, 2, 4, 3, 3, 1, 2, 1, 1, - 14, 0, 3, 3, 3, 2, 2, 3, 3, 2, - 2, 2, 0, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 10, 19, 16, 14, 12, 0, 1, 0, 2, 9, - 0, 2, 4, 3, 0, 6, 3, 5, 0, 3, - 3, 3, 3, 3, 3, 4, 3, 0, 4, 3, - 5, 0, 2, 5, 6, 0, 2, 4, 6, 8, - 4, 3, 0, 4, 0, 1, 6, 0, 9, 9, - 3, 3, 3, 3, 3, 0, 2, 5, 0, 2, - 1, 4, 4, 1, 3, 9, 0, 3, 2, 0, - 2, 2, 1, 1, 1, 1, 1, 1, 1, 0, - 2, 2, 2, 4, 2, 2, 4, 1, 1, 2, - 1, 2, 1, 3, 3, 4, 3, 4, 3, 1, - 1, 0, 1, 1, 3, 3, 3, 3, 3, 3, - 3, 2, 2, 2, 3, 1, 2, 1, 1 + 2, 4, 3, 3, 1, 2, 1, 1, 14, 0, + 3, 3, 3, 2, 2, 3, 3, 2, 2, 2, + 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 10, 19, + 16, 14, 12, 0, 1, 0, 2, 9, 0, 2, + 4, 3, 0, 6, 3, 5, 0, 3, 3, 3, + 3, 3, 3, 4, 3, 0, 4, 3, 5, 0, + 2, 5, 6, 0, 2, 4, 6, 8, 4, 3, + 0, 4, 0, 1, 6, 0, 9, 9, 3, 3, + 3, 3, 3, 0, 2, 5, 0, 2, 1, 4, + 4, 1, 3, 9, 0, 3, 2, 0, 2, 2, + 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, + 2, 4, 2, 2, 4, 1, 1, 2, 1, 2, + 1, 3, 3, 4, 3, 4, 3, 1, 1, 0, + 1, 1, 3, 3, 3, 3, 3, 3, 3, 2, + 2, 2, 3, 1, 2, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -986,63 +986,63 @@ means the default is an error. */ static const unsigned short yydefact[] = { - 3, 0, 2, 1, 5, 257, 258, 11, 209, 9, - 0, 0, 0, 0, 0, 4, 8, 0, 11, 243, - 255, 0, 219, 0, 253, 252, 251, 256, 0, 182, + 3, 0, 2, 1, 5, 255, 256, 11, 207, 9, + 0, 0, 0, 0, 0, 4, 8, 0, 11, 241, + 253, 0, 217, 0, 251, 250, 249, 254, 0, 180, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, - 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, - 209, 209, 209, 209, 209, 7, 17, 18, 24, 22, - 23, 27, 28, 21, 30, 209, 16, 19, 20, 25, - 26, 31, 29, 215, 218, 214, 216, 212, 217, 213, - 210, 211, 181, 0, 254, 0, 6, 246, 250, 247, - 244, 245, 248, 249, 219, 219, 219, 0, 0, 219, - 219, 219, 219, 187, 219, 219, 219, 0, 219, 219, - 0, 0, 0, 220, 221, 222, 0, 180, 184, 0, - 34, 33, 32, 239, 0, 240, 35, 36, 0, 0, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 7, 17, 18, 24, 22, + 23, 27, 28, 21, 30, 207, 16, 19, 20, 25, + 26, 31, 29, 213, 216, 212, 214, 210, 215, 211, + 208, 209, 179, 0, 252, 0, 6, 244, 248, 245, + 242, 243, 246, 247, 217, 217, 217, 0, 0, 217, + 217, 217, 217, 185, 217, 217, 217, 0, 217, 217, + 0, 0, 0, 218, 219, 220, 0, 178, 182, 0, + 34, 33, 32, 237, 0, 238, 35, 36, 0, 0, 0, 0, 40, 41, 0, 38, 39, 37, 0, 42, - 43, 224, 225, 0, 10, 185, 0, 47, 0, 0, - 0, 154, 152, 167, 165, 0, 0, 0, 0, 0, - 0, 0, 195, 0, 0, 183, 0, 228, 230, 232, - 227, 0, 184, 0, 0, 0, 0, 0, 0, 191, - 192, 193, 190, 194, 0, 219, 223, 0, 46, 0, - 229, 231, 226, 0, 0, 0, 0, 0, 153, 0, - 0, 166, 0, 0, 0, 186, 196, 0, 0, 0, - 234, 236, 238, 233, 0, 0, 0, 184, 156, 158, - 171, 169, 175, 0, 0, 0, 206, 50, 50, 235, - 237, 0, 0, 0, 0, 0, 241, 168, 241, 0, - 0, 0, 198, 0, 0, 48, 49, 61, 147, 158, - 158, 158, 158, 158, 158, 158, 157, 0, 172, 0, - 176, 170, 0, 0, 0, 208, 0, 205, 56, 55, - 57, 58, 59, 54, 51, 52, 0, 0, 111, 155, - 160, 159, 162, 163, 164, 161, 241, 241, 0, 0, - 0, 197, 200, 199, 207, 0, 0, 0, 0, 0, - 0, 0, 71, 65, 68, 69, 70, 148, 0, 158, - 242, 0, 177, 188, 189, 0, 53, 13, 67, 12, - 0, 15, 14, 66, 64, 0, 0, 63, 106, 62, - 0, 0, 0, 0, 0, 0, 0, 122, 115, 116, - 119, 120, 121, 0, 173, 241, 0, 0, 107, 0, + 43, 222, 223, 0, 10, 183, 0, 47, 0, 0, + 0, 152, 150, 165, 163, 0, 0, 0, 0, 0, + 0, 0, 193, 0, 0, 181, 0, 226, 228, 230, + 225, 0, 182, 0, 0, 0, 0, 0, 0, 189, + 190, 191, 188, 192, 0, 217, 221, 0, 46, 0, + 227, 229, 224, 0, 0, 0, 0, 0, 151, 0, + 0, 164, 0, 0, 0, 184, 194, 0, 0, 0, + 232, 234, 236, 231, 0, 0, 0, 182, 154, 156, + 169, 167, 173, 0, 0, 0, 204, 50, 50, 233, + 235, 0, 0, 0, 0, 0, 239, 166, 239, 0, + 0, 0, 196, 0, 0, 48, 49, 61, 145, 156, + 156, 156, 156, 156, 156, 156, 155, 0, 170, 0, + 174, 168, 0, 0, 0, 206, 0, 203, 56, 55, + 57, 58, 59, 54, 51, 52, 0, 0, 109, 153, + 158, 157, 160, 161, 162, 159, 239, 239, 0, 0, + 0, 195, 198, 197, 205, 0, 0, 0, 0, 0, + 0, 0, 71, 65, 68, 69, 70, 146, 0, 156, + 240, 0, 175, 186, 187, 0, 53, 13, 67, 12, + 0, 15, 14, 66, 64, 0, 0, 63, 104, 62, + 0, 0, 0, 0, 0, 0, 0, 120, 113, 114, + 117, 118, 119, 0, 171, 239, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, - 118, 0, 117, 114, 113, 112, 0, 174, 0, 178, - 201, 202, 203, 98, 105, 104, 184, 184, 82, 84, + 116, 0, 115, 112, 111, 110, 0, 172, 0, 176, + 199, 200, 201, 98, 103, 102, 182, 182, 82, 84, 85, 77, 78, 80, 81, 83, 79, 75, 0, 74, - 76, 184, 72, 73, 88, 87, 86, 0, 0, 0, + 76, 182, 72, 73, 88, 87, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, - 0, 0, 0, 98, 184, 184, 133, 135, 136, 128, - 129, 131, 132, 134, 130, 126, 0, 125, 127, 184, - 123, 124, 139, 138, 137, 179, 204, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 108, 0, 0, 0, + 0, 0, 0, 98, 182, 182, 131, 133, 134, 126, + 127, 129, 130, 132, 128, 124, 0, 123, 125, 182, + 121, 122, 137, 136, 135, 177, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, - 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 150, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 149, 0, 0, 0, 0, 0, 89, 0, 0, 0, - 151, 92, 0, 0, 0, 0, 0, 99, 0, 140, - 0, 0, 0, 0, 0, 0, 91, 0, 0, 101, - 0, 93, 99, 100, 0, 0, 0, 147, 0, 0, - 90, 0, 101, 102, 145, 0, 94, 0, 147, 0, - 144, 146, 0, 0, 0, 145, 103, 0, 95, 97, - 143, 0, 0, 145, 96, 0, 142, 147, 145, 141 + 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, + 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 148, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 147, 0, 0, 0, 0, 0, 89, 0, 0, 0, + 149, 92, 0, 0, 0, 0, 0, 99, 0, 138, + 0, 0, 0, 0, 0, 0, 91, 0, 0, 99, + 0, 93, 99, 100, 0, 0, 145, 0, 0, 90, + 0, 0, 99, 143, 0, 94, 101, 0, 145, 142, + 144, 0, 0, 0, 143, 0, 95, 97, 141, 0, + 0, 143, 96, 0, 140, 145, 143, 139 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -1051,239 +1051,237 @@ -1, 1, 2, 15, 23, 21, 322, 323, 55, 123, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 166, 245, 274, 275, 67, 276, 330, 388, 397, - 506, 402, 303, 526, 537, 327, 479, 68, 308, 376, - 450, 436, 445, 550, 278, 339, 500, 69, 152, 175, - 235, 70, 154, 176, 237, 239, 16, 17, 85, 146, - 71, 134, 184, 206, 264, 293, 381, 72, 243, 22, - 80, 81, 124, 113, 114, 115, 125, 172, 126, 257, - 319, 19, 20 + 506, 402, 303, 526, 327, 479, 68, 308, 376, 450, + 436, 445, 549, 278, 339, 500, 69, 152, 175, 235, + 70, 154, 176, 237, 239, 16, 17, 85, 146, 71, + 134, 184, 206, 264, 293, 381, 72, 243, 22, 80, + 81, 124, 113, 114, 115, 125, 172, 126, 257, 319, + 19, 20 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -492 +#define YYPACT_NINF -524 static const short yypact[] = { - -492, 13, 3, -492, -492, -492, -492, -492, -492, -492, - 238, 238, 238, 64, 238, -492, -492, -56, -492, 405, - -492, 363, 617, 238, -492, -492, -492, -492, 556, -492, - 363, 238, 238, 238, 238, 238, 238, 238, -492, -492, - -492, -492, -492, -492, -492, -492, -492, -492, -492, -492, - -492, -492, -492, -492, -492, -492, -492, -492, -492, -492, - -492, -492, -492, -492, -492, -492, -492, -492, -492, -492, - -492, -492, -492, -492, -492, -492, -492, -492, -492, -492, - -492, -492, -45, -53, -492, 82, -492, 232, 368, 309, - 134, 134, -492, -492, 617, 282, 282, 80, 80, 617, - 617, 282, 282, 617, 282, 282, 282, 80, 282, 282, - 238, 238, 238, -492, -492, -492, 238, -492, -44, -38, - -492, -492, -492, -492, 18, -492, -492, -492, -23, 11, - 199, 289, -492, -492, 407, -492, -492, -492, 34, -492, - -492, -492, -492, 95, -492, -492, 67, -492, 41, 238, - 238, -492, -492, -492, -492, 238, 238, 238, 238, 238, - 238, 238, -492, 238, 238, -492, 26, -492, -492, -492, - -492, 241, -52, 97, 103, 128, 175, 112, 115, -492, - -492, -492, -492, -492, -27, -492, -492, 121, -492, 123, - -492, -492, -492, 57, 238, 238, -5, 86, -492, -1, - 109, -492, 238, 238, 139, -492, -492, 359, 238, 238, - -492, -492, -492, -492, 278, 131, 144, -44, -492, 148, - 161, -492, 174, 181, 185, 192, -492, 198, 198, -492, - -492, 238, 238, 238, 204, 214, 238, -492, 238, 218, - 238, 238, -492, 179, 498, -492, -492, -492, 211, 148, - 148, 148, 148, 148, 148, 148, -492, 217, 220, 233, - 220, -492, 234, 247, -30, -492, 238, -492, -492, -492, - -492, -492, -492, -492, 253, -492, 330, 238, -492, -492, - -492, -492, -492, -492, -492, -492, 238, 238, 238, 238, - 169, -492, -492, -492, -492, 498, 206, 238, 32, 293, - 12, 12, -492, -492, -492, -492, -492, -492, 341, 261, - -492, 271, 220, -492, -492, 272, -492, -492, -492, -492, - 273, -492, -492, -492, -492, 64, 12, 231, -492, 231, - 565, 206, 238, 32, 297, 12, 12, -492, -492, -492, - -492, -492, -492, 52, -492, 238, 215, 362, -492, -7, - 12, 32, 365, 365, 365, 365, 365, 365, 365, 365, - 365, 238, 238, 238, 32, 238, 365, 365, 365, -492, - -492, 290, -492, -492, 231, 231, 583, -492, 294, 220, - -492, 313, -492, -492, -492, -492, -44, -44, -492, -492, - -492, -492, -492, -492, -492, -492, -492, -492, 314, -492, - -492, -44, -492, -492, -492, -492, -492, 402, 32, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 238, 238, - 238, 32, 238, 403, 403, 403, -492, 238, 238, 238, - 238, 238, 238, 321, -44, -44, -492, -492, -492, -492, - -492, -492, -492, -492, -492, -492, 331, -492, -492, -44, - -492, -492, -492, -492, -492, -492, -492, 338, 347, 349, - 350, 238, 238, 238, 238, 238, 238, 238, 238, 221, - 351, 353, 354, 356, 357, 376, 377, 378, -492, 409, - -492, 238, 238, 238, 238, 221, 238, 238, 238, 12, - 415, 422, 430, 431, 434, 435, 436, 437, 47, 238, - -492, 238, 238, 238, 12, 238, -492, 238, 238, 238, - -492, 435, 438, 439, 58, 442, 444, 445, 447, -492, - 238, 238, 238, 238, 238, 12, -492, 238, 452, 453, - 456, 458, 445, 231, 460, 238, 12, 211, 238, 12, - -492, 238, 453, 94, 388, 461, 96, 462, 211, 12, - -492, -492, 238, 12, 238, 388, 231, 463, 231, 464, - -492, 238, 12, 135, 231, 12, -492, 111, 388, -492 + -524, 22, 3, -524, -524, -524, -524, -524, -524, -524, + 222, 222, 222, 288, 222, -524, -524, -56, -524, 387, + -524, 361, 459, 222, -524, -524, -524, -524, 407, -524, + 361, 222, 222, 222, 222, 222, 222, 222, -524, -524, + -524, -524, -524, -524, -524, -524, -524, -524, -524, -524, + -524, -524, -524, -524, -524, -524, -524, -524, -524, -524, + -524, -524, -524, -524, -524, -524, -524, -524, -524, -524, + -524, -524, -524, -524, -524, -524, -524, -524, -524, -524, + -524, -524, 341, -67, -524, 82, -524, 442, 455, 335, + 229, 229, -524, -524, 459, 343, 343, 80, 80, 459, + 459, 343, 343, 459, 343, 343, 343, 80, 343, 343, + 222, 222, 222, -524, -524, -524, 222, -524, -44, -45, + -524, -524, -524, -524, 18, -524, -524, -524, -24, -16, + 187, 192, -524, -524, 258, -524, -524, -524, 11, -524, + -524, -524, -524, 28, -524, -524, 85, -524, 41, 222, + 222, -524, -524, -524, -524, 222, 222, 222, 222, 222, + 222, 222, -524, 222, 222, -524, 26, -524, -524, -524, + -524, 388, -52, 56, 59, 283, 328, 91, 93, -524, + -524, -524, -524, -524, -27, -524, -524, 109, -524, 111, + -524, -524, -524, 57, 222, 222, -5, 139, -524, -1, + 169, -524, 222, 222, 207, -524, -524, 198, 222, 222, + -524, -524, -524, -524, 436, 132, 135, -44, -524, 147, + 160, -524, 164, 166, 170, -7, -524, 188, 188, -524, + -524, 222, 222, 222, 242, 8, 222, -524, 222, 35, + 222, 222, -524, -11, 199, -524, -524, -524, 212, 147, + 147, 147, 147, 147, 147, 147, -524, 246, 247, 254, + 247, -524, 259, 261, -30, -524, 222, -524, -524, -524, + -524, -524, -524, -524, 269, -524, 273, 222, -524, -524, + -524, -524, -524, -524, -524, -524, 222, 222, 222, 222, + 270, -524, -524, -524, -524, 199, 183, 222, 32, 316, + 12, 12, -524, -524, -524, -524, -524, -524, 327, 313, + -524, 315, 247, -524, -524, 320, -524, -524, -524, -524, + 322, -524, -524, -524, -524, 288, 12, 298, -524, 298, + 561, 183, 222, 32, 413, 12, 12, -524, -524, -524, + -524, -524, -524, 52, -524, 222, 210, 432, -524, -19, + 12, 32, 462, 462, 462, 462, 462, 462, 462, 462, + 462, 222, 222, 222, 32, 222, 462, 462, 462, -524, + -524, 349, -524, -524, 298, 298, 579, -524, 384, 247, + -524, 385, -524, -524, -524, -524, -44, -44, -524, -524, + -524, -524, -524, -524, -524, -524, -524, -524, 394, -524, + -524, -44, -524, -524, -524, -524, -524, 482, 32, 483, + 483, 483, 483, 483, 483, 483, 483, 483, 222, 222, + 222, 32, 222, 483, 483, 483, -524, 222, 222, 222, + 222, 222, 222, 405, -44, -44, -524, -524, -524, -524, + -524, -524, -524, -524, -524, -524, 411, -524, -524, -44, + -524, -524, -524, -524, -524, -524, -524, 415, 424, 430, + 439, 222, 222, 222, 222, 222, 222, 222, 222, 216, + 441, 443, 444, 445, 453, 460, 461, 463, -524, 466, + -524, 222, 222, 222, 222, 216, 222, 222, 222, 12, + 476, 477, 478, 480, 484, 485, 486, 488, 9, 222, + -524, 222, 222, 222, 12, 222, -524, 222, 222, 222, + -524, 485, 489, 527, 58, 536, 537, 538, 539, -524, + 222, 222, 222, 222, 222, 12, -524, 222, 540, 538, + 544, 546, 538, 67, 547, 222, 212, 222, 12, -524, + 12, 222, 538, 219, 548, 106, 298, 552, 212, -524, + -524, 222, 12, 222, 219, 556, 298, 559, -524, 222, + 12, 131, 298, 12, -524, 126, 219, -524 }; /* YYPGOTO[NTERM-NUM]. */ static const short yypgoto[] = { - -492, -492, -492, -492, -492, 440, -276, -173, 465, -492, - -492, -492, -492, -492, -492, -492, -492, -492, -492, -492, - -492, -492, 268, -492, 203, -492, -492, -492, 210, -94, - 49, -492, 254, 40, 31, -292, 89, -492, -492, -492, - -492, 242, -270, -491, -446, -492, -492, -492, 344, -492, - -69, -492, 342, -492, -492, -492, -492, -492, -492, -169, - -492, -492, -492, 316, -492, -492, -492, -492, -492, 584, - -492, -492, -20, -249, -248, -243, -213, -492, 408, -234, - -2, 401, 22 + -524, -524, -524, -524, -524, 534, -276, -110, 525, -524, + -524, -524, -524, -524, -524, -524, -524, -524, -524, -524, + -524, -524, 425, -524, 359, -524, -524, -524, 208, 4, + 144, -524, 348, -402, -292, 172, -524, -524, -524, -524, + 211, 128, -356, -523, -524, -524, -524, 423, -524, -72, + -524, 420, -524, -524, -524, -524, -524, -524, -169, -524, + -524, -524, 397, -524, -524, -524, -524, -524, 404, -524, + -524, -20, -249, -248, -236, -358, -524, 542, -234, -2, + 400, 20 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -243 +#define YYTABLE_NINF -241 static const short yytable[] = { 18, 217, 82, 193, 259, 220, 4, 5, 6, 329, - 7, 204, 290, 3, 204, 110, 5, 6, 111, 112, - 318, 83, 110, 8, 29, 111, 112, 304, 305, 192, - 5, 6, 187, 306, 349, 27, 5, 6, 321, 317, - 116, 145, 147, 374, 375, 167, 168, 169, 233, 145, + 7, 204, 290, 543, 204, 110, 5, 6, 111, 112, + 318, 83, 3, 8, 29, 554, 116, 304, 305, 192, + 5, 6, 187, 27, 349, 147, 5, 6, 321, 317, + 306, 145, 566, 374, 375, 167, 168, 169, 233, 145, 170, 291, 309, 311, 205, 370, 5, 6, 385, 340, - 341, 210, 211, 212, 560, 342, 213, 9, 5, 6, - 149, 218, 566, 165, 119, 221, 350, 569, 110, 130, - 131, 111, 112, 118, 5, 6, 5, 6, 384, 10, - 11, 544, 219, 12, 13, 128, 129, 14, 148, 250, - 251, 252, 555, 325, 150, 138, 326, 188, 141, 142, - 143, 378, 10, 11, 144, 222, 12, 13, 10, 11, - 14, 568, 12, 13, 253, 254, 14, 163, 171, 255, - 350, 73, 74, 75, 76, 77, 78, 79, 10, 11, - 509, 350, 12, 13, 214, 225, 14, 173, 174, 447, - 448, 522, 451, 177, 178, 179, 180, 181, 182, 183, - 372, 185, 186, 117, 189, 207, 10, 11, 10, 11, - 12, 13, 12, 13, 14, 315, 14, 350, 386, 350, - 279, 280, 281, 282, 283, 284, 285, 549, 164, 553, - 194, 401, 215, 216, 350, -219, 195, 498, -219, -219, - 223, 224, 196, 197, 277, 202, 227, 228, 203, 198, - 5, 6, 514, 317, 208, -219, 209, 429, 430, 5, - 6, 380, 36, 37, 231, 5, 6, 478, 565, 247, - 248, 249, 432, 533, 258, 434, 260, 232, 262, 263, - 344, 234, 5, 6, 543, 190, 191, 546, 449, 199, - 200, 250, 251, 252, 236, 265, 201, 556, 266, 110, - 267, 558, 111, 112, 294, 462, 463, 238, 399, 400, - 564, 403, 242, 567, 240, 307, 253, 254, 241, 151, - 465, 255, 229, 230, 310, 312, 313, 314, 120, 121, - 122, 244, 10, 11, 151, 320, 12, 13, 153, 324, - 14, 10, 11, 373, 277, 12, 13, 10, 11, 14, - 286, 12, 13, -242, 350, 14, 32, 33, 34, 35, - 36, 37, 328, 328, 10, 11, 287, 288, 12, 13, - 371, 551, 14, 73, 74, 75, 76, 77, 78, 79, - 289, 377, 551, 379, 382, 296, 295, 348, 328, 110, - 551, 297, 111, 112, 343, 551, 331, 328, 328, 398, - 398, 398, 332, 398, 345, 346, 347, 38, 383, 153, - 39, 387, 328, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 407, 50, 51, 52, 427, 298, 299, - 110, 300, 301, 111, 112, 34, 35, 36, 37, 333, - 334, 110, 335, 336, 111, 112, 428, 431, 433, 435, - 302, 24, 25, 26, 461, 28, 446, 446, 446, 110, - 446, 337, 111, 112, 464, 455, 456, 457, 458, 459, - 460, 466, 87, 88, 89, 90, 91, 92, 93, 226, - 467, 53, 468, 469, 481, 54, 482, 483, -219, 484, - 485, -219, -219, 33, 34, 35, 36, 37, 30, 470, - 471, 472, 473, 474, 475, 476, 477, 480, -219, 486, - 487, 488, 155, 156, 157, 158, 159, 160, 161, 490, - 491, 492, 493, 480, 495, 496, 497, 162, 31, 32, - 33, 34, 35, 36, 37, 86, 246, 510, 316, 511, - 512, 513, 489, 515, 127, 516, 517, 518, 499, 132, - 133, 328, 135, 136, 137, 501, 139, 140, 528, 529, - 530, 531, 532, 502, 503, 534, 328, 504, 505, 507, - 508, 520, 521, 542, 268, 523, 545, 524, 525, 547, - 527, 269, 270, 271, 272, 535, 536, 328, 273, 538, - 557, 539, 559, 541, 552, 554, 561, 562, 328, 563, - 519, 328, 338, 389, 390, 391, 392, 393, 394, 395, - 396, 328, 540, 548, 494, 328, 404, 405, 406, 256, - 292, 261, 0, 0, 328, 0, 0, 328, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 31, - 32, 33, 34, 35, 36, 37, 369, 0, 0, 109, - 0, 84, 437, 438, 439, 440, 441, 442, 443, 444, - 0, 0, 0, 0, 426, 452, 453, 454, 73, 74, - 75, 76, 77, 78, 79 + 341, 210, 211, 212, 350, 265, 213, 9, 266, 149, + 267, 218, 342, 242, 119, 221, 384, 150, 110, 130, + 131, 111, 112, 118, 5, 6, 5, 6, 151, 10, + 11, 165, 350, 12, 13, 128, 129, 14, 148, 250, + 251, 252, 509, 325, 163, 138, 326, 188, 141, 142, + 143, 378, 10, 11, 144, 153, 12, 13, 10, 11, + 14, 164, 12, 13, 253, 254, 14, 536, 171, 255, + 539, 73, 74, 75, 76, 77, 78, 79, 10, 11, + 548, 350, 12, 13, 214, 219, 14, 173, 174, 194, + 350, 522, 195, 177, 178, 179, 180, 181, 182, 183, + 540, 185, 186, 117, 189, 207, 10, 11, 10, 11, + 12, 13, 12, 13, 14, 222, 14, 279, 280, 281, + 282, 283, 284, 285, 202, 550, 203, 5, 6, 350, + 317, -217, 215, 216, -217, -217, 550, 498, 558, 552, + 223, 224, 208, 550, 209, 564, 227, 228, 550, 350, + 567, -217, 514, 225, 5, 6, 380, 429, 430, 277, + 5, 6, 478, 372, 563, 231, 5, 6, 232, 247, + 248, 249, 432, 533, 258, 268, 260, 344, 262, 263, + 234, 386, 269, 270, 271, 272, 545, 110, 546, 273, + 111, 112, 110, 236, 401, 111, 112, 238, 110, 240, + 556, 111, 112, 241, 294, 462, 463, 151, 562, 10, + 11, 565, 153, 12, 13, 307, 315, 14, 226, -217, + 465, 244, -217, -217, 310, 312, 313, 314, 296, 250, + 251, 252, 5, 6, 297, 320, 10, 11, 434, -217, + 12, 13, 10, 11, 14, 277, 12, 13, 10, 11, + 14, 449, 12, 13, 253, 254, 14, 36, 37, 255, + 328, 328, 324, 155, 156, 157, 158, 159, 160, 161, + 371, 298, 299, 110, 300, 301, 111, 112, 162, 286, + -240, 377, 331, 379, 382, 348, 328, 287, 332, 120, + 121, 122, 288, 302, 289, 328, 328, 196, 197, 398, + 398, 398, 295, 398, 198, 38, 399, 400, 39, 403, + 328, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 350, 50, 51, 52, 333, 334, 110, 335, 336, + 111, 112, 190, 191, 73, 74, 75, 76, 77, 78, + 79, 110, 199, 200, 111, 112, 343, 337, 345, 201, + 24, 25, 26, 346, 28, 347, 446, 446, 446, 373, + 446, 34, 35, 36, 37, 455, 456, 457, 458, 459, + 460, 87, 88, 89, 90, 91, 92, 93, 383, 53, + 229, 230, 407, 54, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 470, + 471, 472, 473, 474, 475, 476, 477, 480, 387, 109, + 31, 32, 33, 34, 35, 36, 37, 427, 428, 490, + 491, 492, 493, 480, 495, 496, 497, 431, 433, 435, + 31, 32, 33, 34, 35, 36, 37, 510, 461, 511, + 512, 513, 84, 515, 464, 516, 517, 518, 466, 328, + 73, 74, 75, 76, 77, 78, 79, 467, 528, 529, + 530, 531, 532, 468, 328, 534, 32, 33, 34, 35, + 36, 37, 469, 542, 481, 544, 482, 483, 484, 547, + 33, 34, 35, 36, 37, 328, 485, 447, 448, 555, + 451, 557, 30, 486, 487, 86, 488, 561, 328, 489, + 328, 389, 390, 391, 392, 393, 394, 395, 396, 499, + 501, 502, 328, 503, 404, 405, 406, 504, 505, 507, + 328, 508, 520, 328, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 521, 437, 438, 439, 440, 441, 442, 443, 444, 523, + 524, 525, 527, 535, 452, 453, 454, 537, 127, 538, + 541, 551, 369, 132, 133, 553, 135, 136, 137, 559, + 139, 140, 560, 246, 316, 519, 338, 494, 256, 261, + 426, 292 }; -static const short yycheck[] = +static const unsigned short yycheck[] = { 2, 6, 22, 172, 238, 6, 3, 4, 5, 301, - 7, 41, 42, 0, 41, 60, 4, 5, 63, 64, - 296, 23, 60, 20, 80, 63, 64, 276, 276, 81, - 4, 5, 6, 276, 326, 13, 4, 5, 6, 7, - 93, 93, 80, 335, 336, 4, 5, 6, 217, 93, + 7, 41, 42, 536, 41, 60, 4, 5, 63, 64, + 296, 23, 0, 20, 80, 548, 93, 276, 276, 81, + 4, 5, 6, 13, 326, 80, 4, 5, 6, 7, + 276, 93, 565, 335, 336, 4, 5, 6, 217, 93, 9, 81, 286, 287, 81, 331, 4, 5, 350, 308, - 308, 4, 5, 6, 555, 308, 9, 64, 4, 5, - 93, 76, 563, 6, 94, 76, 83, 568, 60, 99, - 100, 63, 64, 85, 4, 5, 4, 5, 95, 86, - 87, 537, 6, 90, 91, 97, 98, 94, 80, 47, - 48, 49, 548, 91, 93, 107, 94, 81, 110, 111, - 112, 345, 86, 87, 116, 6, 90, 91, 86, 87, - 94, 567, 90, 91, 72, 73, 94, 93, 87, 77, - 83, 51, 52, 53, 54, 55, 56, 57, 86, 87, - 93, 83, 90, 91, 87, 6, 94, 149, 150, 419, - 420, 93, 422, 155, 156, 157, 158, 159, 160, 161, - 333, 163, 164, 81, 166, 185, 86, 87, 86, 87, - 90, 91, 90, 91, 94, 6, 94, 83, 351, 83, - 249, 250, 251, 252, 253, 254, 255, 93, 93, 93, - 93, 364, 194, 195, 83, 60, 93, 489, 63, 64, - 202, 203, 74, 75, 93, 93, 208, 209, 93, 81, - 4, 5, 504, 7, 93, 80, 93, 386, 387, 4, - 5, 6, 88, 89, 93, 4, 5, 6, 93, 231, - 232, 233, 401, 525, 236, 408, 238, 93, 240, 241, - 309, 93, 4, 5, 536, 4, 5, 539, 421, 74, - 75, 47, 48, 49, 93, 76, 81, 549, 79, 60, - 81, 553, 63, 64, 266, 434, 435, 93, 362, 363, - 562, 365, 80, 565, 93, 277, 72, 73, 93, 80, - 449, 77, 4, 5, 286, 287, 288, 289, 6, 7, - 8, 93, 86, 87, 80, 297, 90, 91, 80, 6, - 94, 86, 87, 6, 93, 90, 91, 86, 87, 94, - 93, 90, 91, 93, 83, 94, 84, 85, 86, 87, - 88, 89, 300, 301, 86, 87, 93, 93, 90, 91, - 332, 544, 94, 51, 52, 53, 54, 55, 56, 57, - 93, 343, 555, 345, 346, 15, 93, 325, 326, 60, - 563, 21, 63, 64, 93, 568, 15, 335, 336, 361, - 362, 363, 21, 365, 93, 93, 93, 4, 6, 80, - 7, 6, 350, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 93, 21, 22, 23, 93, 58, 59, - 60, 61, 62, 63, 64, 86, 87, 88, 89, 58, [truncated at 1000 lines; 2218 more skipped]
19 years, 9 months
1
0
0
0
← Newer
1
...
31
32
33
34
35
36
37
...
61
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
Results per page:
10
25
50
100
200