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
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
July 2012
----- 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
14 participants
193 discussions
Start a n
N
ew thread
[jgardou] 56960: [WIN32K] - Fix macro defitnition
by jgardou@svn.reactos.org
Author: jgardou Date: Tue Jul 24 15:38:46 2012 New Revision: 56960 URL:
http://svn.reactos.org/svn/reactos?rev=56960&view=rev
Log: [WIN32K] - Fix macro defitnition Modified: trunk/reactos/win32ss/gdi/ntgdi/gdiobj.c Modified: trunk/reactos/win32ss/gdi/ntgdi/gdiobj.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/gdiobj.c…
============================================================================== --- trunk/reactos/win32ss/gdi/ntgdi/gdiobj.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/gdi/ntgdi/gdiobj.c [iso-8859-1] Tue Jul 24 15:38:46 2012 @@ -66,7 +66,7 @@ #define InterlockedOr16 _InterlockedOr16 #endif -#define GDIOBJ_POOL_TAG(type) ('00hG' + ((objt & 0x1f) << 24)) +#define GDIOBJ_POOL_TAG(type) ('00hG' + (((type) & 0x1f) << 24)) enum {
12 years, 5 months
1
0
0
0
[tfaber] 56959: [NTOSKRNL:IOMGR][NPFS] - Do not pass non-boolean Alertable values to KeWaitForSingleObject - Fix some DPRINTs
by tfaber@svn.reactos.org
Author: tfaber Date: Tue Jul 24 15:32:06 2012 New Revision: 56959 URL:
http://svn.reactos.org/svn/reactos?rev=56959&view=rev
Log: [NTOSKRNL:IOMGR][NPFS] - Do not pass non-boolean Alertable values to KeWaitForSingleObject - Fix some DPRINTs Modified: trunk/reactos/drivers/filesystems/npfs/fsctrl.c trunk/reactos/drivers/filesystems/npfs/rw.c trunk/reactos/ntoskrnl/io/iomgr/iofunc.c Modified: trunk/reactos/drivers/filesystems/npfs/fsctrl.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/npfs/f…
============================================================================== --- trunk/reactos/drivers/filesystems/npfs/fsctrl.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/npfs/fsctrl.c [iso-8859-1] Tue Jul 24 15:32:06 2012 @@ -186,7 +186,7 @@ KeWaitForSingleObject(&Ccb->ConnectEvent, UserRequest, WaitMode, - (Flags & FO_ALERTABLE_IO), + (Flags & FO_ALERTABLE_IO) != 0, NULL); } @@ -407,7 +407,7 @@ Status = KeWaitForSingleObject(&Ccb->ConnectEvent, UserRequest, Irp->RequestorMode, - (Ccb->FileObject->Flags & FO_ALERTABLE_IO), + (Ccb->FileObject->Flags & FO_ALERTABLE_IO) != 0, TimeOut); if ((Status == STATUS_USER_APC) || (Status == STATUS_KERNEL_APC) || (Status == STATUS_ALERTED)) Status = STATUS_CANCELLED; @@ -532,7 +532,7 @@ Status = KeWaitForSingleObject(&Ccb->ConnectEvent, UserRequest, Irp->RequestorMode, - (Ccb->FileObject->Flags & FO_ALERTABLE_IO), + (Ccb->FileObject->Flags & FO_ALERTABLE_IO) != 0, &TimeOut); if ((Status == STATUS_USER_APC) || (Status == STATUS_KERNEL_APC) || (Status == STATUS_ALERTED)) Status = STATUS_CANCELLED; Modified: trunk/reactos/drivers/filesystems/npfs/rw.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/npfs/r…
============================================================================== --- trunk/reactos/drivers/filesystems/npfs/rw.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/npfs/rw.c [iso-8859-1] Tue Jul 24 15:32:06 2012 @@ -459,9 +459,9 @@ Status = KeWaitForSingleObject(&Ccb->ReadEvent, UserRequest, Irp->RequestorMode, - (FileObject->Flags & FO_ALERTABLE_IO), + (FileObject->Flags & FO_ALERTABLE_IO) != 0, NULL); - DPRINT("Finished waiting (%wZ)! Status: %x\n", &Ccb->Fcb->PipeName, Status); + DPRINT("Finished waiting (%wZ)! Status: %lx\n", &Ccb->Fcb->PipeName, Status); ExAcquireFastMutex(&Ccb->DataListLock); @@ -815,7 +815,7 @@ while(1) { - if ((ReaderCcb->WriteQuotaAvailable == 0)) + if (ReaderCcb->WriteQuotaAvailable == 0) { if (Ccb->PipeState != FILE_PIPE_CONNECTED_STATE || !Ccb->OtherSide) { @@ -826,13 +826,13 @@ KeSetEvent(&ReaderCcb->ReadEvent, IO_NO_INCREMENT, FALSE); ExReleaseFastMutex(&ReaderCcb->DataListLock); - DPRINT("Write Waiting for buffer space (%S)\n", Fcb->PipeName.Buffer); + DPRINT("Write Waiting for buffer space (%wZ)\n", &Fcb->PipeName); Status = KeWaitForSingleObject(&Ccb->WriteEvent, UserRequest, Irp->RequestorMode, - (FileObject->Flags & FO_ALERTABLE_IO), + (FileObject->Flags & FO_ALERTABLE_IO) != 0, NULL); - DPRINT("Write Finished waiting (%S)! Status: %x\n", Fcb->PipeName.Buffer, Status); + DPRINT("Write Finished waiting (%wZ)! Status: %lx\n", &Fcb->PipeName, Status); if ((Status == STATUS_USER_APC) || (Status == STATUS_KERNEL_APC) || (Status == STATUS_ALERTED)) { Modified: trunk/reactos/ntoskrnl/io/iomgr/iofunc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/iofunc.c…
============================================================================== --- trunk/reactos/ntoskrnl/io/iomgr/iofunc.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/io/iomgr/iofunc.c [iso-8859-1] Tue Jul 24 15:32:06 2012 @@ -163,7 +163,7 @@ Executive, PreviousMode, (FileObject->Flags & - FO_ALERTABLE_IO), + FO_ALERTABLE_IO) != 0, NULL); if ((Status == STATUS_ALERTED) || (Status == STATUS_USER_APC)) { @@ -603,7 +603,8 @@ Status = KeWaitForSingleObject(&FileObject->Event, Executive, KernelMode, - FileObject->Flags & FO_ALERTABLE_IO, + (FileObject->Flags & + FO_ALERTABLE_IO) != 0, NULL); if (Status == STATUS_ALERTED) { @@ -856,7 +857,8 @@ Status = KeWaitForSingleObject(&FileObject->Event, Executive, KernelMode, - FileObject->Flags & FO_ALERTABLE_IO, + (FileObject->Flags & + FO_ALERTABLE_IO) != 0, NULL); if (Status == STATUS_ALERTED) { @@ -1869,7 +1871,8 @@ Status = KeWaitForSingleObject(&FileObject->Event, Executive, PreviousMode, - FileObject->Flags & FO_ALERTABLE_IO, + (FileObject->Flags & + FO_ALERTABLE_IO) != 0, NULL); if ((Status == STATUS_USER_APC) || (Status == STATUS_ALERTED)) { @@ -2529,7 +2532,8 @@ Status = KeWaitForSingleObject(&FileObject->Event, Executive, PreviousMode, - FileObject->Flags & FO_ALERTABLE_IO, + (FileObject->Flags & + FO_ALERTABLE_IO) != 0, NULL); if ((Status == STATUS_USER_APC) || (Status == STATUS_ALERTED)) {
12 years, 5 months
1
0
0
0
[jgardou] 56958: [INCLUDE] - Update glext.h to latest version
by jgardou@svn.reactos.org
Author: jgardou Date: Tue Jul 24 10:11:23 2012 New Revision: 56958 URL:
http://svn.reactos.org/svn/reactos?rev=56958&view=rev
Log: [INCLUDE] - Update glext.h to latest version Modified: trunk/reactos/include/GL/glext.h [This mail would be too long, it was shortened to contain the URLs only.] Modified: trunk/reactos/include/GL/glext.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/GL/glext.h?rev=569…
12 years, 5 months
1
0
0
0
[dreimer] 56957: Change totalcommander to a external mirror. As suggested by Pierre.
by dreimer@svn.reactos.org
Author: dreimer Date: Tue Jul 24 07:20:08 2012 New Revision: 56957 URL:
http://svn.reactos.org/svn/reactos?rev=56957&view=rev
Log: Change totalcommander to a external mirror. As suggested by Pierre. Modified: trunk/reactos/base/applications/rapps/rapps/totalcommander.txt Modified: trunk/reactos/base/applications/rapps/rapps/totalcommander.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/totalcommander.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/totalcommander.txt [iso-8859-1] Tue Jul 24 07:20:08 2012 @@ -8,5 +8,5 @@ Size = 3.2MB Category = 12 URLSite =
http://http://www.ghisler.com/
-URLDownload =
http://svn.reactos.org/packages/tcm80x32.exe
+URLDownload =
http://www.slo.ru/download/total_commander/tcm80x32.exe
CDPath = none
12 years, 5 months
1
0
0
0
[dreimer] 56956: Update rapps to recent versions. FF 3.6 and Thunderbird 3 is no more and thus is hosted on the same spot as the older FF versions are. Fox Audio is updated to 0.9.1 including head ...
by dreimer@svn.reactos.org
Author: dreimer Date: Mon Jul 23 21:49:49 2012 New Revision: 56956 URL:
http://svn.reactos.org/svn/reactos?rev=56956&view=rev
Log: Update rapps to recent versions. FF 3.6 and Thunderbird 3 is no more and thus is hosted on the same spot as the older FF versions are. Fox Audio is updated to 0.9.1 including head rev mpg123 lib and hosted on our svn, too overwriting the old fox audio player. Closing Bug #7194 and #7195, too by adding Total Commander and Click-N-Type Virtual Keyboard Added: trunk/reactos/base/applications/rapps/rapps/cnt.txt (with props) trunk/reactos/base/applications/rapps/rapps/totalcommander.txt (with props) Modified: trunk/reactos/base/applications/rapps/rapps/7zip.txt trunk/reactos/base/applications/rapps/rapps/bittorrent.txt trunk/reactos/base/applications/rapps/rapps/fap.txt trunk/reactos/base/applications/rapps/rapps/firefox3.txt trunk/reactos/base/applications/rapps/rapps/firefox36.txt trunk/reactos/base/applications/rapps/rapps/firefox5.txt trunk/reactos/base/applications/rapps/rapps/libreoffice.txt trunk/reactos/base/applications/rapps/rapps/mirandaim.txt trunk/reactos/base/applications/rapps/rapps/mono2.txt trunk/reactos/base/applications/rapps/rapps/openoffice3.0.txt trunk/reactos/base/applications/rapps/rapps/opera.txt trunk/reactos/base/applications/rapps/rapps/scite.txt trunk/reactos/base/applications/rapps/rapps/seamonkey.txt trunk/reactos/base/applications/rapps/rapps/thunderbird.txt trunk/reactos/base/applications/rapps/rapps/thunderbird5.txt trunk/reactos/base/applications/rapps/rapps/utorrent.txt trunk/reactos/base/applications/rapps/rapps/vlc.txt Modified: trunk/reactos/base/applications/rapps/rapps/7zip.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/7zip.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/7zip.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -2,13 +2,13 @@ [Section] Name = 7-Zip -Version = 9.20 +Version = 9.25 Licence = LGPL Description = Utility to create and open 7zip, zip, tar, rar and other archive files. Size = 1.06MB Category = 12 URLSite =
http://www.7-zip.org/
-URLDownload =
http://ovh.dl.sourceforge.net/project/sevenzip/7-Zip/9.20/7z920.exe
+URLDownload =
http://dl.7-zip.org/7z925.exe
CDPath = none [Section.0407] Modified: trunk/reactos/base/applications/rapps/rapps/bittorrent.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/bittorrent.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/bittorrent.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -8,7 +8,7 @@ Size = 5.78MB Category = 5 URLSite =
http://www.bittorrent.com/
-URLDownload =
http://download.bittorrent.com/dl/BitTorrent-7.6.1.exe
+URLDownload =
http://download.bittorrent.com/7.6.1/BitTorrent3.exe
CDPath = none [Section.0407] Added: trunk/reactos/base/applications/rapps/rapps/cnt.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/cnt.txt (added) +++ trunk/reactos/base/applications/rapps/rapps/cnt.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -1,0 +1,12 @@ +; UTF-8 + +[Section] +Name = Click-N-Type Virtual Keyboard +Version = 3.03 +Licence = Freeware +Description = Freeware Virtual Keyboard App. +Size = 1.3MB +Category = 12 +URLSite =
http://http://cnt.lakefolks.com
+URLDownload =
http://svn.reactos.org/packages/CNTzip.exe
+CDPath = none Propchange: trunk/reactos/base/applications/rapps/rapps/cnt.txt ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/base/applications/rapps/rapps/fap.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/fap.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/fap.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -2,13 +2,13 @@ [Section] Name = Fox Audio Player -Version = 0.9.0 +Version = 0.9.1 Licence = GPL Description = Simple and lightweight audio player. Size = 1.86MB Category = 1 URLSite =
http://foxaudioplayer.sourceforge.net/
-URLDownload =
http://svn.reactos.org/packages/fap-0.9.0-win32-bin.exe
+URLDownload =
http://svn.reactos.org/packages/fap-0.9.1-win32-bin.exe
CDPath = none [Section.0407] Modified: trunk/reactos/base/applications/rapps/rapps/firefox3.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/firefox3.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/firefox3.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -13,17 +13,14 @@ [Section.0405] Description = NejpopulárnÄjÅ¡Ã a jeden z nejlepÅ¡Ãch svobodných webových prohlÞeÄů. -Size = 7.0M URLSite =
http://www.mozilla-europe.org/cs/
[Section.0407] Description = Der populärste und einer der besten freien Webbrowser. -Size = 7.0M URLSite =
http://www.mozilla-europe.org/de/
[Section.040a] Description = El más popular y uno de los mejores navegadores web gratuitos que hay. -Size = 7.0M URLSite =
http://www.mozilla-europe.org/es/
[Section.040c] @@ -32,22 +29,18 @@ [Section.0414] Description = Mest populære og best også gratis nettleserene der ute. -Size = 7.0M URLSite =
http://www.mozilla-europe.org/no/
[Section.0415] Description = Najpopularniejsza i jedna z najlepszych darmowych przeglÄ darek internetowych. -Size = 7.9M URLSite =
http://www.mozilla-europe.org/pl/
[Section.0418] Description = Cel mai popular Èi unul dintre cele mai bune navigatoare web gratuite existente. -Size = 7.16Mo URLSite =
http://www.mozilla-europe.org/ro/
[Section.0419] Description = Ðдин из ÑамÑÑ Ð¿Ð¾Ð¿ÑлÑÑнÑÑ Ð¸ лÑÑÑÐ¸Ñ Ð±ÐµÑплаÑнÑÑ Ð±ÑаÑзеÑов. -Size = 7.8M URLSite =
http://www.mozilla-europe.org/ru/
[Section.041b] @@ -56,5 +49,4 @@ [Section.0422] Description = ÐайпопÑлÑÑнÑÑий Ñа один з кÑаÑÐ¸Ñ Ð±ÐµÐ·Ð¿Ð»Ð°ÑÐ½Ð¸Ñ Ð²ÐµÐ±-бÑаÑзеÑÑв. -Size = 7.4M URLSite =
http://www.mozilla-europe.org/uk/
Modified: trunk/reactos/base/applications/rapps/rapps/firefox36.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/firefox36.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/firefox36.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -8,59 +8,41 @@ Size = 8.22MB Category = 5 URLSite =
http://www.mozilla.com/en-US/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.6/win…
+URLDownload =
http://svn.reactos.org/packages/Firefox%20Setup%203.6.28.exe
CDPath = none [Section.0407] Description = Der populärste und einer der besten freien Webbrowser. -Size = 8.06MB URLSite =
http://www.mozilla-europe.org/de/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.6/win…
[Section.040a] Description = El más popular y uno de los mejores navegadores web gratuitos que hay. -Size = 8.05MB URLSite =
http://www.mozilla-europe.org/es/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.6/win…
[Section.040c] Description = Le navigateur web gratuit le plus populaire et l'un des meilleurs. -Size = 8.28MB URLSite =
http://www.mozilla-europe.org/fr/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.6/win…
[Section.0414] Description = Mest populære og best også gratis nettleserene der ute. -Size = 8.06MB URLSite =
http://www.mozilla-europe.org/no/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.6/win…
[Section.0415] Description = Najpopularniejsza i jedna z najlepszych darmowych przeglÄ darek internetowych. -Size = 8.9MB URLSite =
http://www.mozilla-europe.org/pl/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.6/win…
[Section.0418] Description = Cel mai popular Èi unul dintre cele mai bune navigatoare web gratuite existente. -Size = 8.46Mo URLSite =
http://www.mozilla-europe.org/ro/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.6/win…
[Section.0419] Description = Ðдин из ÑамÑÑ Ð¿Ð¾Ð¿ÑлÑÑнÑÑ Ð¸ лÑÑÑÐ¸Ñ Ð±ÐµÑплаÑнÑÑ Ð±ÑаÑзеÑов. -Size = 8.46MB URLSite =
http://www.mozilla-europe.org/ru/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.6/win…
[Section.041b] Description = NajpopulárnejÅ¡Ã a jeden z najlepÅ¡Ãch slobodný webových prehliadaÄov. -Size = 8.53MB URLSite =
http://www.mozilla-europe.org/sk/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.6/win…
[Section.0422] Description = ÐайпопÑлÑÑнÑÑий Ñа один з кÑаÑÐ¸Ñ Ð±ÐµÐ·Ð¿Ð»Ð°ÑÐ½Ð¸Ñ Ð²ÐµÐ±-бÑаÑзеÑÑв. -Size = 8.44MB URLSite =
http://www.mozilla-europe.org/uk/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.6/win…
Modified: trunk/reactos/base/applications/rapps/rapps/firefox5.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/firefox5.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/firefox5.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -1,66 +1,66 @@ ; UTF-8 [Section] -Name = Mozilla Firefox 13 -Version = 13.0.1 +Name = Mozilla Firefox 14 +Version = 14.0.1 Licence = MPL/GPL/LGPL Description = The most popular and one of the best free Web Browsers out there. Size = 15.8MB Category = 5 URLSite =
http://www.mozilla.com/en-US/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/13.0.1/win32/e…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/14.0.1/win32/e…
CDPath = none [Section.0407] Description = Der populärste und einer der besten freien Webbrowser. Size = 15.7MB URLSite =
http://www.mozilla-europe.org/de/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/13.0.1/win32/d…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/14.0.1/win32/d…
[Section.040a] Description = El más popular y uno de los mejores navegadores web gratuitos que hay. Size = 15.6MB URLSite =
http://www.mozilla-europe.org/es/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/13.0.1/win32/e…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/14.0.1/win32/e…
[Section.040c] Description = Le navigateur web gratuit le plus populaire et l'un des meilleurs. Size = 15.9MB URLSite =
http://www.mozilla-europe.org/fr/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/13.0.1/win32/f…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/14.0.1/win32/f…
[Section.0414] Description = Mest populære og best også gratis nettleserene der ute. Size = 15.6MB URLSite =
http://www.mozilla-europe.org/no/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/13.0.1/win32/n…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/14.0.1/win32/n…
[Section.0415] Description = Najpopularniejsza i jedna z najlepszych darmowych przeglÄ darek internetowych. Size = 16.5MB URLSite =
http://www.mozilla-europe.org/pl/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/13.0.1/win32/p…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/14.0.1/win32/p…
[Section.0418] Description = Cel mai popular Èi unul dintre cele mai bune navigatoare web gratuite existente. Size = 16.1Mo URLSite =
http://www.mozilla-europe.org/ro/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/13.0.1/win32/r…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/14.0.1/win32/r…
[Section.0419] Description = Ðдин из ÑамÑÑ Ð¿Ð¾Ð¿ÑлÑÑнÑÑ Ð¸ лÑÑÑÐ¸Ñ Ð±ÐµÑплаÑнÑÑ Ð±ÑаÑзеÑов. Size = 16.1MB URLSite =
http://www.mozilla-europe.org/ru/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/13.0.1/win32/r…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/14.0.1/win32/r…
[Section.041b] Description = NajpopulárnejÅ¡Ã a jeden z najlepÅ¡Ãch slobodný webových prehliadaÄov. Size = 16.3MB URLSite =
http://www.mozilla-europe.org/sk/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/13.0.1/win32/s…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/14.0.1/win32/s…
[Section.0422] Description = ÐайпопÑлÑÑнÑÑий Ñа один з кÑаÑÐ¸Ñ Ð±ÐµÐ·Ð¿Ð»Ð°ÑÐ½Ð¸Ñ Ð²ÐµÐ±-бÑаÑзеÑÑв. Size = 16.1MB URLSite =
http://www.mozilla-europe.org/uk/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/13.0.1/win32/u…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/14.0.1/win32/u…
Modified: trunk/reactos/base/applications/rapps/rapps/libreoffice.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/libreoffice.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/libreoffice.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -2,13 +2,13 @@ [Section] Name = LibreOffice -Version = 3.5.4 +Version = 3.5.5 Licence = LGPL Description = Former called OpenOffice. Open Source Office Suite. Size = 201.6MB Category = 6 URLSite =
http://www.documentfoundation.org/
-URLDownload =
http://download.documentfoundation.org/libreoffice/stable/3.5.4/win/x86/Lib…
+URLDownload =
http://download.documentfoundation.org/libreoffice/stable/3.5.5/win/x86/Lib…
CDPath = none [Section.0407] Modified: trunk/reactos/base/applications/rapps/rapps/mirandaim.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/mirandaim.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/mirandaim.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -2,13 +2,13 @@ [Section] Name = Miranda IM -Version = 0.9.52 +Version = 0.10.0 Licence = GPL Description = Open source multiprotocol instant messaging application - May not work completely. Size = 3.1MB Category = 5 URLSite =
http://www.miranda-im.org/
-URLDownload =
http://miranda.googlecode.com/files/miranda-im-v0.9.52-unicode.exe
+URLDownload =
http://miranda.googlecode.com/files/miranda-im-v0.10.0-unicode.exe
CDPath = none [Section.0407] Modified: trunk/reactos/base/applications/rapps/rapps/mono2.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/mono2.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/mono2.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -2,13 +2,13 @@ [Section] Name = Mono .net Development Framework -Version = 2.11.1 +Version = 2.11.2 Licence = Unknown Description = Open Source .net Framework. Size = 88.6MB Category = 14 URLSite =
http://www.mono-project.com/Main_Page
-URLDownload =
http://origin-download.mono-project.com/archive/2.11.1/windows-installer/mo…
+URLDownload =
http://download.mono-project.com/archive/2.11.2/windows-installer/mono-2.11…
CDPath = none [Section.040a] Modified: trunk/reactos/base/applications/rapps/rapps/openoffice3.0.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/openoffice3.0.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/openoffice3.0.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -1,8 +1,8 @@ ; UTF-8 [Section] -Name = OpenOffice 3.3 -Version = 3.3.0 +Name = OpenOffice 3.4 +Version = 3.4.0 Licence = LGPL Description = THE Open Source Office Suite. Size = 145.0MB Modified: trunk/reactos/base/applications/rapps/rapps/opera.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/opera.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/opera.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -2,13 +2,13 @@ [Section] Name = Opera -Version = 11.64 +Version = 12.00 Licence = Freeware Description = The popular Opera Browser with many advanced features and including a Mail and BitTorrent client. -Size = 10.13MB +Size = 12.00MB Category = 5 URLSite =
http://www.opera.com/
-URLDownload =
http://get4.opera.com/pub/opera/win/1164/int/Opera_1164_int_Setup.exe
+URLDownload =
http://ftp.opera.com/pub/opera/win/1200/int/Opera_1200_int_Setup.exe
CDPath = none [Section.0405] Modified: trunk/reactos/base/applications/rapps/rapps/scite.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/scite.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/scite.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -2,13 +2,13 @@ [Section] Name = SciTE -Version = 3.2.0 +Version = 3.2.1 Licence = Freeware Description = SciTE is a SCIntilla based Text Editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs. Size = 683kB Category = 7 URLSite =
http://www.scintilla.org/
-URLDownload =
http://heanet.dl.sourceforge.net/project/scintilla/SciTE/3.2.0/Sc320.exe
+URLDownload =
http://heanet.dl.sourceforge.net/project/scintilla/SciTE/3.2.1/Sc321.exe
CDPath = none [Section.0407] Modified: trunk/reactos/base/applications/rapps/rapps/seamonkey.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/seamonkey.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/seamonkey.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -2,34 +2,34 @@ [Section] Name = Mozilla SeaMonkey -Version = 2.10.1 +Version = 2.11 Licence = MPL/GPL/LGPL Description = Mozilla Suite is alive. This is the one and only Browser, Mail, Chat, and Composer bundle you will ever need. Size = 19.0MB Category = 5 URLSite =
http://www.seamonkey-project.org/
-URLDownload =
http://ftp.df.lth.se/mozilla/seamonkey/releases/2.10.1/win32/en-US/SeaMonke…
+URLDownload =
http://ftp.df.lth.se/mozilla/seamonkey/releases/2.11/win32/en-US/SeaMonkey%…
CDPath = none [Section.0407] Description = Mozilla Suite lebt. Dies ist das einzige Browser-, Mail-, Chat- and Composerwerkzeug-Bundle welches Sie benötigen. Size = 19.0MB -URLDownload =
http://ftp.df.lth.se/mozilla/seamonkey/releases/2.10.1/win32/de/SeaMonkey%2…
+URLDownload =
http://ftp.df.lth.se/mozilla/seamonkey/releases/2.11/win32/de/SeaMonkey%20S…
[Section.040a] Description = La suite de Mozilla está viva. Es el primero y único navegador web, gestor de correo, lector de noticias, Chat y editor HTML que necesitarás. Size = 18.9MB -URLDownload =
http://ftp.df.lth.se/mozilla/seamonkey/releases/2.10.1/win32/es-ES/SeaMonke…
+URLDownload =
http://ftp.df.lth.se/mozilla/seamonkey/releases/2.11/win32/es-ES/SeaMonkey%…
[Section.040c] Description = La suite Mozilla est en vie. Ceci est le seul et l'unique package navigateur, client mail, client chat et composer dont vous aurez besoin. Size = 19.2MB -URLDownload =
http://ftp.df.lth.se/mozilla/seamonkey/releases/2.10.1/win32/fr/SeaMonkey%2…
+URLDownload =
http://ftp.df.lth.se/mozilla/seamonkey/releases/2.11/win32/fr/SeaMonkey%20S…
[Section.0415] Description = Pakiet Mozilla żyje. W zestawie: przeglÄ darka, klient poczty, IRC oraz Edytor HTML - wszystko, czego potrzebujesz. Size = 19.8MB -URLDownload =
http://ftp.df.lth.se/mozilla/seamonkey/releases/2.10.1/win32/pl/SeaMonkey%2…
+URLDownload =
http://ftp.df.lth.se/mozilla/seamonkey/releases/2.11/win32/pl/SeaMonkey%20S…
[Section.0418] Description = Suita Mozilla. Acest pachet ce încorporeazÄ navigator, poÈtÄ electronicÄ, client IRC Èi editor HTML, acoperind astfel o arie largÄ de necesitÄÈi. @@ -38,9 +38,9 @@ [Section.0419] Description = ÐÑодолжение Mozilla Suite. ÐклÑÑÐ°ÐµÑ Ð±ÑаÑзеÑ, поÑÑовÑй клиенÑ, IRC-ÐºÐ»Ð¸ÐµÐ½Ñ Ð¸ HTML-ÑедакÑоÑ. Size = 19.5MB -URLDownload =
http://ftp.df.lth.se/mozilla/seamonkey/releases/2.10.1/win32/ru/SeaMonkey%2…
+URLDownload =
http://ftp.df.lth.se/mozilla/seamonkey/releases/2.11/win32/ru/SeaMonkey%20S…
[Section.0422] Description = ÐÑÐ¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð½Ñ Mozilla Suite. ÐклÑÑÐ°Ñ Ð² Ñебе бÑаÑзеÑ, поÑÑовий клÑÑнÑ, IRC-клÑÑÐ½Ñ Ñа HTML-ÑедакÑоÑ. Size = 19.5MB -URLDownload =
http://ftp.df.lth.se/mozilla/seamonkey/releases/2.10.1/win32/ru/SeaMonkey%2…
+URLDownload =
http://ftp.df.lth.se/mozilla/seamonkey/releases/2.11/win32/ru/SeaMonkey%20S…
Modified: trunk/reactos/base/applications/rapps/rapps/thunderbird.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/thunderbird.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/thunderbird.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -8,47 +8,33 @@ Size = 9.06MB Category = 5 URLSite =
http://www.mozilla-europe.org/en/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.20/win…
+URLDownload =
http://svn.reactos.org/packages/Thunderbird%20Setup%203.1.20.exe
CDPath = none [Section.0407] Description = Der populärste und einer der besten freien Mail-Clients. -Size = 8.91MB URLSite =
http://www.mozilla-europe.org/de/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.20/win…
[Section.040a] Description = El más popular y uno de los mejores clientes mail que hay. -Size = 8.88MB URLSite =
http://www.mozilla-europe.org/es/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.20/win…
[Section.040c] Description = Le plus populaire et l'un des meilleurs clients mail gratuits disponible. -Size = 9.13MB URLSite =
http://www.mozilla-europe.org/fr/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.20/win…
[Section.0415] Description = Najpopularniejszy i jeden z najlepszych darmowych klientów poczty. -Size = 9.73MB URLSite =
http://www.mozilla-europe.org/pl/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.20/win…
[Section.0418] Description = Cel mai popular Èi unul dintre cele mai bune clientele gratuite de poÈtÄ electronicÄ. -Size = 9.06Mo URLSite =
http://www.mozilla-europe.org/ro/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.20/win…
[Section.0419] Description = Ðдин из ÑамÑÑ Ð¿Ð¾Ð¿ÑлÑÑнÑÑ Ð¸ лÑÑÑÐ¸Ñ Ð±ÐµÑплаÑнÑÑ Ð¿Ð¾ÑÑовÑÑ ÐºÐ»Ð¸ÐµÐ½Ñов. -Size = 9.29MB URLSite =
http://www.mozilla-europe.org/ru/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.20/win…
[Section.0422] Description = ÐайпопÑлÑÑнÑÑий Ñа один з кÑаÑÐ¸Ñ Ð¿Ð¾ÑÑÐ¾Ð²Ð¸Ñ ÐºÐ»ÑÑнÑÑв. -Size = 9.29MB URLSite =
http://www.mozillamessaging.com/uk/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.20/win…
Modified: trunk/reactos/base/applications/rapps/rapps/thunderbird5.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/thunderbird5.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/thunderbird5.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -1,54 +1,54 @@ ; UTF-8 [Section] -Name = Mozilla Thunderbird 13 -Version = 13.0.1 +Name = Mozilla Thunderbird 14 +Version = 14.0 Licence = MPL/GPL/LGPL Description = The most popular and one of the best free Mail Clients out there. Size = 17.6MB Category = 5 URLSite =
http://www.mozilla-europe.org/en/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/13.0.1/win…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/14.0/win32…
CDPath = none [Section.0407] Description = Der populärste und einer der besten freien Mail-Clients. Size = 17.5MB URLSite =
http://www.mozilla-europe.org/de/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/13.0.1/win…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/14.0/win32…
[Section.040a] Description = El más popular y uno de los mejores clientes mail que hay. Size = 17.4MB URLSite =
http://www.mozilla-europe.org/es/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/13.0.1/win…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/14.0/win32…
[Section.040c] Description = Le plus populaire et l'un des meilleurs clients mail gratuits disponible. Size = 17.8MB URLSite =
http://www.mozilla-europe.org/fr/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/13.0.1/win…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/14.0/win32…
[Section.0415] Description = Najpopularniejszy i jeden z najlepszych darmowych klientów poczty. Size = 18.3MB URLSite =
http://www.mozilla-europe.org/pl/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/13.0.1/win…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/14.0/win32…
[Section.0418] Description = Cel mai popular Èi unul dintre cele mai bune clientele gratuite de poÈtÄ electronicÄ. Size = 18.0Mo URLSite =
http://www.mozilla-europe.org/ro/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/13.0.1/win…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/14.0/win32…
[Section.0419] Description = Ðдин из ÑамÑÑ Ð¿Ð¾Ð¿ÑлÑÑнÑÑ Ð¸ лÑÑÑÐ¸Ñ Ð±ÐµÑплаÑнÑÑ Ð¿Ð¾ÑÑовÑÑ ÐºÐ»Ð¸ÐµÐ½Ñов. Size = 17.9MB URLSite =
http://www.mozilla-europe.org/ru/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/13.0.1/win…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/14.0/win32…
[Section.0422] Description = ÐайпопÑлÑÑнÑÑий Ñа один з кÑаÑÐ¸Ñ Ð¿Ð¾ÑÑÐ¾Ð²Ð¸Ñ ÐºÐ»ÑÑнÑÑв. Size = 17.9MB URLSite =
http://www.mozillamessaging.com/uk/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/13.0.1/win…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/14.0/win32…
Added: trunk/reactos/base/applications/rapps/rapps/totalcommander.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/totalcommander.txt (added) +++ trunk/reactos/base/applications/rapps/rapps/totalcommander.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -1,0 +1,12 @@ +; UTF-8 + +[Section] +Name = Total Commander +Version = 8.0 +Licence = Shareware +Description = Total Commander is a file manager with two panels side by side. +Size = 3.2MB +Category = 12 +URLSite =
http://http://www.ghisler.com/
+URLDownload =
http://svn.reactos.org/packages/tcm80x32.exe
+CDPath = none Propchange: trunk/reactos/base/applications/rapps/rapps/totalcommander.txt ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/base/applications/rapps/rapps/utorrent.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/utorrent.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/utorrent.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -5,10 +5,10 @@ Version = 3.1.3 Licence = Freeware for non-commercial uses Description = Small and fast BitTorrent Client. -Size = 720.87kB +Size = 874.87kB Category = 5 URLSite =
http://www.utorrent.com/
-URLDownload =
http://download.utorrent.com/3.1.3/utorrent.exe
+URLDownload =
http://download.utorrent.com/3.2/uTorrent.exe
CDPath = none Modified: trunk/reactos/base/applications/rapps/rapps/vlc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/vlc.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/vlc.txt [iso-8859-1] Mon Jul 23 21:49:49 2012 @@ -2,13 +2,13 @@ [Section] Name = VLC media player -Version = 2.0.1 +Version = 2.0.3 Licence = GPL Description = A media player. -Size = 21.2MB +Size = 21.6MB Category = 1 URLSite =
http://www.videolan.org/vlc/
-URLDownload =
http://kent.dl.sourceforge.net/project/vlc/2.0.1/win32/vlc-2.0.1-win32.exe
+URLDownload =
http://garr.dl.sourceforge.net/project/vlc/2.0.3/win32/vlc-2.0.3-win32.exe
CDPath = none [Section.0407]
12 years, 5 months
1
0
0
0
[tfaber] 56955: [WIN32CSR] - Do not leave critical section twice in Win32CsrReleaseConsole. Patch by Hermès Bélusca See issue #6622 for more details.
by tfaber@svn.reactos.org
Author: tfaber Date: Mon Jul 23 20:25:11 2012 New Revision: 56955 URL:
http://svn.reactos.org/svn/reactos?rev=56955&view=rev
Log: [WIN32CSR] - Do not leave critical section twice in Win32CsrReleaseConsole. Patch by Hermès Bélusca See issue #6622 for more details. Modified: trunk/reactos/win32ss/user/win32csr/handle.c Modified: trunk/reactos/win32ss/user/win32csr/handle.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/win32csr/hand…
============================================================================== --- trunk/reactos/win32ss/user/win32csr/handle.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/win32csr/handle.c [iso-8859-1] Mon Jul 23 20:25:11 2012 @@ -160,7 +160,6 @@ ConioDeleteConsole(&Console->Header); //CloseHandle(ProcessData->ConsoleEvent); //ProcessData->ConsoleEvent = NULL; - RtlLeaveCriticalSection(&ProcessData->HandleTableLock); } RtlLeaveCriticalSection(&ProcessData->HandleTableLock); }
12 years, 5 months
1
0
0
0
[tfaber] 56954: [RTL] - Properly enable validity check in RtlLeaveCriticalSection for debug builds
by tfaber@svn.reactos.org
Author: tfaber Date: Mon Jul 23 20:24:34 2012 New Revision: 56954 URL:
http://svn.reactos.org/svn/reactos?rev=56954&view=rev
Log: [RTL] - Properly enable validity check in RtlLeaveCriticalSection for debug builds Modified: trunk/reactos/lib/rtl/critical.c Modified: trunk/reactos/lib/rtl/critical.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/critical.c?rev=569…
============================================================================== --- trunk/reactos/lib/rtl/critical.c [iso-8859-1] (original) +++ trunk/reactos/lib/rtl/critical.c [iso-8859-1] Mon Jul 23 20:24:34 2012 @@ -613,7 +613,7 @@ NTAPI RtlLeaveCriticalSection(PRTL_CRITICAL_SECTION CriticalSection) { -#ifndef NDEBUG +#if DBG HANDLE Thread = (HANDLE)NtCurrentTeb()->ClientId.UniqueThread; /* In win this case isn't checked. However it's a valid check so it should only
12 years, 5 months
1
0
0
0
[arty] 56953: [NTOSKRNL] Fix some problems with the lock implementation - Add a 'generation' to the lock IRPs so we know if we've reprocessed them on any specific turn when we unlock something else...
by arty@svn.reactos.org
Author: arty Date: Mon Jul 23 18:53:50 2012 New Revision: 56953 URL:
http://svn.reactos.org/svn/reactos?rev=56953&view=rev
Log: [NTOSKRNL] Fix some problems with the lock implementation - Add a 'generation' to the lock IRPs so we know if we've reprocessed them on any specific turn when we unlock something else. - Simplify coalescing of lock regions to just rebuilding the region by going through the shared lock list and expanding a new region with any overlaps. - Simplify coalescing new shared locks into larger regions in the same manner. Modified: trunk/reactos/ntoskrnl/fsrtl/filelock.c Modified: trunk/reactos/ntoskrnl/fsrtl/filelock.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/fsrtl/filelock.c?…
============================================================================== --- trunk/reactos/ntoskrnl/fsrtl/filelock.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/fsrtl/filelock.c [iso-8859-1] Mon Jul 23 18:53:50 2012 @@ -21,12 +21,12 @@ */ typedef union _COMBINED_LOCK_ELEMENT { - struct - { - LIST_ENTRY dummy; - FILE_SHARED_LOCK_ENTRY Shared; - }; - FILE_EXCLUSIVE_LOCK_ENTRY Exclusive; + struct + { + LIST_ENTRY dummy; + FILE_SHARED_LOCK_ENTRY Shared; + }; + FILE_EXCLUSIVE_LOCK_ENTRY Exclusive; } COMBINED_LOCK_ELEMENT, *PCOMBINED_LOCK_ELEMENT; @@ -38,6 +38,7 @@ LIST_ENTRY CsqList; PFILE_LOCK BelongsTo; LIST_ENTRY SharedLocks; + ULONG Generation; } LOCK_INFORMATION, *PLOCK_INFORMATION; @@ -224,6 +225,7 @@ IN PFILE_OBJECT FileObject OPTIONAL) { /* Check if we have a complete routine */ + Irp->IoStatus.Information = 0; if (CompleteRoutine) { /* Check if we have a file object */ @@ -260,55 +262,57 @@ else return &Entry->Exclusive.FileLock; } +VOID +NTAPI +FsRtlpExpandLockElement +(PCOMBINED_LOCK_ELEMENT ToExpand, + PCOMBINED_LOCK_ELEMENT Conflict) +{ + if (ToExpand->Exclusive.FileLock.StartingByte.QuadPart > + Conflict->Exclusive.FileLock.StartingByte.QuadPart) + { + ToExpand->Exclusive.FileLock.StartingByte = + Conflict->Exclusive.FileLock.StartingByte; + } + if (ToExpand->Exclusive.FileLock.EndingByte.QuadPart < + Conflict->Exclusive.FileLock.EndingByte.QuadPart) + { + ToExpand->Exclusive.FileLock.EndingByte = + Conflict->Exclusive.FileLock.EndingByte; + } +} + /* This function expands the conflicting range Conflict by removing and reinserting it, then adds a shared range of the same size */ PCOMBINED_LOCK_ELEMENT NTAPI -FsRtlpSubsumeSharedLock +FsRtlpRebuildSharedLockRange (PFILE_LOCK FileLock, PLOCK_INFORMATION LockInfo, - PCOMBINED_LOCK_ELEMENT ToInsert, PCOMBINED_LOCK_ELEMENT Conflict) { + /* Starting at Conflict->StartingByte and going to Conflict->EndingByte + * capture and expand a shared range from the shared range list. + * Finish when we've incorporated all overlapping shared regions. + */ BOOLEAN InsertedNew = FALSE, RemovedOld; - COMBINED_LOCK_ELEMENT NewElement; - PLOCK_SHARED_RANGE SharedRange = - ExAllocatePoolWithTag(NonPagedPool, sizeof(*SharedRange), 'FSRA'); - - if (!SharedRange) - return NULL; - - ASSERT(!Conflict->Exclusive.FileLock.ExclusiveLock); - ASSERT(!ToInsert->Exclusive.FileLock.ExclusiveLock); - SharedRange->Start = ToInsert->Exclusive.FileLock.StartingByte; - SharedRange->End = ToInsert->Exclusive.FileLock.EndingByte; - SharedRange->Key = ToInsert->Exclusive.FileLock.Key; - SharedRange->ProcessId = ToInsert->Exclusive.FileLock.ProcessId; - InsertTailList(&LockInfo->SharedLocks, &SharedRange->Entry); - - NewElement = *Conflict; - if (ToInsert->Exclusive.FileLock.StartingByte.QuadPart > - Conflict->Exclusive.FileLock.StartingByte.QuadPart) - { - NewElement.Exclusive.FileLock.StartingByte = - Conflict->Exclusive.FileLock.StartingByte; - } - if (ToInsert->Exclusive.FileLock.EndingByte.QuadPart < - Conflict->Exclusive.FileLock.EndingByte.QuadPart) - { - NewElement.Exclusive.FileLock.EndingByte = - Conflict->Exclusive.FileLock.EndingByte; - } - RemovedOld = RtlDeleteElementGenericTable - (&LockInfo->RangeTable, - Conflict); - ASSERT(RemovedOld); + COMBINED_LOCK_ELEMENT NewElement = *Conflict; + PCOMBINED_LOCK_ELEMENT Entry; + while ((Entry = RtlLookupElementGenericTable + (FileLock->LockInformation, &NewElement))) + { + FsRtlpExpandLockElement(&NewElement, Entry); + RemovedOld = RtlDeleteElementGenericTable + (&LockInfo->RangeTable, + Entry); + ASSERT(RemovedOld); + } Conflict = RtlInsertElementGenericTable (&LockInfo->RangeTable, - ToInsert, - sizeof(*ToInsert), + &NewElement, + sizeof(NewElement), &InsertedNew); - ASSERT(InsertedNew && Conflict); + ASSERT(InsertedNew); return Conflict; } @@ -334,20 +338,27 @@ COMBINED_LOCK_ELEMENT ToInsert; PCOMBINED_LOCK_ELEMENT Conflict; PLOCK_INFORMATION LockInfo; + PLOCK_SHARED_RANGE NewSharedRange; BOOLEAN InsertedNew; - - DPRINT("FsRtlPrivateLock(%wZ, Offset %08x%08x, Length %08x%08x, Key %x, FailImmediately %d, Exclusive %d)\n", + ULARGE_INTEGER UnsignedStart; + ULARGE_INTEGER UnsignedEnd; + + DPRINT("FsRtlPrivateLock(%wZ, Offset %08x%08x (%d), Length %08x%08x (%d), Key %x, FailImmediately %d, Exclusive %d)\n", &FileObject->FileName, FileOffset->HighPart, FileOffset->LowPart, + (int)FileOffset->QuadPart, Length->HighPart, Length->LowPart, + (int)Length->QuadPart, Key, FailImmediately, ExclusiveLock); - if (FileOffset->QuadPart < 0ll || - FileOffset->QuadPart + Length->QuadPart < FileOffset->QuadPart) + UnsignedStart.QuadPart = FileOffset->QuadPart; + UnsignedEnd.QuadPart = FileOffset->QuadPart + Length->QuadPart; + + if (UnsignedEnd.QuadPart < UnsignedStart.QuadPart) { DPRINT("File offset out of range\n"); IoStatus->Status = STATUS_INVALID_PARAMETER; @@ -416,11 +427,20 @@ { if (Conflict->Exclusive.FileLock.ExclusiveLock || ExclusiveLock) { + DPRINT("Conflict %08x%08x:%08x%08x Exc %d (Want Exc %d)\n", + Conflict->Exclusive.FileLock.StartingByte.HighPart, + Conflict->Exclusive.FileLock.StartingByte.LowPart, + Conflict->Exclusive.FileLock.EndingByte.HighPart, + Conflict->Exclusive.FileLock.EndingByte.LowPart, + Conflict->Exclusive.FileLock.ExclusiveLock, + ExclusiveLock); if (FailImmediately) { + DPRINT("STATUS_FILE_LOCK_CONFLICT\n"); IoStatus->Status = STATUS_FILE_LOCK_CONFLICT; if (Irp) { + DPRINT("STATUS_FILE_LOCK_CONFLICT: Complete\n"); FsRtlCompleteLockIrpReal (FileLock->CompleteLockIrpRoutine, Context, @@ -436,6 +456,7 @@ IoStatus->Status = STATUS_PENDING; if (Irp) { + Irp->IoStatus.Information = LockInfo->Generation; IoMarkIrpPending(Irp); IoCsqInsertIrpEx (&LockInfo->Csq, @@ -463,8 +484,10 @@ if (FailImmediately) { IoStatus->Status = STATUS_FILE_LOCK_CONFLICT; + DPRINT("STATUS_FILE_LOCK_CONFLICT\n"); if (Irp) { + DPRINT("STATUS_FILE_LOCK_CONFLICT: Complete\n"); FsRtlCompleteLockIrpReal (FileLock->CompleteLockIrpRoutine, Context, @@ -491,16 +514,14 @@ } else { - /* We've made all overlapping shared ranges into one big range - * now we need to add a range entry for the new range */ DPRINT("Overlapping shared lock %wZ %08x%08x %08x%08x\n", &FileObject->FileName, Conflict->Exclusive.FileLock.StartingByte.HighPart, Conflict->Exclusive.FileLock.StartingByte.LowPart, Conflict->Exclusive.FileLock.EndingByte.HighPart, Conflict->Exclusive.FileLock.EndingByte.LowPart); - Conflict = FsRtlpSubsumeSharedLock - (FileLock, LockInfo, &ToInsert, Conflict); + Conflict = FsRtlpRebuildSharedLockRange + (FileLock, LockInfo, &ToInsert); if (!Conflict) { IoStatus->Status = STATUS_NO_MEMORY; @@ -514,77 +535,17 @@ &Status, FileObject); } - return FALSE; + break; } } } } /* We got here because there were only overlapping shared locks */ - DPRINT("Acquired shared lock %wZ %08x%08x %08x%08x\n", - &FileObject->FileName, - Conflict->Exclusive.FileLock.StartingByte.HighPart, - Conflict->Exclusive.FileLock.StartingByte.LowPart, - Conflict->Exclusive.FileLock.EndingByte.HighPart, - Conflict->Exclusive.FileLock.EndingByte.LowPart); - if (!FsRtlpSubsumeSharedLock(FileLock, LockInfo, &ToInsert, Conflict)) - { - IoStatus->Status = STATUS_NO_MEMORY; - if (Irp) - { - FsRtlCompleteLockIrpReal - (FileLock->CompleteLockIrpRoutine, - Context, - Irp, - IoStatus->Status, - &Status, - FileObject); - } - return FALSE; - } - IoStatus->Status = STATUS_SUCCESS; - if (Irp) - { - FsRtlCompleteLockIrpReal - (FileLock->CompleteLockIrpRoutine, - Context, - Irp, - IoStatus->Status, - &Status, - FileObject); - } - return TRUE; - } - } - else if (!Conflict) - { - /* Conflict here is (or would be) the newly inserted element, but we ran - * out of space probably. */ - IoStatus->Status = STATUS_NO_MEMORY; - if (Irp) - { - FsRtlCompleteLockIrpReal - (FileLock->CompleteLockIrpRoutine, - Context, - Irp, - IoStatus->Status, - &Status, - FileObject); - } - return FALSE; - } - else - { - DPRINT("Inserted new lock %wZ %08x%08x %08x%08x exclusive %d\n", - &FileObject->FileName, - Conflict->Exclusive.FileLock.StartingByte.HighPart, - Conflict->Exclusive.FileLock.StartingByte.LowPart, - Conflict->Exclusive.FileLock.EndingByte.HighPart, - Conflict->Exclusive.FileLock.EndingByte.LowPart, - Conflict->Exclusive.FileLock.ExclusiveLock); - if (!ExclusiveLock) - { - PLOCK_SHARED_RANGE NewSharedRange; + /* A shared lock is both a range *and* a list entry. Insert the + entry here. */ + + DPRINT("Adding shared lock %wZ\n", &FileObject->FileName); NewSharedRange = ExAllocatePoolWithTag(NonPagedPool, sizeof(*NewSharedRange), 'FSRA'); if (!NewSharedRange) @@ -608,6 +569,78 @@ NewSharedRange->Key = Key; NewSharedRange->ProcessId = ToInsert.Exclusive.FileLock.ProcessId; InsertTailList(&LockInfo->SharedLocks, &NewSharedRange->Entry); + + DPRINT("Acquired shared lock %wZ %08x%08x %08x%08x\n", + &FileObject->FileName, + Conflict->Exclusive.FileLock.StartingByte.HighPart, + Conflict->Exclusive.FileLock.StartingByte.LowPart, + Conflict->Exclusive.FileLock.EndingByte.HighPart, + Conflict->Exclusive.FileLock.EndingByte.LowPart); + IoStatus->Status = STATUS_SUCCESS; + if (Irp) + { + FsRtlCompleteLockIrpReal + (FileLock->CompleteLockIrpRoutine, + Context, + Irp, + IoStatus->Status, + &Status, + FileObject); + } + return TRUE; + } + } + else if (!Conflict) + { + /* Conflict here is (or would be) the newly inserted element, but we ran + * out of space probably. */ + IoStatus->Status = STATUS_NO_MEMORY; + if (Irp) + { + FsRtlCompleteLockIrpReal + (FileLock->CompleteLockIrpRoutine, + Context, + Irp, + IoStatus->Status, + &Status, + FileObject); + } + return FALSE; + } + else + { + DPRINT("Inserted new lock %wZ %08x%08x %08x%08x exclusive %d\n", + &FileObject->FileName, + Conflict->Exclusive.FileLock.StartingByte.HighPart, + Conflict->Exclusive.FileLock.StartingByte.LowPart, + Conflict->Exclusive.FileLock.EndingByte.HighPart, + Conflict->Exclusive.FileLock.EndingByte.LowPart, + Conflict->Exclusive.FileLock.ExclusiveLock); + if (!ExclusiveLock) + { + NewSharedRange = + ExAllocatePoolWithTag(NonPagedPool, sizeof(*NewSharedRange), 'FSRA'); + if (!NewSharedRange) + { + IoStatus->Status = STATUS_NO_MEMORY; + if (Irp) + { + FsRtlCompleteLockIrpReal + (FileLock->CompleteLockIrpRoutine, + Context, + Irp, + IoStatus->Status, + &Status, + FileObject); + } + return FALSE; + } + DPRINT("Adding shared lock %wZ\n", &FileObject->FileName); + NewSharedRange->Start = ToInsert.Exclusive.FileLock.StartingByte; + NewSharedRange->End = ToInsert.Exclusive.FileLock.EndingByte; + NewSharedRange->Key = Key; + NewSharedRange->ProcessId = ToInsert.Exclusive.FileLock.ProcessId; + InsertTailList(&LockInfo->SharedLocks, &NewSharedRange->Entry); } /* Assume all is cool, and lock is set */ @@ -805,12 +838,14 @@ PCOMBINED_LOCK_ELEMENT Entry; PIRP NextMatchingLockIrp; PLOCK_INFORMATION InternalInfo = FileLock->LockInformation; - DPRINT("FsRtlFastUnlockSingle(%wZ, Offset %08x%08x, Length %08x%08x, Key %x)\n", + DPRINT("FsRtlFastUnlockSingle(%wZ, Offset %08x%08x (%d), Length %08x%08x (%d), Key %x)\n", &FileObject->FileName, FileOffset->HighPart, FileOffset->LowPart, + (int)FileOffset->QuadPart, Length->HighPart, Length->LowPart, + (int)Length->QuadPart, Key); // The region to unlock must correspond exactly to a previously locked region // -- msdn @@ -819,6 +854,7 @@ Find.Exclusive.FileLock.StartingByte = *FileOffset; Find.Exclusive.FileLock.EndingByte.QuadPart = FileOffset->QuadPart + Length->QuadPart; + ASSERT(InternalInfo); Entry = RtlLookupElementGenericTable(&InternalInfo->RangeTable, &Find); if (!Entry) { DPRINT("Range not locked %wZ\n", &FileObject->FileName); @@ -879,11 +915,55 @@ } if (FoundShared) { + PLIST_ENTRY SharedRangeEntry; + PLOCK_SHARED_RANGE WatchSharedRange; + COMBINED_LOCK_ELEMENT RemadeElement; + PCOMBINED_LOCK_ELEMENT RemadeElementInserted = NULL; Find.Exclusive.FileLock.StartingByte = SharedRange->Start; Find.Exclusive.FileLock.EndingByte = SharedRange->End; SharedEntry = SharedRange->Entry.Flink; RemoveEntryList(&SharedRange->Entry); ExFreePool(SharedRange); + /* We need to rebuild the list of shared ranges. */ + DPRINT("Removing the lock entry %wZ (%08x%08x:%08x%08x)\n", + &FileObject->FileName, + Entry->Exclusive.FileLock.StartingByte.HighPart, + Entry->Exclusive.FileLock.StartingByte.LowPart, + Entry->Exclusive.FileLock.EndingByte.HighPart, + Entry->Exclusive.FileLock.EndingByte.LowPart); + /* Copy */ + RemadeElement = *Entry; + RtlDeleteElementGenericTable(&InternalInfo->RangeTable, Entry); + /* Put shared locks back in place */ + for (SharedRangeEntry = InternalInfo->SharedLocks.Flink; + SharedRangeEntry != &InternalInfo->SharedLocks; + SharedRangeEntry = SharedRangeEntry->Flink) + { + COMBINED_LOCK_ELEMENT Find; + WatchSharedRange = CONTAINING_RECORD(SharedRangeEntry, LOCK_SHARED_RANGE, Entry); + Find.Exclusive.FileLock.StartingByte = WatchSharedRange->Start; + Find.Exclusive.FileLock.EndingByte = WatchSharedRange->End; + if (LockCompare(&InternalInfo->RangeTable, &RemadeElement, &Find) != GenericEqual) + { + DPRINT("Skipping range %08x%08x:%08x%08x\n", + Find.Exclusive.FileLock.StartingByte.HighPart, + Find.Exclusive.FileLock.StartingByte.LowPart, + Find.Exclusive.FileLock.EndingByte.HighPart, + Find.Exclusive.FileLock.EndingByte.LowPart); + continue; + } + DPRINT("Re-creating range %08x%08x:%08x%08x\n", + Find.Exclusive.FileLock.StartingByte.HighPart, + Find.Exclusive.FileLock.StartingByte.LowPart, + Find.Exclusive.FileLock.EndingByte.HighPart, + Find.Exclusive.FileLock.EndingByte.LowPart); + RtlZeroMemory(&RemadeElement, sizeof(RemadeElement)); + RemadeElement.Exclusive.FileLock.StartingByte = WatchSharedRange->Start; + RemadeElement.Exclusive.FileLock.EndingByte = WatchSharedRange->End; + RemadeElementInserted = + FsRtlpRebuildSharedLockRange + (FileLock, InternalInfo, &RemadeElement); + } } else { @@ -891,35 +971,36 @@ } } - if (IsListEmpty(&InternalInfo->SharedLocks)) { - DPRINT("Removing the lock entry %wZ (%08x%08x:%08x%08x)\n", - &FileObject->FileName, - Entry->Exclusive.FileLock.StartingByte.HighPart, - Entry->Exclusive.FileLock.StartingByte.LowPart, - Entry->Exclusive.FileLock.EndingByte.HighPart, - Entry->Exclusive.FileLock.EndingByte.LowPart); - RtlDeleteElementGenericTable(&InternalInfo->RangeTable, Entry); - } else { - DPRINT("Lock still has:\n"); - for (SharedEntry = InternalInfo->SharedLocks.Flink; - SharedEntry != &InternalInfo->SharedLocks; - SharedEntry = SharedEntry->Flink) - { - SharedRange = CONTAINING_RECORD(SharedEntry, LOCK_SHARED_RANGE, Entry); - DPRINT("Shared element %wZ Offset %08x%08x Length %08x%08x Key %x\n", - &FileObject->FileName, - SharedRange->Start.HighPart, - SharedRange->Start.LowPart, - SharedRange->End.HighPart, - SharedRange->End.LowPart, - SharedRange->Key); - } + DPRINT("Lock still has:\n"); + for (SharedEntry = InternalInfo->SharedLocks.Flink; + SharedEntry != &InternalInfo->SharedLocks; + SharedEntry = SharedEntry->Flink) + { + SharedRange = CONTAINING_RECORD(SharedEntry, LOCK_SHARED_RANGE, Entry); + DPRINT("Shared element %wZ Offset %08x%08x Length %08x%08x Key %x\n", + &FileObject->FileName, + SharedRange->Start.HighPart, + SharedRange->Start.LowPart, + SharedRange->End.HighPart, + SharedRange->End.LowPart, + SharedRange->Key); } // this is definitely the thing we want - NextMatchingLockIrp = IoCsqRemoveNextIrp(&InternalInfo->Csq, &Find); - while (NextMatchingLockIrp) - { + InternalInfo->Generation++; + while ((NextMatchingLockIrp = IoCsqRemoveNextIrp(&InternalInfo->Csq, &Find))) + { + if (NextMatchingLockIrp->IoStatus.Information == InternalInfo->Generation) + { + // We've already looked at this one, meaning that we looped. + // Put it back and exit. + IoCsqInsertIrpEx + (&InternalInfo->Csq, + NextMatchingLockIrp, + NULL, + NULL); + break; + } // Got a new lock irp... try to do the new lock operation // Note that we pick an operation that would succeed at the time // we looked, but can't guarantee that it won't just be re-queued @@ -943,17 +1024,37 @@ IN PEPROCESS Process, IN PVOID Context OPTIONAL) { + PLIST_ENTRY ListEntry; PCOMBINED_LOCK_ELEMENT Entry; - PRTL_GENERIC_TABLE InternalInfo = FileLock->LockInformation; + PLOCK_INFORMATION InternalInfo = FileLock->LockInformation; DPRINT("FsRtlFastUnlockAll(%wZ)\n", &FileObject->FileName); // XXX Synchronize somehow if (!FileLock->LockInformation) { DPRINT("Not locked %wZ\n", &FileObject->FileName); return STATUS_RANGE_NOT_LOCKED; // no locks } - for (Entry = RtlEnumerateGenericTable(InternalInfo, TRUE); + for (ListEntry = InternalInfo->SharedLocks.Flink; + ListEntry != &InternalInfo->SharedLocks;) + { + LARGE_INTEGER Length; + PLOCK_SHARED_RANGE Range = CONTAINING_RECORD(ListEntry, LOCK_SHARED_RANGE, Entry); + Length.QuadPart = Range->End.QuadPart - Range->Start.QuadPart; + ListEntry = ListEntry->Flink; + if (Range->ProcessId != Process->UniqueProcessId) + continue; + FsRtlFastUnlockSingle + (FileLock, + FileObject, + &Range->Start, + &Length, + Range->ProcessId, + Range->Key, + Context, + TRUE); + } + for (Entry = RtlEnumerateGenericTable(&InternalInfo->RangeTable, TRUE); Entry; - Entry = RtlEnumerateGenericTable(InternalInfo, FALSE)) + Entry = RtlEnumerateGenericTable(&InternalInfo->RangeTable, FALSE)) { LARGE_INTEGER Length; // We'll take the first one to be the list head, and free the others first... @@ -985,6 +1086,7 @@ IN ULONG Key, IN PVOID Context OPTIONAL) { + PLIST_ENTRY ListEntry; PCOMBINED_LOCK_ELEMENT Entry; PLOCK_INFORMATION InternalInfo = FileLock->LockInformation; @@ -992,6 +1094,26 @@ // XXX Synchronize somehow if (!FileLock->LockInformation) return STATUS_RANGE_NOT_LOCKED; // no locks + for (ListEntry = InternalInfo->SharedLocks.Flink; + ListEntry != &InternalInfo->SharedLocks;) + { + PLOCK_SHARED_RANGE Range = CONTAINING_RECORD(ListEntry, LOCK_SHARED_RANGE, Entry); + LARGE_INTEGER Length; + Length.QuadPart = Range->End.QuadPart - Range->Start.QuadPart; + ListEntry = ListEntry->Flink; + if (Range->ProcessId != Process->UniqueProcessId || + Range->Key != Key) + continue; + FsRtlFastUnlockSingle + (FileLock, + FileObject, + &Range->Start, + &Length, + Range->ProcessId, + Range->Key, + Context, + TRUE); + } for (Entry = RtlEnumerateGenericTable(&InternalInfo->RangeTable, TRUE); Entry; Entry = RtlEnumerateGenericTable(&InternalInfo->RangeTable, FALSE))
12 years, 5 months
1
0
0
0
[arty] 56952: [FORMATTING] Removing tabs, no code change.
by arty@svn.reactos.org
Author: arty Date: Mon Jul 23 18:50:16 2012 New Revision: 56952 URL:
http://svn.reactos.org/svn/reactos?rev=56952&view=rev
Log: [FORMATTING] Removing tabs, no code change. Modified: trunk/reactos/ntoskrnl/fsrtl/filelock.c Modified: trunk/reactos/ntoskrnl/fsrtl/filelock.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/fsrtl/filelock.c?…
============================================================================== --- trunk/reactos/ntoskrnl/fsrtl/filelock.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/fsrtl/filelock.c [iso-8859-1] Mon Jul 23 18:50:16 2012 @@ -65,23 +65,23 @@ static PVOID NTAPI LockAllocate(PRTL_GENERIC_TABLE Table, CLONG Bytes) { - PVOID Result; - Result = ExAllocatePoolWithTag(NonPagedPool, Bytes, 'LTAB'); - DPRINT("LockAllocate(%d) => %p\n", Bytes, Result); - return Result; + PVOID Result; + Result = ExAllocatePoolWithTag(NonPagedPool, Bytes, 'LTAB'); + DPRINT("LockAllocate(%d) => %p\n", Bytes, Result); + return Result; } static VOID NTAPI LockFree(PRTL_GENERIC_TABLE Table, PVOID Buffer) { - DPRINT("LockFree(%p)\n", Buffer); - ExFreePoolWithTag(Buffer, 'LTAB'); + DPRINT("LockFree(%p)\n", Buffer); + ExFreePoolWithTag(Buffer, 'LTAB'); } static RTL_GENERIC_COMPARE_RESULTS NTAPI LockCompare (PRTL_GENERIC_TABLE Table, PVOID PtrA, PVOID PtrB) { - PCOMBINED_LOCK_ELEMENT A = PtrA, B = PtrB; - RTL_GENERIC_COMPARE_RESULTS Result; + PCOMBINED_LOCK_ELEMENT A = PtrA, B = PtrB; + RTL_GENERIC_COMPARE_RESULTS Result; #if 0 DPRINT("Starting to compare element %x to element %x\n", PtrA, PtrB); #endif @@ -96,22 +96,22 @@ A->Exclusive.FileLock.StartingByte.QuadPart))) return GenericEqual; /* Otherwise, key on the starting byte */ - Result = - (A->Exclusive.FileLock.StartingByte.QuadPart < - B->Exclusive.FileLock.StartingByte.QuadPart) ? GenericLessThan : - (A->Exclusive.FileLock.StartingByte.QuadPart > - B->Exclusive.FileLock.StartingByte.QuadPart) ? GenericGreaterThan : - GenericEqual; + Result = + (A->Exclusive.FileLock.StartingByte.QuadPart < + B->Exclusive.FileLock.StartingByte.QuadPart) ? GenericLessThan : + (A->Exclusive.FileLock.StartingByte.QuadPart > + B->Exclusive.FileLock.StartingByte.QuadPart) ? GenericGreaterThan : + GenericEqual; #if 0 - DPRINT("Compare(%x:%x) %x-%x to %x-%x => %d\n", - A,B, - A->Exclusive.FileLock.StartingByte.LowPart, - A->Exclusive.FileLock.EndingByte.LowPart, - B->Exclusive.FileLock.StartingByte.LowPart, - B->Exclusive.FileLock.EndingByte.LowPart, - Result); + DPRINT("Compare(%x:%x) %x-%x to %x-%x => %d\n", + A,B, + A->Exclusive.FileLock.StartingByte.LowPart, + A->Exclusive.FileLock.EndingByte.LowPart, + B->Exclusive.FileLock.StartingByte.LowPart, + B->Exclusive.FileLock.EndingByte.LowPart, + Result); #endif - return Result; + return Result; } /* CSQ methods */ @@ -121,24 +121,24 @@ PIRP Irp, PVOID InsertContext) { - PLOCK_INFORMATION LockInfo = CONTAINING_RECORD(Csq, LOCK_INFORMATION, Csq); - InsertTailList(&LockInfo->CsqList, &Irp->Tail.Overlay.ListEntry); - return STATUS_SUCCESS; + PLOCK_INFORMATION LockInfo = CONTAINING_RECORD(Csq, LOCK_INFORMATION, Csq); + InsertTailList(&LockInfo->CsqList, &Irp->Tail.Overlay.ListEntry); + return STATUS_SUCCESS; } static VOID NTAPI LockRemoveIrp(PIO_CSQ Csq, PIRP Irp) { - RemoveEntryList(&Irp->Tail.Overlay.ListEntry); + RemoveEntryList(&Irp->Tail.Overlay.ListEntry); } static PIRP NTAPI LockPeekNextIrp(PIO_CSQ Csq, PIRP Irp, PVOID PeekContext) { - // Context will be a COMBINED_LOCK_ELEMENT. We're looking for a - // lock that can be acquired, now that the lock matching PeekContext - // has been removed. - COMBINED_LOCK_ELEMENT LockElement; + // Context will be a COMBINED_LOCK_ELEMENT. We're looking for a + // lock that can be acquired, now that the lock matching PeekContext + // has been removed. + COMBINED_LOCK_ELEMENT LockElement; PCOMBINED_LOCK_ELEMENT WhereUnlock = PeekContext; - PLOCK_INFORMATION LockInfo = CONTAINING_RECORD(Csq, LOCK_INFORMATION, Csq); + PLOCK_INFORMATION LockInfo = CONTAINING_RECORD(Csq, LOCK_INFORMATION, Csq); PLIST_ENTRY Following; DPRINT("PeekNextIrp(IRP %p, Context %p)\n", Irp, PeekContext); if (!Irp) @@ -188,30 +188,30 @@ static VOID NTAPI LockAcquireQueueLock(PIO_CSQ Csq, PKIRQL Irql) { - PLOCK_INFORMATION LockInfo = CONTAINING_RECORD(Csq, LOCK_INFORMATION, Csq); - KeAcquireSpinLock(&LockInfo->CsqLock, Irql); + PLOCK_INFORMATION LockInfo = CONTAINING_RECORD(Csq, LOCK_INFORMATION, Csq); + KeAcquireSpinLock(&LockInfo->CsqLock, Irql); } static VOID NTAPI LockReleaseQueueLock(PIO_CSQ Csq, KIRQL Irql) { - PLOCK_INFORMATION LockInfo = CONTAINING_RECORD(Csq, LOCK_INFORMATION, Csq); - KeReleaseSpinLock(&LockInfo->CsqLock, Irql); + PLOCK_INFORMATION LockInfo = CONTAINING_RECORD(Csq, LOCK_INFORMATION, Csq); + KeReleaseSpinLock(&LockInfo->CsqLock, Irql); } static VOID NTAPI LockCompleteCanceledIrp(PIO_CSQ Csq, PIRP Irp) { - NTSTATUS Status; - PLOCK_INFORMATION LockInfo = CONTAINING_RECORD(Csq, LOCK_INFORMATION, Csq); - DPRINT("Complete cancelled IRP %p Status %x\n", Irp, STATUS_CANCELLED); - FsRtlCompleteLockIrpReal - (LockInfo->BelongsTo->CompleteLockIrpRoutine, - NULL, - Irp, - STATUS_CANCELLED, - &Status, - NULL); + NTSTATUS Status; + PLOCK_INFORMATION LockInfo = CONTAINING_RECORD(Csq, LOCK_INFORMATION, Csq); + DPRINT("Complete cancelled IRP %p Status %x\n", Irp, STATUS_CANCELLED); + FsRtlCompleteLockIrpReal + (LockInfo->BelongsTo->CompleteLockIrpRoutine, + NULL, + Irp, + STATUS_CANCELLED, + &Status, + NULL); } VOID @@ -253,11 +253,11 @@ FsRtlGetNextFileLock(IN PFILE_LOCK FileLock, IN BOOLEAN Restart) { - PCOMBINED_LOCK_ELEMENT Entry; - if (!FileLock->LockInformation) return NULL; - Entry = RtlEnumerateGenericTable(FileLock->LockInformation, Restart); - if (!Entry) return NULL; - else return &Entry->Exclusive.FileLock; + PCOMBINED_LOCK_ELEMENT Entry; + if (!FileLock->LockInformation) return NULL; + Entry = RtlEnumerateGenericTable(FileLock->LockInformation, Restart); + if (!Entry) return NULL; + else return &Entry->Exclusive.FileLock; } /* This function expands the conflicting range Conflict by removing and reinserting it, @@ -331,10 +331,10 @@ IN BOOLEAN AlreadySynchronized) { NTSTATUS Status; - COMBINED_LOCK_ELEMENT ToInsert; - PCOMBINED_LOCK_ELEMENT Conflict; - PLOCK_INFORMATION LockInfo; - BOOLEAN InsertedNew; + COMBINED_LOCK_ELEMENT ToInsert; + PCOMBINED_LOCK_ELEMENT Conflict; + PLOCK_INFORMATION LockInfo; + BOOLEAN InsertedNew; DPRINT("FsRtlPrivateLock(%wZ, Offset %08x%08x, Length %08x%08x, Key %x, FailImmediately %d, Exclusive %d)\n", &FileObject->FileName, @@ -368,86 +368,86 @@ /* Initialize the lock, if necessary */ if (!FileLock->LockInformation) { - LockInfo = ExAllocatePoolWithTag(NonPagedPool, sizeof(LOCK_INFORMATION), 'FLCK'); - FileLock->LockInformation = LockInfo; - if (!FileLock) { + LockInfo = ExAllocatePoolWithTag(NonPagedPool, sizeof(LOCK_INFORMATION), 'FLCK'); + FileLock->LockInformation = LockInfo; + if (!FileLock) { IoStatus->Status = STATUS_NO_MEMORY; - return FALSE; - } - - LockInfo->BelongsTo = FileLock; + return FALSE; + } + + LockInfo->BelongsTo = FileLock; InitializeListHead(&LockInfo->SharedLocks); - RtlInitializeGenericTable - (&LockInfo->RangeTable, - LockCompare, - LockAllocate, - LockFree, - NULL); - - KeInitializeSpinLock(&LockInfo->CsqLock); + RtlInitializeGenericTable + (&LockInfo->RangeTable, + LockCompare, + LockAllocate, + LockFree, + NULL); + + KeInitializeSpinLock(&LockInfo->CsqLock); InitializeListHead(&LockInfo->CsqList); - IoCsqInitializeEx - (&LockInfo->Csq, - LockInsertIrpEx, - LockRemoveIrp, - LockPeekNextIrp, - LockAcquireQueueLock, - LockReleaseQueueLock, - LockCompleteCanceledIrp); - } - - LockInfo = FileLock->LockInformation; - ToInsert.Exclusive.FileLock.FileObject = FileObject; - ToInsert.Exclusive.FileLock.StartingByte = *FileOffset; - ToInsert.Exclusive.FileLock.EndingByte.QuadPart = FileOffset->QuadPart + Length->QuadPart; - ToInsert.Exclusive.FileLock.ProcessId = Process->UniqueProcessId; - ToInsert.Exclusive.FileLock.Key = Key; - ToInsert.Exclusive.FileLock.ExclusiveLock = ExclusiveLock; - - Conflict = RtlInsertElementGenericTable - (FileLock->LockInformation, - &ToInsert, - sizeof(ToInsert), - &InsertedNew); - - if (Conflict && !InsertedNew) - { - if (Conflict->Exclusive.FileLock.ExclusiveLock || ExclusiveLock) - { - if (FailImmediately) - { - IoStatus->Status = STATUS_FILE_LOCK_CONFLICT; - if (Irp) - { - FsRtlCompleteLockIrpReal - (FileLock->CompleteLockIrpRoutine, - Context, - Irp, - IoStatus->Status, - &Status, - FileObject); - } - return FALSE; - } - else - { - IoStatus->Status = STATUS_PENDING; - if (Irp) - { - IoMarkIrpPending(Irp); - IoCsqInsertIrpEx - (&LockInfo->Csq, - Irp, - NULL, - NULL); - } - } - return FALSE; - } - else - { + IoCsqInitializeEx + (&LockInfo->Csq, + LockInsertIrpEx, + LockRemoveIrp, + LockPeekNextIrp, + LockAcquireQueueLock, + LockReleaseQueueLock, + LockCompleteCanceledIrp); + } + + LockInfo = FileLock->LockInformation; + ToInsert.Exclusive.FileLock.FileObject = FileObject; + ToInsert.Exclusive.FileLock.StartingByte = *FileOffset; + ToInsert.Exclusive.FileLock.EndingByte.QuadPart = FileOffset->QuadPart + Length->QuadPart; + ToInsert.Exclusive.FileLock.ProcessId = Process->UniqueProcessId; + ToInsert.Exclusive.FileLock.Key = Key; + ToInsert.Exclusive.FileLock.ExclusiveLock = ExclusiveLock; + + Conflict = RtlInsertElementGenericTable + (FileLock->LockInformation, + &ToInsert, + sizeof(ToInsert), + &InsertedNew); + + if (Conflict && !InsertedNew) + { + if (Conflict->Exclusive.FileLock.ExclusiveLock || ExclusiveLock) + { + if (FailImmediately) + { + IoStatus->Status = STATUS_FILE_LOCK_CONFLICT; + if (Irp) + { + FsRtlCompleteLockIrpReal + (FileLock->CompleteLockIrpRoutine, + Context, + Irp, + IoStatus->Status, + &Status, + FileObject); + } + return FALSE; + } + else + { + IoStatus->Status = STATUS_PENDING; + if (Irp) + { + IoMarkIrpPending(Irp); + IoCsqInsertIrpEx + (&LockInfo->Csq, + Irp, + NULL, + NULL); + } + } + return FALSE; + } + else + { ULONG i; /* We know of at least one lock in range that's shared. We need to * find out if any more exist and any are exclusive. */ @@ -528,7 +528,7 @@ Conflict->Exclusive.FileLock.EndingByte.HighPart, Conflict->Exclusive.FileLock.EndingByte.LowPart); if (!FsRtlpSubsumeSharedLock(FileLock, LockInfo, &ToInsert, Conflict)) - { + { IoStatus->Status = STATUS_NO_MEMORY; if (Irp) { @@ -541,7 +541,7 @@ FileObject); } return FALSE; - } + } IoStatus->Status = STATUS_SUCCESS; if (Irp) { @@ -553,28 +553,28 @@ &Status, FileObject); } - return TRUE; - } - } - else if (!Conflict) - { - /* Conflict here is (or would be) the newly inserted element, but we ran - * out of space probably. */ - IoStatus->Status = STATUS_NO_MEMORY; - if (Irp) - { - FsRtlCompleteLockIrpReal - (FileLock->CompleteLockIrpRoutine, - Context, - Irp, - IoStatus->Status, - &Status, - FileObject); - } - return FALSE; - } - else - { + return TRUE; + } + } + else if (!Conflict) + { + /* Conflict here is (or would be) the newly inserted element, but we ran + * out of space probably. */ + IoStatus->Status = STATUS_NO_MEMORY; + if (Irp) + { + FsRtlCompleteLockIrpReal + (FileLock->CompleteLockIrpRoutine, + Context, + Irp, + IoStatus->Status, + &Status, + FileObject); + } + return FALSE; + } + else + { DPRINT("Inserted new lock %wZ %08x%08x %08x%08x exclusive %d\n", &FileObject->FileName, Conflict->Exclusive.FileLock.StartingByte.HighPart, @@ -610,23 +610,23 @@ InsertTailList(&LockInfo->SharedLocks, &NewSharedRange->Entry); } - /* Assume all is cool, and lock is set */ - IoStatus->Status = STATUS_SUCCESS; - - if (Irp) - { - /* Complete the request */ - FsRtlCompleteLockIrpReal(FileLock->CompleteLockIrpRoutine, - Context, - Irp, - IoStatus->Status, - &Status, - FileObject); + /* Assume all is cool, and lock is set */ + IoStatus->Status = STATUS_SUCCESS; + + if (Irp) + { + /* Complete the request */ + FsRtlCompleteLockIrpReal(FileLock->CompleteLockIrpRoutine, + Context, + Irp, + IoStatus->Status, + &Status, + FileObject); - /* Update the status */ - IoStatus->Status = Status; - } - } + /* Update the status */ + IoStatus->Status = Status; + } + } return TRUE; } @@ -640,31 +640,31 @@ IN PIRP Irp) { BOOLEAN Result; - PIO_STACK_LOCATION IoStack = IoGetCurrentIrpStackLocation(Irp); - COMBINED_LOCK_ELEMENT ToFind; - PCOMBINED_LOCK_ELEMENT Found; + PIO_STACK_LOCATION IoStack = IoGetCurrentIrpStackLocation(Irp); + COMBINED_LOCK_ELEMENT ToFind; + PCOMBINED_LOCK_ELEMENT Found; DPRINT("CheckLockForReadAccess(%wZ, Offset %08x%08x, Length %x)\n", &IoStack->FileObject->FileName, IoStack->Parameters.Read.ByteOffset.HighPart, IoStack->Parameters.Read.ByteOffset.LowPart, IoStack->Parameters.Read.Length); - if (!FileLock->LockInformation) { + if (!FileLock->LockInformation) { DPRINT("CheckLockForReadAccess(%wZ) => TRUE\n", &IoStack->FileObject->FileName); return TRUE; } - ToFind.Exclusive.FileLock.StartingByte = IoStack->Parameters.Read.ByteOffset; - ToFind.Exclusive.FileLock.EndingByte.QuadPart = - ToFind.Exclusive.FileLock.StartingByte.QuadPart + - IoStack->Parameters.Read.Length; - Found = RtlLookupElementGenericTable - (FileLock->LockInformation, - &ToFind); - if (!Found) { + ToFind.Exclusive.FileLock.StartingByte = IoStack->Parameters.Read.ByteOffset; + ToFind.Exclusive.FileLock.EndingByte.QuadPart = + ToFind.Exclusive.FileLock.StartingByte.QuadPart + + IoStack->Parameters.Read.Length; + Found = RtlLookupElementGenericTable + (FileLock->LockInformation, + &ToFind); + if (!Found) { DPRINT("CheckLockForReadAccess(%wZ) => TRUE\n", &IoStack->FileObject->FileName); return TRUE; } - Result = !Found->Exclusive.FileLock.ExclusiveLock || - IoStack->Parameters.Read.Key == Found->Exclusive.FileLock.Key; + Result = !Found->Exclusive.FileLock.ExclusiveLock || + IoStack->Parameters.Read.Key == Found->Exclusive.FileLock.Key; DPRINT("CheckLockForReadAccess(%wZ) => %s\n", &IoStack->FileObject->FileName, Result ? "TRUE" : "FALSE"); return Result; } @@ -678,31 +678,31 @@ IN PIRP Irp) { BOOLEAN Result; - PIO_STACK_LOCATION IoStack = IoGetCurrentIrpStackLocation(Irp); - COMBINED_LOCK_ELEMENT ToFind; - PCOMBINED_LOCK_ELEMENT Found; - PEPROCESS Process = Irp->Tail.Overlay.Thread->ThreadsProcess; + PIO_STACK_LOCATION IoStack = IoGetCurrentIrpStackLocation(Irp); + COMBINED_LOCK_ELEMENT ToFind; + PCOMBINED_LOCK_ELEMENT Found; + PEPROCESS Process = Irp->Tail.Overlay.Thread->ThreadsProcess; DPRINT("CheckLockForWriteAccess(%wZ, Offset %08x%08x, Length %x)\n", &IoStack->FileObject->FileName, IoStack->Parameters.Write.ByteOffset.HighPart, IoStack->Parameters.Write.ByteOffset.LowPart, IoStack->Parameters.Write.Length); - if (!FileLock->LockInformation) { + if (!FileLock->LockInformation) { DPRINT("CheckLockForWriteAccess(%wZ) => TRUE\n", &IoStack->FileObject->FileName); return TRUE; } - ToFind.Exclusive.FileLock.StartingByte = IoStack->Parameters.Write.ByteOffset; - ToFind.Exclusive.FileLock.EndingByte.QuadPart = - ToFind.Exclusive.FileLock.StartingByte.QuadPart + - IoStack->Parameters.Write.Length; - Found = RtlLookupElementGenericTable - (FileLock->LockInformation, - &ToFind); - if (!Found) { + ToFind.Exclusive.FileLock.StartingByte = IoStack->Parameters.Write.ByteOffset; + ToFind.Exclusive.FileLock.EndingByte.QuadPart = + ToFind.Exclusive.FileLock.StartingByte.QuadPart + + IoStack->Parameters.Write.Length; + Found = RtlLookupElementGenericTable + (FileLock->LockInformation, + &ToFind); + if (!Found) { DPRINT("CheckLockForWriteAccess(%wZ) => TRUE\n", &IoStack->FileObject->FileName); return TRUE; } - Result = Process->UniqueProcessId == Found->Exclusive.FileLock.ProcessId; + Result = Process->UniqueProcessId == Found->Exclusive.FileLock.ProcessId; DPRINT("CheckLockForWriteAccess(%wZ) => %s\n", &IoStack->FileObject->FileName, Result ? "TRUE" : "FALSE"); return Result; } @@ -719,9 +719,9 @@ IN PFILE_OBJECT FileObject, IN PVOID Process) { - PEPROCESS EProcess = Process; - COMBINED_LOCK_ELEMENT ToFind; - PCOMBINED_LOCK_ELEMENT Found; + PEPROCESS EProcess = Process; + COMBINED_LOCK_ELEMENT ToFind; + PCOMBINED_LOCK_ELEMENT Found; DPRINT("FsRtlFastCheckLockForRead(%wZ, Offset %08x%08x, Length %08x%08x, Key %x)\n", &FileObject->FileName, FileOffset->HighPart, @@ -729,16 +729,16 @@ Length->HighPart, Length->LowPart, Key); - ToFind.Exclusive.FileLock.StartingByte = *FileOffset; - ToFind.Exclusive.FileLock.EndingByte.QuadPart = - FileOffset->QuadPart + Length->QuadPart; - if (!FileLock->LockInformation) return TRUE; - Found = RtlLookupElementGenericTable - (FileLock->LockInformation, - &ToFind); - if (!Found || !Found->Exclusive.FileLock.ExclusiveLock) return TRUE; - return Found->Exclusive.FileLock.Key == Key && - Found->Exclusive.FileLock.ProcessId == EProcess->UniqueProcessId; + ToFind.Exclusive.FileLock.StartingByte = *FileOffset; + ToFind.Exclusive.FileLock.EndingByte.QuadPart = + FileOffset->QuadPart + Length->QuadPart; + if (!FileLock->LockInformation) return TRUE; + Found = RtlLookupElementGenericTable + (FileLock->LockInformation, + &ToFind); + if (!Found || !Found->Exclusive.FileLock.ExclusiveLock) return TRUE; + return Found->Exclusive.FileLock.Key == Key && + Found->Exclusive.FileLock.ProcessId == EProcess->UniqueProcessId; } /* @@ -754,9 +754,9 @@ IN PVOID Process) { BOOLEAN Result; - PEPROCESS EProcess = Process; - COMBINED_LOCK_ELEMENT ToFind; - PCOMBINED_LOCK_ELEMENT Found; + PEPROCESS EProcess = Process; + COMBINED_LOCK_ELEMENT ToFind; + PCOMBINED_LOCK_ELEMENT Found; DPRINT("FsRtlFastCheckLockForWrite(%wZ, Offset %08x%08x, Length %08x%08x, Key %x)\n", &FileObject->FileName, FileOffset->HighPart, @@ -764,22 +764,22 @@ Length->HighPart, Length->LowPart, Key); - ToFind.Exclusive.FileLock.StartingByte = *FileOffset; - ToFind.Exclusive.FileLock.EndingByte.QuadPart = - FileOffset->QuadPart + Length->QuadPart; - if (!FileLock->LockInformation) { + ToFind.Exclusive.FileLock.StartingByte = *FileOffset; + ToFind.Exclusive.FileLock.EndingByte.QuadPart = + FileOffset->QuadPart + Length->QuadPart; + if (!FileLock->LockInformation) { DPRINT("CheckForWrite(%wZ) => TRUE\n", &FileObject->FileName); return TRUE; } - Found = RtlLookupElementGenericTable - (FileLock->LockInformation, - &ToFind); - if (!Found) { + Found = RtlLookupElementGenericTable + (FileLock->LockInformation, + &ToFind); + if (!Found) { DPRINT("CheckForWrite(%wZ) => TRUE\n", &FileObject->FileName); return TRUE; } - Result = Found->Exclusive.FileLock.Key == Key && - Found->Exclusive.FileLock.ProcessId == EProcess->UniqueProcessId; + Result = Found->Exclusive.FileLock.Key == Key && + Found->Exclusive.FileLock.ProcessId == EProcess->UniqueProcessId; DPRINT("CheckForWrite(%wZ) => %s\n", &FileObject->FileName, Result ? "TRUE" : "FALSE"); return Result; } @@ -801,10 +801,10 @@ BOOLEAN FoundShared = FALSE; PLIST_ENTRY SharedEntry; PLOCK_SHARED_RANGE SharedRange = NULL; - COMBINED_LOCK_ELEMENT Find; - PCOMBINED_LOCK_ELEMENT Entry; - PIRP NextMatchingLockIrp; - PLOCK_INFORMATION InternalInfo = FileLock->LockInformation; + COMBINED_LOCK_ELEMENT Find; + PCOMBINED_LOCK_ELEMENT Entry; + PIRP NextMatchingLockIrp; + PLOCK_INFORMATION InternalInfo = FileLock->LockInformation; DPRINT("FsRtlFastUnlockSingle(%wZ, Offset %08x%08x, Length %08x%08x, Key %x)\n", &FileObject->FileName, FileOffset->HighPart, @@ -812,15 +812,15 @@ Length->HighPart, Length->LowPart, Key); - // The region to unlock must correspond exactly to a previously locked region - // -- msdn - // But Windows 2003 doesn't assert on it and simply ignores that parameter - // ASSERT(AlreadySynchronized); - Find.Exclusive.FileLock.StartingByte = *FileOffset; - Find.Exclusive.FileLock.EndingByte.QuadPart = - FileOffset->QuadPart + Length->QuadPart; - Entry = RtlLookupElementGenericTable(&InternalInfo->RangeTable, &Find); - if (!Entry) { + // The region to unlock must correspond exactly to a previously locked region + // -- msdn + // But Windows 2003 doesn't assert on it and simply ignores that parameter + // ASSERT(AlreadySynchronized); + Find.Exclusive.FileLock.StartingByte = *FileOffset; + Find.Exclusive.FileLock.EndingByte.QuadPart = + FileOffset->QuadPart + Length->QuadPart; + Entry = RtlLookupElementGenericTable(&InternalInfo->RangeTable, &Find); + if (!Entry) { DPRINT("Range not locked %wZ\n", &FileObject->FileName); return STATUS_RANGE_NOT_LOCKED; } @@ -916,7 +916,7 @@ } } - // this is definitely the thing we want + // this is definitely the thing we want NextMatchingLockIrp = IoCsqRemoveNextIrp(&InternalInfo->Csq, &Find); while (NextMatchingLockIrp) { @@ -930,7 +930,7 @@ } DPRINT("Success %wZ\n", &FileObject->FileName); - return STATUS_SUCCESS; + return STATUS_SUCCESS; } /* @@ -943,33 +943,33 @@ IN PEPROCESS Process, IN PVOID Context OPTIONAL) { - PCOMBINED_LOCK_ELEMENT Entry; - PRTL_GENERIC_TABLE InternalInfo = FileLock->LockInformation; + PCOMBINED_LOCK_ELEMENT Entry; + PRTL_GENERIC_TABLE InternalInfo = FileLock->LockInformation; DPRINT("FsRtlFastUnlockAll(%wZ)\n", &FileObject->FileName); - // XXX Synchronize somehow - if (!FileLock->LockInformation) { + // XXX Synchronize somehow + if (!FileLock->LockInformation) { DPRINT("Not locked %wZ\n", &FileObject->FileName); return STATUS_RANGE_NOT_LOCKED; // no locks } - for (Entry = RtlEnumerateGenericTable(InternalInfo, TRUE); + for (Entry = RtlEnumerateGenericTable(InternalInfo, TRUE); Entry; - Entry = RtlEnumerateGenericTable(InternalInfo, FALSE)) - { - LARGE_INTEGER Length; - // We'll take the first one to be the list head, and free the others first... - Length.QuadPart = - Entry->Exclusive.FileLock.EndingByte.QuadPart - - Entry->Exclusive.FileLock.StartingByte.QuadPart; - FsRtlFastUnlockSingle - (FileLock, - Entry->Exclusive.FileLock.FileObject, - &Entry->Exclusive.FileLock.StartingByte, - &Length, - Entry->Exclusive.FileLock.ProcessId, - Entry->Exclusive.FileLock.Key, - Context, - TRUE); - } + Entry = RtlEnumerateGenericTable(InternalInfo, FALSE)) + { + LARGE_INTEGER Length; + // We'll take the first one to be the list head, and free the others first... + Length.QuadPart = + Entry->Exclusive.FileLock.EndingByte.QuadPart - + Entry->Exclusive.FileLock.StartingByte.QuadPart; + FsRtlFastUnlockSingle + (FileLock, + Entry->Exclusive.FileLock.FileObject, + &Entry->Exclusive.FileLock.StartingByte, + &Length, + Entry->Exclusive.FileLock.ProcessId, + Entry->Exclusive.FileLock.Key, + Context, + TRUE); + } DPRINT("Done %wZ\n", &FileObject->FileName); return STATUS_SUCCESS; } @@ -985,36 +985,36 @@ IN ULONG Key, IN PVOID Context OPTIONAL) { - PCOMBINED_LOCK_ELEMENT Entry; - PLOCK_INFORMATION InternalInfo = FileLock->LockInformation; + PCOMBINED_LOCK_ELEMENT Entry; + PLOCK_INFORMATION InternalInfo = FileLock->LockInformation; DPRINT("FsRtlFastUnlockAllByKey(%wZ,Key %x)\n", &FileObject->FileName, Key); - // XXX Synchronize somehow - if (!FileLock->LockInformation) return STATUS_RANGE_NOT_LOCKED; // no locks - for (Entry = RtlEnumerateGenericTable(&InternalInfo->RangeTable, TRUE); + // XXX Synchronize somehow + if (!FileLock->LockInformation) return STATUS_RANGE_NOT_LOCKED; // no locks + for (Entry = RtlEnumerateGenericTable(&InternalInfo->RangeTable, TRUE); Entry; - Entry = RtlEnumerateGenericTable(&InternalInfo->RangeTable, FALSE)) - { - LARGE_INTEGER Length; - // We'll take the first one to be the list head, and free the others first... - Length.QuadPart = - Entry->Exclusive.FileLock.EndingByte.QuadPart - - Entry->Exclusive.FileLock.StartingByte.QuadPart; - if (Entry->Exclusive.FileLock.Key == Key && - Entry->Exclusive.FileLock.ProcessId == Process->UniqueProcessId) - { - FsRtlFastUnlockSingle - (FileLock, - Entry->Exclusive.FileLock.FileObject, - &Entry->Exclusive.FileLock.StartingByte, - &Length, - Entry->Exclusive.FileLock.ProcessId, - Entry->Exclusive.FileLock.Key, - Context, - TRUE); - } - } + Entry = RtlEnumerateGenericTable(&InternalInfo->RangeTable, FALSE)) + { + LARGE_INTEGER Length; + // We'll take the first one to be the list head, and free the others first... + Length.QuadPart = + Entry->Exclusive.FileLock.EndingByte.QuadPart - + Entry->Exclusive.FileLock.StartingByte.QuadPart; + if (Entry->Exclusive.FileLock.Key == Key && + Entry->Exclusive.FileLock.ProcessId == Process->UniqueProcessId) + { + FsRtlFastUnlockSingle + (FileLock, + Entry->Exclusive.FileLock.FileObject, + &Entry->Exclusive.FileLock.StartingByte, + &Length, + Entry->Exclusive.FileLock.ProcessId, + Entry->Exclusive.FileLock.Key, + Context, + TRUE); + } + } return STATUS_SUCCESS; } @@ -1151,8 +1151,8 @@ NTAPI FsRtlUninitializeFileLock(IN PFILE_LOCK FileLock) { - if (FileLock->LockInformation) - { + if (FileLock->LockInformation) + { PIRP Irp; PLOCK_INFORMATION InternalInfo = FileLock->LockInformation; PCOMBINED_LOCK_ELEMENT Entry; @@ -1175,9 +1175,9 @@ { FsRtlProcessFileLock(FileLock, Irp, NULL); } - ExFreePoolWithTag(InternalInfo, 'FLCK'); - FileLock->LockInformation = NULL; - } + ExFreePoolWithTag(InternalInfo, 'FLCK'); + FileLock->LockInformation = NULL; + } } /*
12 years, 5 months
1
0
0
0
[jgardou] 56951: [WIN32SS/NTGDI] - Do not assume that DC has a valid surface attached in GreExtTextOutW
by jgardou@svn.reactos.org
Author: jgardou Date: Mon Jul 23 15:35:42 2012 New Revision: 56951 URL:
http://svn.reactos.org/svn/reactos?rev=56951&view=rev
Log: [WIN32SS/NTGDI] - Do not assume that DC has a valid surface attached in GreExtTextOutW Modified: trunk/reactos/win32ss/gdi/ntgdi/freetype.c Modified: trunk/reactos/win32ss/gdi/ntgdi/freetype.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/freetype…
============================================================================== --- trunk/reactos/win32ss/gdi/ntgdi/freetype.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/gdi/ntgdi/freetype.c [iso-8859-1] Mon Jul 23 15:35:42 2012 @@ -3391,6 +3391,7 @@ DC_vPrepareDCsForBlit(dc, DummyRect, NULL, DummyRect); psurf = dc->dclevel.pSurface ; + if(!psurf) psurf = psurfDefaultBitmap; SurfObj = &psurf->SurfObj ; EXLATEOBJ_vInitialize(&exloRGB2Dst, &gpalRGB, psurf->ppal, 0, 0, 0);
12 years, 5 months
1
0
0
0
← Newer
1
2
3
4
5
6
7
8
9
...
20
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Results per page:
10
25
50
100
200