Timeline


and .

2/7/2010:

09:40 Ticket #322 (Eraser 6.0.6.1743 - First Last 16KB threshhold addressed in change 1745 is ...) created by bOoGiEwOoGiE
Regarding Eraser 6.0.6.1743 All input files were created with fsutil at …

2/4/2010:

10:02 Changeset [1750] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Strings.en.resx
  • branches/eraser6/CodeReview/Eraser/Strings.it.resx
  • branches/eraser6/CodeReview/Eraser/Strings.NL.resx
  • branches/eraser6/CodeReview/Eraser/Strings.resx

Updated strings found in the project.

09:58 Changeset [1749] by lowjoel
  • branches/eraser6/CodeReview/Version.cs.in

Version bump, needed for the updater to work properly.

08:47 Changeset [1748] by lowjoel
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

Various Updater fixes. Addresses #307: Eraser Updater restructuring

  • Deal with update types better - instead of mapping DownloadTypes? to strings, we map it directly to the ListViewGroup?
  • Fixed download progress messages
  • Deal with install errors properly (Win32Exception)
  • Fixed the status text when installing downloads
02:31 Changeset [1747] by lowjoel
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

Rewrote and redesigned the entire Updater infrastructure to use the ProgressManager? classes. Addresses #307: Eraser Updater restructuring

2/3/2010:

17:34 Ticket #321 (Administrator privilege required) created by michel.hasenclever
I have installed Eraser on a Windows 7 computer, and it works. But my user …
06:16 Build of Eraser 6.2 [1743] on Windows completed
06:11 Build of Eraser 6 [1744] on Windows completed
04:55 Ticket #284 (Eraser.Util rewrite) closed by Joel
fixed: I'll mark this closed and lump it with the Code Review task.
04:08 Ticket #289 (Volume enumeration crash) closed by Joel
fixed: See source:/branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs for revision …
03:47 Changeset [1746] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/FileSystem.cs

Must have copied the copyrights blindly...

03:37 Changeset [1745] by lowjoel
  • branches/eraser6/CodeReview
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/FileSystem.cs
  • branches/eraser6/CodeReview/Eraser.Manager/RemoteExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
  • branches/eraser6/CodeReview/Eraser.msbuild
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.NameResolver.cpp
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/Security.cs
  • branches/eraser6/CodeReview/Eraser.Util/Shell.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.it.resx
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.it.resx
  • branches/eraser6/CodeReview/Eraser/LogForm.cs
  • branches/eraser6/CodeReview/Eraser/MainForm.cs
  • branches/eraser6/CodeReview/Eraser/Program.GuiProgram.cs
  • branches/eraser6/CodeReview/Eraser/ProgressForm.cs
  • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
  • branches/eraser6/CodeReview/Eraser/Strings.en.resx
  • branches/eraser6/CodeReview/Eraser/Strings.it.resx
  • branches/eraser6/CodeReview/Eraser/Strings.NL.resx
  • branches/eraser6/CodeReview/Eraser/Strings.resx
  • branches/eraser6/CodeReview/ShellExt/CtxMenu.cpp

Forward ported changes from trunk to r1743

02:52 Changeset [1744] by lowjoel
  • branches/eraser6/6.0/Eraser/Program.cs
  • branches/eraser6/6.0/Eraser/Strings.en.resx
  • branches/eraser6/6.0/Eraser/Strings.it.resx
  • branches/eraser6/6.0/Eraser/Strings.NL.resx
  • branches/eraser6/6.0/Eraser/Strings.resx

Fixed a typo in the order of function calls (nested string translations) and updated the translations for v6.

01:37 Changeset [1743] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Manager/FileSystem.cs

Forward port from Eraser 6.0: Fixed code usage error: When we find a directory in the list of plausible deniability decoy files we would add the files in the directory to the list. This results in directory contents being added recursively for every decoy we copy. In addition, we also did not check that the files in the list of decoys exist and we just picked any one. This could have resulted in non-existent files being picked for use which throws a FileNotFoundException?.

01:19 Changeset [1742] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/FileSystem.cs

Fixed code usage error: When we find a directory in the list of plausible deniability decoy files we would add the files in the directory to the list. This results in directory contents being added recursively for every decoy we copy. In addition, we also did not check that the files in the list of decoys exist and we just picked any one. This could have resulted in non-existent files being picked for use which throws a FileNotFoundException?.

01:16 Changeset [1741] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/LogForm.cs
  • trunk/eraser6/Eraser/ProgressForm.cs

Supplants r1659/r1660: When we ware waiting for event triggers we also need to ensure that the form has not yet been disposed.

01:14 Changeset [1740] by lowjoel
  • branches/eraser6/6.0/Eraser/LogForm.cs
  • branches/eraser6/6.0/Eraser/ProgressForm.cs

Supplants r1659: When we ware waiting for event triggers we also need to ensure that the form has not yet been disposed.

00:56 Changeset [1739] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Manager/Task.cs

Forward port from Eraser 6.0: Various filesystem object target searching improvements.

  • When listing files that need to be erased, always ensure that the file exists before querying its properties e.g. Length or Attributes.
  • When passing reference variables, we don't need to use ref (unless we want to change the reference, but in this case, we aren't)
  • Just like for file system objects, when we get a file or directory from the recycle bin, ensure that it exists and that it isn't a reparse point (otherwise, we can just ignore it)
  • Split files and directory enumeration in the recycle bin targets to remove casts (which are slow)
00:53 Changeset [1738] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/Task.cs
  • When passing reference variables, we don't need to use ref (unless we want to change the reference, but in this case, we aren't)
  • Just like for file system objects, when we get a file or directory from the recycle bin, ensure that it exists and that it isn't a reparse point (otherwise, we can just ignore it)
  • Split files and directory enumeration in the recycle bin targets to remove casts (which are slow)
00:46 Changeset [1737] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/Task.cs

When listing files that need to be erased, always ensure that the file exists before querying its properties e.g. Length or Attributes.

00:29 Changeset [1736] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/MainForm.cs
  • trunk/eraser6/Eraser/SchedulerPanel.cs

Forward port from Eraser 6.0: Fixed potential regression in r1721 and r1633 where we added in calls to CreateHandle? so that window handles are created immediately for calls to InvokeRequired?. Check that IsHandleCreated? is false so that the handle will not be recreated and throw an InvalidOperationException?

00:24 Changeset [1735] by lowjoel
  • branches/eraser6/6.0/Eraser/MainForm.cs
  • branches/eraser6/6.0/Eraser/SchedulerPanel.cs

Slightly better fix than r1734.

00:13 Changeset [1734] by lowjoel
  • branches/eraser6/6.0/Eraser/MainForm.cs
  • branches/eraser6/6.0/Eraser/SchedulerPanel.cs

Fixed potential regression in r1721 and r1633 where we added in calls to CreateHandle? so that window handles are created immediately for calls to InvokeRequired?. Move those calls to the start of the constructor so that the handle will not be already created and throw an InvalidOperationException?

1/30/2010:

12:19 Build of Eraser 6 [1732] on Windows completed
12:14 Build of Eraser 6.2 [1733] on Windows completed
06:35 Changeset [1733] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Util/VolumeInfo.cs

Forward port from Eraser 6.0: Change the behaviour to GetVolumeInformation?: if it returns zero it is not exactly an error condition that we should throw an exception. MSDN states that some information may be returned so we should try to get that information. But, the drive is definitely not in a ready state.

06:33 Changeset [1732] by lowjoel
  • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

Change the behaviour to GetVolumeInformation?: if it returns zero it is not exactly an error condition that we should throw an exception. MSDN states that some information may be returned so we should try to get that information. But, the drive is definitely not in a ready state.

06:15 Build of Eraser 6 [1730] on Windows completed
06:11 Build of Eraser 6.2 [1731] on Windows completed
05:59 Changeset [1731] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Util/VolumeInfo.cs

Forward port from Eraser 6.0: GetDriveType? requires the path to have a trailing backslash. The check was using the wrong parameter when checking the drive type.

05:56 Changeset [1730] by lowjoel
  • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

GetDriveType? requires the path to have a trailing backslash. The check was using the wrong parameter when checking the drive type.

05:54 Changeset [1729] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

Backport from trunk: Handle corrupt volumes properly when getting volume information from it.

05:51 Changeset [1728] by lowjoel
  • trunk/eraser6/Eraser.Util/VolumeInfo.cs

Handle corrupt volumes properly when getting volume information from it.

02:40 Changeset [1727] by lowjoel
  • trunk/eraser6/Eraser.Util/BlackBox.cs

When opening debug logs, open it with read sharing access (no one's complaining if someone else is reading the debug log...)

02:26 Changeset [1726] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Util.Unlocker/Unlocker.cpp

Forward port from Eraser 6.0: CreateNameThread? should be unmanaged as it calls only unmanaged APIs. This saves a few p/invoke calls.

02:15 Changeset [1725] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs

Fixed progress reporting for FL16KB as we call the erasure method twice so the total amount of data is 32KB, not 16KB. The progress function will then be called beyond 16KB and we get an ArgumentOutOfRange? exception.

01:57 Changeset [1724] by lowjoel
  • trunk/eraser6/Eraser.Util/ShellApi.cs

Fixed crash when checking for low disk space notifications: if the policy is not defined the registry key object will be null and we'll trigger a NullReferenceException?.

00:54 Changeset [1723] by lowjoel
  • branches/eraser6/6.0/Eraser.Util.Unlocker/Unlocker.cpp

CreateNameThread? should be unmanaged as it calls only unmanaged APIs. This saves a few p/invoke calls.

00:52 Changeset [1722] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/MainForm.cs

Forward port from Eraser6.0: Fixed regression introduced in r1634. Fixed hang when starting Eraser with --quiet and then starting another instance -- InvokeRequired? did not check for the creation of the handle, and since MainFrom?'s handle is created deferred InvokeRequired? returned false causing the controls to be created on a secondary thread. Which then locks the program.

00:47 Changeset [1721] by lowjoel
  • branches/eraser6/6.0/Eraser/MainForm.cs

Fixed regression introduced in r1634. Fixed hang when starting Eraser with --quiet and then starting another instance -- InvokeRequired? did not check for the creation of the handle, and since MainFrom?'s handle is created deferred InvokeRequired? returned false causing the controls to be created on a secondary thread. Which then locks the program.

00:38 Changeset [1720] by lowjoel
  • trunk/eraser6/Eraser.Util/AdvApi.cs

Experimental fix for NotSupportedException? reported by some users.

1/29/2010:

06:17 Build of Eraser 6.2 [1718] on Windows completed
06:11 Build of Eraser 6 [1719] on Windows completed
00:40 Changeset [1719] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/6.0/Eraser.Manager/RemoteExecutor.cs
  • branches/eraser6/6.0/Eraser/Program.cs
  • branches/eraser6/6.0/Eraser/SchedulerPanel.cs
  • branches/eraser6/6.0/ShellExt/CtxMenu.cpp

Backported changes from trunk.

r1718: Author: lowjoel: When we have problems starting Eraser from the shell extension check the return code for ERROR_ELEVATION_REQUIRED; if we get that, then we should re-run the operation as an administrator.
r1717: Author: lowjoel: If the directory we are deleting does not exist, we should just return -- there's nothing to be deleted.
r1716: Author: lowjoel: Catch IOExceptions when we try to connect to other running instances and show a error message when one occurs.
r1715: Author: lowjoel: Set that files are not meant to be indexed when it is meant for deletion before we even set the file times.
r1714: Author: lowjoel: Fixed race condition potentially created by initialising the remote executor server thread immediately upon construction since Run is not yet called.
r1713: Author: lowjoel: Since we only force the creation of the SchedulerPanel?'s handle in the constructor, InvokeRequired? should be called on the panel itself, and not on subcontrols as they are still delay-constructed. Fixes crash when Eraser is started quietly and a task is created remotely.
r1712: Author: lowjoel: ThreadAbortExceptions? should not trigger BlackBox? report creation.

00:35 Changeset [1718] by lowjoel
  • trunk/eraser6/ShellExt/CtxMenu.cpp

When we have problems starting Eraser from the shell extension check the return code for ERROR_ELEVATION_REQUIRED; if we get that, then we should re-run the operation as an administrator.

1/28/2010:

12:10 Build of Eraser 6.2 [1717] on Windows completed
08:19 Changeset [1717] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs

If the directory we are deleting does not exist, we should just return -- there's nothing to be deleted.

08:16 Changeset [1716] by lowjoel
  • trunk/eraser6/Eraser/Program.cs

Catch IOExceptions when we try to connect to other running instances and show a error message when one occurs.

08:02 Changeset [1715] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs

Set that files are not meant to be indexed when it is meant for deletion before we even set the file times.

07:50 Changeset [1714] by lowjoel
  • trunk/eraser6/Eraser.Manager/RemoteExecutor.cs

Fixed race condition potentially created by initialising the remote executor server thread immediately upon construction since Run is not yet called.

06:54 Changeset [1713] by lowjoel
  • trunk/eraser6/Eraser/SchedulerPanel.cs

Since we only force the creation of the SchedulerPanel?'s handle in the constructor, InvokeRequired? should be called on the panel itself, and not on subcontrols as they are still delay-constructed. Fixes crash when Eraser is started quietly and a task is created remotely.

06:40 Changeset [1712] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

ThreadAbortExceptions? should not trigger BlackBox? report creation.

04:28 Ticket #308 (Upgrade BlackBox to use the ProgressManager classes) closed by Joel
fixed: I would say this was done from r1616 to r1626
04:16 Changeset [1711] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/FileSystem.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
  • Modified the VolumeInfo? class to allow enumeration of network drives
  • Define the ToString? function which will return the volume's mount point or it's volume ID depending on whether the volume is mounted
03:40 Changeset [1710] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/NtDll.cs
  • branches/eraser6/CodeReview/Eraser.Util/NTApi.cs

Remove the obsolete managed call to NtQuerySystemInformation?

03:37 Changeset [1709] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/FileSystem.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/ExtensionMethods/IO.cs
  • branches/eraser6/CodeReview/Eraser.Util/FileSize.cs
  • branches/eraser6/CodeReview/Eraser.Util/Localisation.cs
  • branches/eraser6/CodeReview/Eraser/Program.cs
  • branches/eraser6/CodeReview/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

Replaced the Eraser.Util.File class with extension methods (based on FileSystemInfo? for the most part) to avoid the name collision with System.IO.File; the File.GetCompactPath? function has been replaced with the FileSize? struct.

01:11 Changeset [1708] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Kernel.cs
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs

Drop-in replacement of the StreamInfo? class with a rewritten one which uses FileSystemInfo? as a base. This makes our code more concise and also behave more like a FileInfo? class.

1/27/2010:

12:11 Build of Eraser 6.2 [1707] on Windows completed
09:06 Changeset [1707] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

Once the cluster tip erasures complete we need to specify that the task is complete.

09:04 Changeset [1706] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Util/ShellApi.cs

Disable low disk space notifications when running unused space erasures.

06:15 Build of Eraser 6 [1699] on Windows completed
06:11 Build of Eraser 6.2 [1700] on Windows completed
05:58 Changeset [1705] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/File.cs
  • branches/eraser6/CodeReview/Eraser.Util/NtfsApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/Win32ErrorCodes.cs

Replace all Marshal.GetExceptionForHR with Win32ErrorCode.GetExceptionForWin?32Error since we deal with Win32 errors not unlike COM errors, except with a few exceptions and that we should be throwing Win32Exception instead of COMException.

05:48 Changeset [1704] by lowjoel
  • branches/eraser6/CodeReview/Eraser.msbuild

Forward ported from trunk to r1628

05:45 Changeset [1703] by lowjoel
  • branches/eraser6/CodeReview/Eraser.msbuild
  • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.it.resx
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.it.resx

Added missing files that should have been merged from trunk.

05:09 Changeset [1702] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs

Fixed compilo introduced in r1701

05:08 Changeset [1701] by lowjoel
  • branches/eraser6/CodeReview
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Strings.en.resx
  • branches/eraser6/CodeReview/Eraser.Manager/Strings.it.resx
  • branches/eraser6/CodeReview/Eraser.Manager/Strings.nl.resx
  • branches/eraser6/CodeReview/Eraser.Manager/Strings.resx
  • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Mpr.cs
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/Win32ErrorCodes.cs
  • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
  • branches/eraser6/CodeReview/Eraser/SchedulerPanel.Designer.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

Forward port changes from trunk till r1700

04:03 Changeset [1700] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

Forward port from Eraser 6.0: Fixed crash when the process which is locking the file may not be accessible to the current user, resulting in a Win32Exception. Swallow it, we'll just not list the process.

03:53 Changeset [1699] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/6.0/Eraser.Manager/Strings.en.resx
  • branches/eraser6/6.0/Eraser.Manager/Strings.it.resx
  • branches/eraser6/6.0/Eraser.Manager/Strings.nl.resx
  • branches/eraser6/6.0/Eraser.Manager/Strings.resx

Fixed crash when the process which is locking the file may not be accessible to the current user, resulting in a Win32Exception. Swallow it, we'll just not list the process.

03:12 Changeset [1698] by lowjoel
  • trunk/eraser6/Eraser.Manager/Task.cs

Fixed the blank UI Text when the root of a drive is selected for erasure.

03:08 Changeset [1697] by lowjoel
  • trunk/eraser6/Eraser/SchedulerPanel.cs

The progress bar on the scheduler panel is off by (2, 2); offset it by that amount so that the progress bar is precisely over the task.

03:02 Ticket #313 (ArgumentException when erasing files on network shares) closed by Joel
fixed: Fixed in r1695 (6.0) and r1696 (6.2)
03:02 Changeset [1696] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Util/KernelApi.cs
  • trunk/eraser6/Eraser.Util/VolumeInfo.cs

Forward port from Eraser 6.0: Enabled VolumeInfo? class to deal with UNC paths. Fixes #313: ArgumentException? when erasing files on network shares

02:56 Changeset [1695] by lowjoel
  • branches/eraser6/6.0/Eraser.Util/KernelApi.cs
  • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

Enabled VolumeInfo? class to deal with UNC paths. Fixes #313: ArgumentException? when erasing files on network shares

02:42 Changeset [1694] by lowjoel
  • trunk/eraser6/Eraser.Manager/Strings.en.resx
  • trunk/eraser6/Eraser.Manager/Strings.it.resx
  • trunk/eraser6/Eraser.Manager/Strings.nl.resx
  • trunk/eraser6/Eraser.Manager/Strings.resx

New strings in trunk.

1/26/2010:

12:10 Build of Eraser 6 [1693] on Windows completed
07:31 Changeset [1693] by lowjoel
  • branches/eraser6/6.0/Eraser/SchedulerPanel.cs
  • branches/eraser6/6.0/Eraser/Strings.en.resx
  • branches/eraser6/6.0/Eraser/Strings.it.resx
  • branches/eraser6/6.0/Eraser/Strings.NL.resx
  • branches/eraser6/6.0/Eraser/Strings.resx

Confirm with the user whether the dropped files/folders should be erased. Fixes #306: Do not erase immediately after drag and drop

07:25 Ticket #285 (Various Custom Erasure Method editor bugs) closed by Joel
fixed: I'll take it that this is fixed.
06:10 Build of Eraser 6.2 [1692] on Windows completed
01:07 Changeset [1692] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs

When copying the plausible deniability file, dispose the created stream when we're done with it.

00:31 Changeset [1691] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/ProgressManager.cs

Updated ProgressManager?.cs to r1688.

00:24 Changeset [1690] by lowjoel
  • trunk/eraser6/Eraser.Util/StreamInfo.cs

Instead of throwing an exception when we can't verify whether a file exists, we will just return false if we are unable to.

1/25/2010:

18:15 Build of Eraser 6 [1684] on Windows completed
18:10 Build of Eraser 6.2 [1689] on Windows completed
13:16 Changeset [1689] by lowjoel
  • trunk/eraser6/Eraser/SchedulerPanel.Designer.cs

Fixed the font size of the scheduler panel title font.

12:55 Changeset [1688] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Manager/ProgressManager.cs
  • trunk/eraser6/Eraser/UpdateForm.cs

Fixed ArgumentOutOfRangeException? when erasing. Instead of assigning the Total and Completed fields to be equal, I've included the MarkComplete? function which indicates to the parent progress manager, if any, that the task has completed.

12:31 Changesets [1686-1687] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/NetApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/WinTrust.cs
  • branches/eraser6/CodeReview/Eraser.Util/PostDataBuilder.cs
  • branches/eraser6/CodeReview/Eraser.Util/Security.cs
  • branches/eraser6/CodeReview/Eraser.Util.Native/AssemblyInfo.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Native.rc
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat.h
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat12Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat12Or16Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat16Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat32Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/FatApi.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/FatApi.h
  • branches/eraser6/CodeReview/Eraser.Util.Native/Main.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/NTApi.h
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.h
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.NameResolver.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.NameResolver.h
  • branches/eraser6/CodeReview/Eraser.Util.Native/Stdafx.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Stdafx.h
  • branches/eraser6/CodeReview/Eraser.Util/ProgressManager.cs
  • branches/eraser6/CodeReview/Eraser.Util/RecycleBin.cs
  • branches/eraser6/CodeReview/Eraser.Util/SystemInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/SystemRestore.cs
  • branches/eraser6/CodeReview/Eraser.Util/Theming.cs

Fixed the copyright information to match trunk for new/moved paths.

12:25 Changeset [1685] by lowjoel
  • branches/eraser6/CodeReview
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Properties/AssemblyInfo.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Properties/AssemblyInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/Properties/AssemblyInfo.cs
  • branches/eraser6/CodeReview/Eraser/Properties/AssemblyInfo.cs
  • branches/eraser6/CodeReview/Installer/Bootstrapper/Bootstrapper.rc
  • branches/eraser6/CodeReview/ShellExt/ShellExt.rc

Forward port from trunk: Update the assembly information fields too. This brings the branch synchronised with r1683

12:21 Build of Eraser 6.2 [1683] on Windows completed
12:18 Changeset [1684] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.DefaultPlugins/Properties/AssemblyInfo.cs
  • branches/eraser6/6.0/Eraser.Manager/Properties/AssemblyInfo.cs
  • branches/eraser6/6.0/Eraser.Util.FileSystem/AssemblyInfo.cpp
  • branches/eraser6/6.0/Eraser.Util.FileSystem/Eraser.Util.FileSystem.rc
  • branches/eraser6/6.0/Eraser.Util.Unlocker/AssemblyInfo.cpp
  • branches/eraser6/6.0/Eraser.Util.Unlocker/Eraser.Util.Unlocker.rc
  • branches/eraser6/6.0/Eraser.Util/Properties/AssemblyInfo.cs
  • branches/eraser6/6.0/Eraser/Properties/AssemblyInfo.cs
  • branches/eraser6/6.0/Installer/Bootstrapper/Bootstrapper.rc
  • branches/eraser6/6.0/ShellExt/ShellExt.rc

Backport from trunk: Update the assembly information fields too.

12:16 Build of Eraser 6 [1679] on Windows completed
12:11 Build of Eraser 6.2 [1680] on Windows completed
12:07 Changeset [1683] by lowjoel
  • trunk/eraser6/Installer/Bootstrapper/Bootstrapper.rc

Forgot to save the bootstrapper resource. Updated the copyright for this too.

12:06 Changeset [1682] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/Properties/AssemblyInfo.cs
  • trunk/eraser6/Eraser.Manager/Properties/AssemblyInfo.cs
  • trunk/eraser6/Eraser.Util.FileSystem/AssemblyInfo.cpp
  • trunk/eraser6/Eraser.Util.FileSystem/Eraser.Util.FileSystem.rc
  • trunk/eraser6/Eraser.Util.Unlocker/AssemblyInfo.cpp
  • trunk/eraser6/Eraser.Util.Unlocker/Eraser.Util.Unlocker.rc
  • trunk/eraser6/Eraser.Util/Properties/AssemblyInfo.cs
  • trunk/eraser6/Eraser/Properties/AssemblyInfo.cs
  • trunk/eraser6/ShellExt/ShellExt.rc

Update the assembly information fields too.

09:29 Changeset [1681] by lowjoel
  • branches/eraser6/CodeReview
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodEditorForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodPassEditor.Designer.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/GOSTP50739.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Gutmann.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/HMGIS5.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Random.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Schneier.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/VSITR.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Fat.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Plugin.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/RNGCrypto.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/SettingsForm.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/SettingsForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Exception.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Executor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/FileSystem.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Language.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Logger.cs
  • branches/eraser6/CodeReview/Eraser.Manager/ManagerLibrary.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Method.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Plugins.cs
  • branches/eraser6/CodeReview/Eraser.Manager/PRNG.cs
  • branches/eraser6/CodeReview/Eraser.Manager/RemoteExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Schedule.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Settings.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Strings.en.resx
  • branches/eraser6/CodeReview/Eraser.Manager/Strings.it.resx
  • branches/eraser6/CodeReview/Eraser.Manager/Strings.nl.resx
  • branches/eraser6/CodeReview/Eraser.Manager/Strings.resx
  • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
  • branches/eraser6/CodeReview/Eraser.sln
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/File.cs
  • branches/eraser6/CodeReview/Eraser.Util/Localisation.cs
  • branches/eraser6/CodeReview/Eraser.Util/NetApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NTApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NtfsApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/UserApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
  • branches/eraser6/CodeReview/Eraser/AboutForm.cs
  • branches/eraser6/CodeReview/Eraser/AboutForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser/BasePanel.cs
  • branches/eraser6/CodeReview/Eraser/BasePanel.Designer.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.resx
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.resx
  • branches/eraser6/CodeReview/Eraser/Eraser.csproj
  • branches/eraser6/CodeReview/Eraser/LightGroup.cs
  • branches/eraser6/CodeReview/Eraser/LightGroup.Designer.cs
  • branches/eraser6/CodeReview/Eraser/LogForm.cs
  • branches/eraser6/CodeReview/Eraser/LogForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser/MainForm.cs
  • branches/eraser6/CodeReview/Eraser/MainForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser/ProgressForm.cs
  • branches/eraser6/CodeReview/Eraser/ProgressForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
  • branches/eraser6/CodeReview/Eraser/SchedulerPanel.Designer.cs
  • branches/eraser6/CodeReview/Eraser/SchedulerPanel.it.resx
  • branches/eraser6/CodeReview/Eraser/SchedulerPanel.resx
  • branches/eraser6/CodeReview/Eraser/Settings.cs
  • branches/eraser6/CodeReview/Eraser/SettingsCompatibility.cs
  • branches/eraser6/CodeReview/Eraser/SettingsPanel.cs
  • branches/eraser6/CodeReview/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/CodeReview/Eraser/Strings.en.resx
  • branches/eraser6/CodeReview/Eraser/Strings.it.resx
  • branches/eraser6/CodeReview/Eraser/Strings.NL.resx
  • branches/eraser6/CodeReview/Eraser/Strings.resx
  • branches/eraser6/CodeReview/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/CodeReview/Eraser/TaskDataSelectionForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/CodeReview/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser/ToolBar.cs
  • branches/eraser6/CodeReview/Eraser/ToolBar.Designer.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.Designer.cs
  • branches/eraser6/CodeReview/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/CodeReview/Installer/Bootstrapper/Bootstrapper.h
  • branches/eraser6/CodeReview/Installer/Bootstrapper/Bootstrapper.rc
  • branches/eraser6/CodeReview/Installer/Bootstrapper/Main.cpp
  • branches/eraser6/CodeReview/Installer/Bootstrapper/Resource.h
  • branches/eraser6/CodeReview/Installer/Bootstrapper/stdafx.cpp
  • branches/eraser6/CodeReview/Installer/Bootstrapper/stdafx.h
  • branches/eraser6/CodeReview/Installer/DirectoryStructure.wxs
  • branches/eraser6/CodeReview/Installer/Eraser.wxs
  • branches/eraser6/CodeReview/Installer/Installer.wixproj
  • branches/eraser6/CodeReview/Installer/Localisations.wxs
  • branches/eraser6/CodeReview/Installer/UserInterface.wxs
  • branches/eraser6/CodeReview/ShellExt/CtxMenu.cpp
  • branches/eraser6/CodeReview/ShellExt/CtxMenu.h
  • branches/eraser6/CodeReview/ShellExt/DllMain.cpp
  • branches/eraser6/CodeReview/ShellExt/DllMain.h
  • branches/eraser6/CodeReview/ShellExt/DllMain.idl
  • branches/eraser6/CodeReview/ShellExt/ShellExt.rc
  • branches/eraser6/CodeReview/ShellExt/stdafx.cpp
  • branches/eraser6/CodeReview/ShellExt/stdafx.h
  • branches/eraser6/CodeReview/ShellExt/targetver.h
  • branches/eraser6/CodeReview/Version.cs.in
  • branches/eraser6/CodeReview/Version.rc.in
  • branches/eraser6/CodeReview/Version.wxs.in

Bring the CodeReview? branch up to date with the current trunk at r1680

08:39 Changeset [1680] by lowjoel
  • trunk/eraser6/Eraser.Manager/ProgressManager.cs

Fixed infinite recursion introduced in r1668 when setting the Total property (wrong casing for the variable name)

08:38 Changeset [1679] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser/AboutForm.cs
  • branches/eraser6/6.0/Eraser/Strings.en.resx
  • branches/eraser6/6.0/Eraser/Strings.it.resx
  • branches/eraser6/6.0/Eraser/Strings.NL.resx
  • branches/eraser6/6.0/Eraser/Strings.resx

Backport from trunk: Update the copyright on the about page too.

08:33 Changeset [1678] by lowjoel
  • trunk/eraser6/Eraser/AboutForm.cs
  • trunk/eraser6/Eraser/Strings.en.resx
  • trunk/eraser6/Eraser/Strings.it.resx
  • trunk/eraser6/Eraser/Strings.NL.resx
  • trunk/eraser6/Eraser/Strings.resx

Update the copyright on the about page too.

08:29 Changeset [1677] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodEditorForm.Designer.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.Designer.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/GOSTP50739.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/Gutmann.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/HMGIS5.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/Random.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/Schneier.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/VSITR.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Fat.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/Plugin.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/RNGCrypto.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/SettingsForm.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/SettingsForm.Designer.cs
  • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/6.0/Eraser.Manager/EntropySource.cs
  • branches/eraser6/6.0/Eraser.Manager/Exception.cs
  • branches/eraser6/6.0/Eraser.Manager/Executor.cs
  • branches/eraser6/6.0/Eraser.Manager/FileSystem.cs
  • branches/eraser6/6.0/Eraser.Manager/Language.cs
  • branches/eraser6/6.0/Eraser.Manager/Logger.cs
  • branches/eraser6/6.0/Eraser.Manager/ManagerLibrary.cs
  • branches/eraser6/6.0/Eraser.Manager/Method.cs
  • branches/eraser6/6.0/Eraser.Manager/Plugins.cs
  • branches/eraser6/6.0/Eraser.Manager/PRNG.cs
  • branches/eraser6/6.0/Eraser.Manager/RemoteExecutor.cs
  • branches/eraser6/6.0/Eraser.Manager/Schedule.cs
  • branches/eraser6/6.0/Eraser.Manager/Settings.cs
  • branches/eraser6/6.0/Eraser.Manager/Task.cs
  • branches/eraser6/6.0/Eraser.Util.FileSystem/AssemblyInfo.cpp
  • branches/eraser6/6.0/Eraser.Util.FileSystem/Eraser.Util.FileSystem.rc
  • branches/eraser6/6.0/Eraser.Util.FileSystem/Fat.h
  • branches/eraser6/6.0/Eraser.Util.FileSystem/Fat12Api.cpp
  • branches/eraser6/6.0/Eraser.Util.FileSystem/Fat12Or16Api.cpp
  • branches/eraser6/6.0/Eraser.Util.FileSystem/Fat16Api.cpp
  • branches/eraser6/6.0/Eraser.Util.FileSystem/Fat32Api.cpp
  • branches/eraser6/6.0/Eraser.Util.FileSystem/FatApi.cpp
  • branches/eraser6/6.0/Eraser.Util.FileSystem/FatApi.h
  • branches/eraser6/6.0/Eraser.Util.FileSystem/Stdafx.cpp
  • branches/eraser6/6.0/Eraser.Util.FileSystem/Stdafx.h
  • branches/eraser6/6.0/Eraser.Util.Unlocker/AssemblyInfo.cpp
  • branches/eraser6/6.0/Eraser.Util.Unlocker/Eraser.Util.Unlocker.cpp
  • branches/eraser6/6.0/Eraser.Util.Unlocker/Eraser.Util.Unlocker.h
  • branches/eraser6/6.0/Eraser.Util.Unlocker/Eraser.Util.Unlocker.rc
  • branches/eraser6/6.0/Eraser.Util.Unlocker/Main.cpp
  • branches/eraser6/6.0/Eraser.Util.Unlocker/NTApi.h
  • branches/eraser6/6.0/Eraser.Util.Unlocker/Stdafx.cpp
  • branches/eraser6/6.0/Eraser.Util.Unlocker/Stdafx.h
  • branches/eraser6/6.0/Eraser.Util.Unlocker/Unlocker.cpp
  • branches/eraser6/6.0/Eraser.Util.Unlocker/Unlocker.h
  • branches/eraser6/6.0/Eraser.Util/AdvApi.cs
  • branches/eraser6/6.0/Eraser.Util/File.cs
  • branches/eraser6/6.0/Eraser.Util/KernelApi.cs
  • branches/eraser6/6.0/Eraser.Util/Localisation.cs
  • branches/eraser6/6.0/Eraser.Util/MsCorEEApi.cs
  • branches/eraser6/6.0/Eraser.Util/NetApi.cs
  • branches/eraser6/6.0/Eraser.Util/NTApi.cs
  • branches/eraser6/6.0/Eraser.Util/NtfsApi.cs
  • branches/eraser6/6.0/Eraser.Util/ShellApi.cs
  • branches/eraser6/6.0/Eraser.Util/StreamInfo.cs
  • branches/eraser6/6.0/Eraser.Util/UserApi.cs
  • branches/eraser6/6.0/Eraser.Util/UxThemeApi.cs
  • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs
  • branches/eraser6/6.0/Eraser.Util/WintrustApi.cs
  • branches/eraser6/6.0/Eraser/AboutForm.cs
  • branches/eraser6/6.0/Eraser/AboutForm.Designer.cs
  • branches/eraser6/6.0/Eraser/BasePanel.cs
  • branches/eraser6/6.0/Eraser/BasePanel.Designer.cs
  • branches/eraser6/6.0/Eraser/LightGroup.cs
  • branches/eraser6/6.0/Eraser/LightGroup.Designer.cs
  • branches/eraser6/6.0/Eraser/LogForm.cs
  • branches/eraser6/6.0/Eraser/LogForm.Designer.cs
  • branches/eraser6/6.0/Eraser/MainForm.cs
  • branches/eraser6/6.0/Eraser/MainForm.Designer.cs
  • branches/eraser6/6.0/Eraser/Program.cs
  • branches/eraser6/6.0/Eraser/ProgressForm.cs
  • branches/eraser6/6.0/Eraser/ProgressForm.Designer.cs
  • branches/eraser6/6.0/Eraser/SchedulerPanel.cs
  • branches/eraser6/6.0/Eraser/SchedulerPanel.Designer.cs
  • branches/eraser6/6.0/Eraser/Settings.cs
  • branches/eraser6/6.0/Eraser/SettingsCompatibility.cs
  • branches/eraser6/6.0/Eraser/SettingsPanel.cs
  • branches/eraser6/6.0/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/6.0/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/6.0/Eraser/TaskDataSelectionForm.Designer.cs
  • branches/eraser6/6.0/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/6.0/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/6.0/Eraser/ToolBar.cs
  • branches/eraser6/6.0/Eraser/ToolBar.Designer.cs
  • branches/eraser6/6.0/Eraser/UpdateForm.cs
  • branches/eraser6/6.0/Eraser/UpdateForm.Designer.cs
  • branches/eraser6/6.0/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/6.0/Installer/Bootstrapper/Bootstrapper.h
  • branches/eraser6/6.0/Installer/Bootstrapper/Bootstrapper.rc
  • branches/eraser6/6.0/Installer/Bootstrapper/Main.cpp
  • branches/eraser6/6.0/Installer/Bootstrapper/Resource.h
  • branches/eraser6/6.0/Installer/Bootstrapper/stdafx.cpp
  • branches/eraser6/6.0/Installer/Bootstrapper/stdafx.h
  • branches/eraser6/6.0/Installer/DirectoryStructure.wxs
  • branches/eraser6/6.0/Installer/Eraser.wxs
  • branches/eraser6/6.0/Installer/Localisations.wxs
  • branches/eraser6/6.0/Installer/UserInterface.wxs
  • branches/eraser6/6.0/ShellExt/CtxMenu.cpp
  • branches/eraser6/6.0/ShellExt/CtxMenu.h
  • branches/eraser6/6.0/ShellExt/DllMain.cpp
  • branches/eraser6/6.0/ShellExt/DllMain.h
  • branches/eraser6/6.0/ShellExt/DllMain.idl
  • branches/eraser6/6.0/ShellExt/ShellExt.rc
  • branches/eraser6/6.0/ShellExt/stdafx.cpp
  • branches/eraser6/6.0/ShellExt/stdafx.h
  • branches/eraser6/6.0/ShellExt/targetver.h
  • branches/eraser6/6.0/Version.cs.in
  • branches/eraser6/6.0/Version.rc.in
  • branches/eraser6/6.0/Version.wxs.in

Updated copyright information: since Eraser is still under development we should update our copyright status.

08:07 Changeset [1676] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

Fixed recycle bin erasures after bug introduced in r1652 where due to the Target.Path being null the target would simply be skipped by the code.

06:52 Changeset [1675] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.Designer.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodPassEditor.Designer.cs
  • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
  • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
  • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
  • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/GOSTP50739.cs
  • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/Gutmann.cs
  • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/HMGIS5.cs
  • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/Random.cs
  • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
  • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/Schneier.cs
  • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
  • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
  • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/VSITR.cs
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Fat.cs
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • trunk/eraser6/Eraser.DefaultPlugins/Plugin.cs
  • trunk/eraser6/Eraser.DefaultPlugins/RNGCrypto.cs
  • trunk/eraser6/Eraser.DefaultPlugins/SettingsForm.cs
  • trunk/eraser6/Eraser.DefaultPlugins/SettingsForm.Designer.cs
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Manager/EntropySource.cs
  • trunk/eraser6/Eraser.Manager/Exception.cs
  • trunk/eraser6/Eraser.Manager/Executor.cs
  • trunk/eraser6/Eraser.Manager/FileSystem.cs
  • trunk/eraser6/Eraser.Manager/Language.cs
  • trunk/eraser6/Eraser.Manager/Logger.cs
  • trunk/eraser6/Eraser.Manager/ManagerLibrary.cs
  • trunk/eraser6/Eraser.Manager/Method.cs
  • trunk/eraser6/Eraser.Manager/Plugins.cs
  • trunk/eraser6/Eraser.Manager/PRNG.cs
  • trunk/eraser6/Eraser.Manager/ProgressManager.cs
  • trunk/eraser6/Eraser.Manager/RemoteExecutor.cs
  • trunk/eraser6/Eraser.Manager/Schedule.cs
  • trunk/eraser6/Eraser.Manager/Settings.cs
  • trunk/eraser6/Eraser.Manager/Task.cs
  • trunk/eraser6/Eraser.Util.FileSystem/AssemblyInfo.cpp
  • trunk/eraser6/Eraser.Util.FileSystem/Eraser.Util.FileSystem.rc
  • trunk/eraser6/Eraser.Util.FileSystem/Fat.h
  • trunk/eraser6/Eraser.Util.FileSystem/Fat12Api.cpp
  • trunk/eraser6/Eraser.Util.FileSystem/Fat12Or16Api.cpp
  • trunk/eraser6/Eraser.Util.FileSystem/Fat16Api.cpp
  • trunk/eraser6/Eraser.Util.FileSystem/Fat32Api.cpp
  • trunk/eraser6/Eraser.Util.FileSystem/FatApi.cpp
  • trunk/eraser6/Eraser.Util.FileSystem/FatApi.h
  • trunk/eraser6/Eraser.Util.FileSystem/Stdafx.cpp
  • trunk/eraser6/Eraser.Util.FileSystem/Stdafx.h
  • trunk/eraser6/Eraser.Util.Unlocker/AssemblyInfo.cpp
  • trunk/eraser6/Eraser.Util.Unlocker/Eraser.Util.Unlocker.cpp
  • trunk/eraser6/Eraser.Util.Unlocker/Eraser.Util.Unlocker.h
  • trunk/eraser6/Eraser.Util.Unlocker/Eraser.Util.Unlocker.rc
  • trunk/eraser6/Eraser.Util.Unlocker/Main.cpp
  • trunk/eraser6/Eraser.Util.Unlocker/NTApi.h
  • trunk/eraser6/Eraser.Util.Unlocker/Stdafx.cpp
  • trunk/eraser6/Eraser.Util.Unlocker/Stdafx.h
  • trunk/eraser6/Eraser.Util.Unlocker/Unlocker.cpp
  • trunk/eraser6/Eraser.Util.Unlocker/Unlocker.h
  • trunk/eraser6/Eraser.Util/AdvApi.cs
  • trunk/eraser6/Eraser.Util/BlackBox.cs
  • trunk/eraser6/Eraser.Util/File.cs
  • trunk/eraser6/Eraser.Util/KernelApi.cs
  • trunk/eraser6/Eraser.Util/Localisation.cs
  • trunk/eraser6/Eraser.Util/MsCorEEApi.cs
  • trunk/eraser6/Eraser.Util/NetApi.cs
  • trunk/eraser6/Eraser.Util/NTApi.cs
  • trunk/eraser6/Eraser.Util/NtfsApi.cs
  • trunk/eraser6/Eraser.Util/ShellApi.cs
  • trunk/eraser6/Eraser.Util/StreamInfo.cs
  • trunk/eraser6/Eraser.Util/SystemRestoreApi.cs
  • trunk/eraser6/Eraser.Util/UserApi.cs
  • trunk/eraser6/Eraser.Util/UxThemeApi.cs
  • trunk/eraser6/Eraser.Util/VolumeInfo.cs
  • trunk/eraser6/Eraser.Util/WintrustApi.cs
  • trunk/eraser6/Eraser/AboutForm.cs
  • trunk/eraser6/Eraser/AboutForm.Designer.cs
  • trunk/eraser6/Eraser/BasePanel.cs
  • trunk/eraser6/Eraser/BasePanel.Designer.cs
  • trunk/eraser6/Eraser/BlackBoxMainForm.cs
  • trunk/eraser6/Eraser/BlackBoxUploadForm.cs
  • trunk/eraser6/Eraser/LightGroup.cs
  • trunk/eraser6/Eraser/LightGroup.Designer.cs
  • trunk/eraser6/Eraser/LogForm.cs
  • trunk/eraser6/Eraser/LogForm.Designer.cs
  • trunk/eraser6/Eraser/MainForm.cs
  • trunk/eraser6/Eraser/MainForm.Designer.cs
  • trunk/eraser6/Eraser/Program.cs
  • trunk/eraser6/Eraser/ProgressForm.cs
  • trunk/eraser6/Eraser/ProgressForm.Designer.cs
  • trunk/eraser6/Eraser/SchedulerPanel.cs
  • trunk/eraser6/Eraser/SchedulerPanel.Designer.cs
  • trunk/eraser6/Eraser/Settings.cs
  • trunk/eraser6/Eraser/SettingsCompatibility.cs
  • trunk/eraser6/Eraser/SettingsPanel.cs
  • trunk/eraser6/Eraser/SettingsPanel.Designer.cs
  • trunk/eraser6/Eraser/TaskDataSelectionForm.cs
  • trunk/eraser6/Eraser/TaskDataSelectionForm.Designer.cs
  • trunk/eraser6/Eraser/TaskPropertiesForm.cs
  • trunk/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • trunk/eraser6/Eraser/ToolBar.cs
  • trunk/eraser6/Eraser/ToolBar.Designer.cs
  • trunk/eraser6/Eraser/UpdateForm.cs
  • trunk/eraser6/Eraser/UpdateForm.Designer.cs
  • trunk/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • trunk/eraser6/Installer/Bootstrapper/Bootstrapper.h
  • trunk/eraser6/Installer/Bootstrapper/Bootstrapper.rc
  • trunk/eraser6/Installer/Bootstrapper/Main.cpp
  • trunk/eraser6/Installer/Bootstrapper/Resource.h
  • trunk/eraser6/Installer/Bootstrapper/stdafx.cpp
  • trunk/eraser6/Installer/Bootstrapper/stdafx.h
  • trunk/eraser6/Installer/DirectoryStructure.wxs
  • trunk/eraser6/Installer/Eraser.wxs
  • trunk/eraser6/Installer/Localisations.wxs
  • trunk/eraser6/Installer/UserInterface.wxs
  • trunk/eraser6/ShellExt/CtxMenu.cpp
  • trunk/eraser6/ShellExt/CtxMenu.h
  • trunk/eraser6/ShellExt/DllMain.cpp
  • trunk/eraser6/ShellExt/DllMain.h
  • trunk/eraser6/ShellExt/DllMain.idl
  • trunk/eraser6/ShellExt/ShellExt.rc
  • trunk/eraser6/ShellExt/stdafx.cpp
  • trunk/eraser6/ShellExt/stdafx.h
  • trunk/eraser6/ShellExt/targetver.h
  • trunk/eraser6/Version.cs.in
  • trunk/eraser6/Version.rc.in
  • trunk/eraser6/Version.wxs.in

Updated copyright information: since Eraser is still under development we should update our copyright status.

06:23 Changeset [1674] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Util/StreamInfo.cs

Forward port from Eraser 6.0: When we check for errors upon opening a file stream to test for existence, if we get a sharing violation the file definitely does exist. Fixes FileLoadException? thrown when users try to erase a file in which a file is open.

06:16 Changeset [1673] by lowjoel
  • branches/eraser6/6.0/Eraser.Util/StreamInfo.cs

When we check for errors upon opening a file stream to test for existence, if we get a sharing violation the file definitely does exist. Fixes FileLoadException? thrown when users try to erase a file in which a file is open.

06:14 Build of Eraser 6 [1669] on Windows completed
06:10 Build of Eraser 6.2 [1670] on Windows completed
06:02 Changeset [1672] by lowjoel
  • trunk/website/scripts/blackbox/upload.php
  • Fixed parsing of stack frames after changing the regex
  • Include the very first stack frame - comparing int to string caused the string 'exception' to be cast to int 0, hence the equality was true and the comparison skipped for element 0
05:18 Changeset [1671] by lowjoel
  • trunk/website/scripts/blackbox/upload.php

Fixed parsing of stack frames with non-English locales.

04:57 Ticket #316 (Eraser causes lag when running) closed by Joel
fixed: The user has confirmed that this patch causes Eraser to run properly in …
04:57 Changeset [1670] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Manager/EntropySource.cs

Forward port from Eraser 6.0: Removed NtQuerySystemInformation? calls for entropy gathering since .NET calls seem to cause the system to go berserk. Fixes #316: Eraser causes lag when running

04:55 Changeset [1669] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/EntropySource.cs

Removed NtQuerySystemInformation? calls for entropy gathering since .NET calls seem to cause the system to go berserk. Fixes #316: Eraser causes lag when running

04:12 Changeset [1668] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Manager/ProgressManager.cs

Fixed ArgumentOutOfRangeException? when erasing free space using an erasure method containing more than 1 pass.

  • Added checks to the ProgressManager? class to ensure that the Progress property will never exceed 1.0
  • When computing the total amount of data needed to be written to the disk, take into account the number of passes.
03:46 Changeset [1667] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/TaskPropertiesForm.cs

Forward port from Eraser 6.0: Fixed crash when task is edited and the task is immediately run: editing the task drops the Task property in ErasureTarget? objects. This fix will restore the Task property by removing and re-adding the target upon edit.

03:43 Changeset [1666] by lowjoel
  • branches/eraser6/6.0/Eraser/TaskPropertiesForm.cs

Fixed crash when task is edited and the task is immediately run: editing the task drops the Task property in ErasureTarget? objects. This fix will restore the Task property by removing and re-adding the target upon edit.

03:36 Changeset [1665] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

Forward port from Eraser 6.0: Start a new logging session the moment we fetch the task of the task list. This allows errors to be logged even when the Task Started event is broadcast (as sometimes exceptions may be thrown). This fixes crashes where exceptions are thrown during the Task Started event processing goes on.

03:32 Changeset [1664] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs

Start a new logging session the moment we fetch the task of the task list. This allows errors to be logged even when the Task Started event is broadcast (as sometimes exceptions may be thrown). This fixes crashes where exceptions are thrown during the Task Started event processing goes on.

03:05 Changeset [1663] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.Manager/Task.cs

Backport from Trunk: Fixed regression in r1102: the check on Exists ensures that the DirectoryNotFoundException? will not be raised -- however, it doesn't guard against UnauthorizedAccessException?, so we should be guarding against that instead.

03:01 Changeset [1662] by lowjoel
  • trunk/eraser6/Eraser.Manager/Task.cs

Fixed regression in r1102: the check on Exists ensures that the DirectoryNotFoundException? will not be raised -- however, it doesn't guard against UnauthorizedAccessException?, so we should be guarding against that instead.

02:44 Changeset [1661] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

Ignore all ThreadAbortExceptions? from BlackBox? Report creation since these exceptions aren't raised by us.

02:42 Changeset [1660] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/LogForm.cs
  • trunk/eraser6/Eraser/ProgressForm.cs

Forward Port from Eraser 6.0: When dealing with the LogForm? and the ProgressForm? classes, for events in which we wait for triggering by the task object, we should check that the form we belong to exists (i.e. not disposed) before we do anything on the form since forms which have Disposed() called will still receive events. There is a fix removed in this revision (in ProgressForm?.cs/WrapItemName) which may introduce new bugs but since this is really hard to reproduce I'll commit a blind fix and wait for more reports to come in.

02:35 Changeset [1659] by lowjoel
  • branches/eraser6/6.0/Eraser/LogForm.cs
  • branches/eraser6/6.0/Eraser/ProgressForm.cs

When dealing with the LogForm? and the ProgressForm? classes, for events in which we wait for triggering by the task object, we should check that the form we belong to exists (i.e. not disposed) before we do anything on the form since forms which have Disposed() called will still receive events. There is a fix removed in this revision (in ProgressForm?.cs/WrapItemName) which may introduce new bugs but since this is really hard to reproduce I'll commit a blind fix and wait for more reports to come in.

02:04 Ticket #320 (Logging improvements) created by Joel
The logger is currently very involved when doing logging -- we need to …
01:34 Changeset [1658] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Manager/FileSystem.cs

Forward port from Eraser 6.0: Fixed IOExeption when erasing files with decoy files selected and with space constraints. The decoy will only be copied as much as the original file.

1/24/2010:

00:00 Ticket #302 (Eraser 6 (all version that I've tested) will not start on XP (but v5.8.8 ...) closed by trac-robot
This ticket was closed automatically by the system. It was previously set …

1/23/2010:

18:10 Build of Eraser 6.2 [1657] on Windows completed
14:33 Changeset [1657] by aramacciotti
  • trunk/eraser6/Eraser/Eraser.csproj

Some italian localisation files added

14:29 Changeset [1656] by aramacciotti
  • trunk/eraser6/Eraser/BlackBoxUploadForm.Designer.cs
  • trunk/eraser6/Eraser/BlackBoxUploadForm.it.resx
  • trunk/eraser6/Eraser/BlackBoxUploadForm.resx

Italian translation

12:17 Changeset [1655] by aramacciotti
  • trunk/eraser6/Eraser/SchedulerPanel.Designer.cs
  • trunk/eraser6/Eraser/SchedulerPanel.it.resx
  • trunk/eraser6/Eraser/SchedulerPanel.resx

Group items italian localisation

12:15 Changeset [1654] by aramacciotti
  • trunk/eraser6/Eraser/BlackBoxMainForm.Designer.cs
  • trunk/eraser6/Eraser/BlackBoxMainForm.it.resx
  • trunk/eraser6/Eraser/BlackBoxMainForm.resx

Italian localisation

06:21 Build of Eraser 6.2 [1652] on Windows completed
06:16 Build of Eraser 6 [1653] on Windows completed
03:45 Changeset [1653] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/FileSystem.cs

Fixed IOExeption when erasing files with decoy files selected and with space constraints. The decoy will only be copied as much as the original file.

03:20 Changeset [1652] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

Change of behaviour for 6.2: Erasing files or folders that don't exist is no longer an error.

02:28 Changeset [1651] by lowjoel
  • trunk/eraser6/Eraser.Util/BlackBox.cs

Fixed infinite loop when there is an InnerException? member in an exception thrown.

02:26 Changeset [1650] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs

Forward port from Eraser 6.0: Fixed IOException thrown when users erase the root of a drive (since we can't move the root of drives nor set its attributes)

02:24 Changeset [1649] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Windows.cs

Fixed IOException thrown when users erase the root of a drive (since we can't move the root of drives nor set its attributes)

00:00 Ticket #298 (Eraser has stopped working" popup on Vista 32) closed by trac-robot
This ticket was closed automatically by the system. It was previously set …

1/22/2010:

12:15 Build of Eraser 6 [1643] on Windows completed
12:10 Build of Eraser 6.2 [1644] on Windows completed
07:13 Changeset [1648] by lowjoel
  • trunk/website/download.php

Properly redirect users to an error page when we do have errors.

07:11 Changeset [1647] by lowjoel
  • trunk/website/scripts/downloads.php
  • Fixed the computation of the absolute path when calling Build::InsertBuild?: the previous revision would either double-place an 'r' before the revision (so i'll be rr1640, for example)
  • Fixed the storage of installer files in the database, there's an extra 'r' in the file name.
07:01 Changeset [1646] by lowjoel
  • trunk/website/scripts/blackbox/upload.php

I shouldn't expect the presence of the English words "in" and "at" in stack traces since it's localised (gah!)

07:00 Changeset [1645] by lowjoel
  • trunk/website/scripts/downloads.php

The installer size must be computed from the real path, not the downloads-relative path.

06:54 Changeset [1644] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Manager/Strings.en.resx
  • trunk/eraser6/Eraser.Manager/Strings.it.resx
  • trunk/eraser6/Eraser.Manager/Strings.nl.resx
  • trunk/eraser6/Eraser.Manager/Strings.resx

Forward port from Eraser 6.0: Fixed crash when we try to close open handles and where no handles were found to match the file in use, leading to us doing a substring on a string which is blank.

06:51 Changeset [1643] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/6.0/Eraser.Manager/Strings.en.resx
  • branches/eraser6/6.0/Eraser.Manager/Strings.it.resx
  • branches/eraser6/6.0/Eraser.Manager/Strings.nl.resx
  • branches/eraser6/6.0/Eraser.Manager/Strings.resx

Fixed crash when we try to close open handles and where no handles were found to match the file in use, leading to us doing a substring on a string which is blank.

06:30 Changeset [1642] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/AboutForm.cs
  • trunk/eraser6/Eraser/Strings.en.resx
  • trunk/eraser6/Eraser/Strings.it.resx
  • trunk/eraser6/Eraser/Strings.NL.resx
  • trunk/eraser6/Eraser/Strings.resx

Forward port from Eraser 6.0: Fixed crash when user clicks on About dialog links but there was an error starting the process. This results in Process.Start throwing a Win32Exception which we now catch and show the error to the user.

06:26 Changeset [1641] by lowjoel
  • branches/eraser6/6.0/Eraser/AboutForm.cs
  • branches/eraser6/6.0/Eraser/Strings.en.resx
  • branches/eraser6/6.0/Eraser/Strings.it.resx
  • branches/eraser6/6.0/Eraser/Strings.NL.resx
  • branches/eraser6/6.0/Eraser/Strings.resx

Fixed crash when user clicks on About dialog links but there was an error starting the process. This results in Process.Start throwing a Win32Exception which we now catch and show the error to the user.

06:15 Build of Eraser 6 [1639] on Windows completed
06:10 Build of Eraser 6.2 [1640] on Windows completed
05:57 Changeset [1640] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/Program.cs

Forward port from Eraser 6.0: Fixed race condition when two instance of Eraser are started simultaneously. The first instance would have created the pipe which listens for commands, then creates the program window. The second instance would find the mutex created and connect to the pipe from the first instance. The first instance broadcasts the OnNextInstance? event, but the main thread is still in the constructor of the MainForm?. The program then has a NullReferenceException?. The new behaviour is to initialise the main window before the pipe listening for new instances are created. This also allows the OnInitInstance? event to abort the startup of the program.

05:54 Changeset [1639] by lowjoel
  • branches/eraser6/6.0/Eraser/Program.cs

Fixed race condition when two instance of Eraser are started simultaneously. The first instance would have created the pipe which listens for commands, then creates the program window. The second instance would find the mutex created and connect to the pipe from the first instance. The first instance broadcasts the OnNextInstance? event, but the main thread is still in the constructor of the MainForm?. The program then has a NullReferenceException?. The new behaviour is to initialise the main window before the pipe listening for new instances are created. This also allows the OnInitInstance? event to abort the startup of the program.

05:27 Changeset [1638] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Util/StreamInfo.cs
  • trunk/eraser6/Eraser.Util/VolumeInfo.cs

Forward port from Eraser 6.0: Fixed exception when the filesystem object being erased is non-existent (i.e. when a task for erasing a removable drive was created, drive was removed and task executed)

  • StreamInfo? will have the Exists property return false if the directory containing the stream is not found either (this was an oversight)
  • VolumeInfo? will not throw a COMException when the the path is not a reparse point and if the provided mountpoint is non-existent.
05:24 Changeset [1637] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/6.0/Eraser.Util/StreamInfo.cs
  • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

Fixed exception when the filesystem object being erased is non-existent (i.e. when a task for erasing a removable drive was created, drive was removed and task executed)

  • StreamInfo? will have the Exists property return false if the directory containing the stream is not found either (this was an oversight)
  • VolumeInfo? will not throw a COMException when the the path is not a reparse point and if the provided mountpoint is non-existent.
05:08 Changeset [1636] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/SchedulerPanel.cs

Forward port from Eraser 6.0: Fixed regression introduced in r1633, I removed the call to UXThemeApi.UpdateControlTheme? accidentally.

05:07 Changeset [1635] by lowjoel
  • branches/eraser6/6.0/Eraser/SchedulerPanel.cs

Fixed regression introduced in r1633, I removed the call to UXThemeApi.UpdateControlTheme? accidentally.

04:45 Changeset [1634] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/MainForm.cs
  • trunk/eraser6/Eraser/SchedulerPanel.cs

Forward port from Eraser 6.0: Fixed regression introduced in r1490 where CreateControl? was called in MainForm?. CreateControl? however does not create handles when the control is not visible (delayed creation.) Since only SchedulerPanel? needs to have a handle created, we'll force creation of the handle there. In addition, remove an unnecessary call to UXThemeApi.UpdateControlTheme?.

04:28 Changeset [1633] by lowjoel
  • branches/eraser6/6.0/Eraser/MainForm.cs
  • branches/eraser6/6.0/Eraser/SchedulerPanel.cs

Fixed regression introduced in r1490 where CreateControl? was called in MainForm?. CreateControl? however does not create handles when the control is not visible (delayed creation.) Since only SchedulerPanel? needs to have a handle created, we'll force creation of the handle there. In addition, remove an unnecessary call to UXThemeApi.UpdateControlTheme?.

01:27 Ticket #319 (Track the frequency of crash reports) created by Joel
Currently, crash reports with similar stack traces are ignored. In future, …
00:35 Changeset [1632] by lowjoel
  • trunk/website/scripts/downloads.php

Suggest the name of the download when it is requested, instead of the name of the file on disk.

00:30 Changeset [1631] by lowjoel
  • trunk/website/scripts/downloads.php
  • Optimized the selection algorithm for picking builds from the builds table
  • If we can't find a build by the given branch and revision, then we should throw an exception. The handling of new builds is now done in the Build::Get function
  • Define the Build::BuildExists? function to check whether a build exists/has been created
  • Build::InsertBuild? now accepts a path to the revision so it can accept files with the revision as its filename

1/21/2010:

13:36 Changeset [1630] by lowjoel
  • trunk/website/scripts/downloads.php
  • When checking the path to the file for local files they are prefixed by a ?, remove it
  • Fixed a few column/variable references which weren't fixed
  • Fixed paths to files, the path we needed was supposed to be relative
  • Slightly more accurate algorithm to maintain only three builds
10:16 Changeset [1629] by lowjoel
  • trunk/website/scripts/downloads.php

Call the "path" column in the builds table "branch" since that's what it is - the branch that the build is using. Also allow single installers with the revision of the file to be used as the download target

09:45 Build of Eraser 6.2 [1628] on Windows completed
08:53 Changeset [1628] by lowjoel
  • trunk/eraser6/Eraser.msbuild
  • trunk/eraser6/Installer/Installer.wixproj

Build the installers as a separate target in the msbuild project. Also removed the dependency on solution variables when building the WiX project.

03:02 Changeset [1627] by lowjoel
  • trunk/eraser6/Eraser.msbuild
  • trunk/eraser6/Eraser.sln

Disable building of the Installer project in the solution file for all configurations - the Installer project should always be manually built as it is dependent on files on multiple architectures. This ensures that the platform-agnostic managed assemblies are shared between builds to simplify assembly management and symbol management. Thus, to facilitate automatic building of the entire distribution, I've written an msbuild project file which will build the necessary binaries first, then package the binaries into MSIs.

02:59 Changeset [1626] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/PostDataBuilder.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs

Removed unnecessary using declarations and fixed a sharing violation with the PostDataBuilder? class (due to an undisposed stream which I used when getting the Boundary property.) Addresses #307: Eraser Updater restructuring and addresses #308: Upgrade BlackBox? to use the ProgressManager? classes

00:38 Changeset [1625] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
  • branches/eraser6/CodeReview/Eraser.Manager/Eraser.Manager.csproj

Updated the references to Eraser.Util.Native.vcproj

00:22 Changeset [1624] by lowjoel
  • branches/eraser6/CodeReview/Eraser.sln
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.FileSystem.rc
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Native.vcproj

Forgot to rename the C++ project to Native.

1/20/2010:

10:00 Ticket #281 (File is currently in use and cannot be removed) closed by trac-robot
This ticket was closed automatically by the system. It was previously set …
00:04 Ticket #318 (Allow resolutions to be passed to BlackBox reporters) created by Joel

1/19/2010:

13:00 Changeset [1623] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.cs

Strange, the OnGUIIdle event wasn't registered...

12:45 Changeset [1622] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs

Combine the progress and upload steps to the Upload function since compression of the report is strictly the task of the Report Uploader. Addresses #307: Eraser Updater restructuring

12:11 Build of Eraser 6.2 [1611] on Windows completed
11:00 Ticket #294 (Schedule Screen - Buttons required) closed by trac-robot
This ticket was closed automatically by the system. It was previously set …
09:28 Changeset [1621] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Strings.en.resx
  • branches/eraser6/CodeReview/Eraser/Strings.it.resx
  • branches/eraser6/CodeReview/Eraser/Strings.NL.resx
  • branches/eraser6/CodeReview/Eraser/Strings.resx

These strings have been moved to Eraser.Util.

09:23 Changeset [1620] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs

These strings cannot currently be translated as the Util library doesn't have a localisation library.

09:20 Changeset [1619] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/PostDataBuilder.cs

FormField? => PostDataField? and FormFileField? => PostDataFileField?

09:16 Changeset [1618] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/PostDataBuilder.cs
  • branches/eraser6/CodeReview/Eraser/Eraser.csproj

Document the PostDataBuilder? class.

  • Define the ContentType? property for us to get the content-type of the data
  • The Boundary property cannot be set once parts have been added to the object
09:06 Changeset [1617] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/PostDataBuilder.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs

Move the BlackBoxReportUploader? to the Eraser.Util assembly. Also move the MultipartFormDataBuilder? to Eraser.Util. Addresses #307: Eraser Updater restructuring

08:51 Changeset [1616] by lowjoel
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs

Use the Eraser.Util.ProgressManager? classes to calculate progress. Addresses #307: Eraser Updater restructuring

08:40 Changeset [1615] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/DbgHelp.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs

Fixed compilos introduced during merge of trunk to the CodeReview? branch. Addresses #317: Merge the BlackBox? branch

08:32 Ticket #317 (Merge the BlackBox branch) closed by Joel
fixed: NativeMethods class merged in r1614
08:31 Changeset [1614] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/DbgHelp.cs

Split the Eraser.Util.BlackBox?.NativeMethods? class to the Eraser.Util.NativeMethods? partial class. Addresses #317: Merge the BlackBox? branch

08:24 Changeset [1613] by lowjoel
  • branches/eraser6/CodeReview
  • branches/eraser6/CodeReview/Dependencies/ICSharpCode.SharpZipLib.dll
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.resx
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.resx
  • branches/eraser6/CodeReview/Eraser/Eraser.csproj
  • branches/eraser6/CodeReview/Eraser/MainForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser/MainForm.nl.resx
  • branches/eraser6/CodeReview/Eraser/MainForm.resx
  • branches/eraser6/CodeReview/Eraser/Program.cs
  • branches/eraser6/CodeReview/Eraser/Properties/Resources.Designer.cs
  • branches/eraser6/CodeReview/Eraser/Properties/Resources.resx
  • branches/eraser6/CodeReview/Eraser/Resources/BlackBox.png
  • branches/eraser6/CodeReview/Eraser/Strings.en.resx
  • branches/eraser6/CodeReview/Eraser/Strings.it.resx
  • branches/eraser6/CodeReview/Eraser/Strings.NL.resx
  • branches/eraser6/CodeReview/Eraser/Strings.resx
  • branches/eraser6/CodeReview/Installer/DirectoryStructure.wxs
  • branches/eraser6/CodeReview/Resources/Source/Icons/Nuke (Crash).psd

Forward ported changes to trunk (till r1611) to the CodeReview? branch. Addresses #317: Merge the BlackBox? branch

08:22 Ticket #317 (Merge the BlackBox branch) reopened by Joel
I have yet to merge the NativeMethods? class…
07:53 Ticket #317 (Merge the BlackBox branch) closed by Joel
fixed: Merged in r1611 and the branch was deleted in r1612
07:51 Changeset [1612] by lowjoel
  • branches/eraser6/BlackBox

Merged in r1611

07:45 Changeset [1611] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Dependencies/ICSharpCode.SharpZipLib.dll
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Util/BlackBox.cs
  • trunk/eraser6/Eraser.Util/Eraser.Util.csproj
  • trunk/eraser6/Eraser/BlackBoxMainForm.cs
  • trunk/eraser6/Eraser/BlackBoxMainForm.Designer.cs
  • trunk/eraser6/Eraser/BlackBoxMainForm.resx
  • trunk/eraser6/Eraser/BlackBoxUploadForm.cs
  • trunk/eraser6/Eraser/BlackBoxUploadForm.Designer.cs
  • trunk/eraser6/Eraser/BlackBoxUploadForm.resx
  • trunk/eraser6/Eraser/Eraser.csproj
  • trunk/eraser6/Eraser/MainForm.Designer.cs
  • trunk/eraser6/Eraser/MainForm.nl.resx
  • trunk/eraser6/Eraser/MainForm.resx
  • trunk/eraser6/Eraser/Program.cs
  • trunk/eraser6/Eraser/Properties/Resources.Designer.cs
  • trunk/eraser6/Eraser/Properties/Resources.resx
  • trunk/eraser6/Eraser/Resources/BlackBox.png
  • trunk/eraser6/Eraser/Strings.en.resx
  • trunk/eraser6/Eraser/Strings.it.resx
  • trunk/eraser6/Eraser/Strings.NL.resx
  • trunk/eraser6/Eraser/Strings.resx
  • trunk/eraser6/Installer/DirectoryStructure.wxs
  • trunk/eraser6/Resources/Source/Icons/Nuke (Crash).psd

Merged the BlackBox? branch to trunk. Completes #317: Merge the BlackBox? branch

07:26 Changeset [1610] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Localisation.cs

Use Assembly.LoadFrom? over Assembly.LoadFile? since LoadFrom? has slightly better behaviour in unique circumstances

05:28 Ticket #315 (Fix handling of corrupt crash reports) closed by Joel
fixed: Fixed in r1609
05:28 Changeset [1609] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

A few BlackBox? behavioural changes which should fix #315: Fix handling of corrupt crash reports

  • Crash Reports are named using UTC time
  • We will handle exceptions thrown during the creation of the error report. However, if we do not manage to even write a stack trace, then delete the whole report and abort generation of the report. This is supposed to deal with low-disk space events (which Eraser is good at triggering...)
  • Upon restart, if the Report cannot have its own stack trace loaded, indicative of an error deleting the incomplete report, an InvalidDataException? will be thrown and the report will delete itself (as unanticipated cleanup)
05:11 Changeset [1608] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

Always write the debug log, the screenshot, then the memory dump as that's the usual order for files in increasing size. This helps with situations where the disk is full. Addresses #315: Fix handling of corrupt crash reports

04:58 Ticket #317 (Merge the BlackBox branch) created by Joel
04:46 Changeset [1607] by lowjoel
  • branches/eraser6/CodeReview/Eraser.fxcop

Alright, apply FxCop? to all types inside the assembly, including internal types. Now we've got hundreds of warnings to slowly fix... in a patch in future, maybe.

04:43 Changeset [1606] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/SystemRestore.cs

The SystemRestore? class is generated by mgmtclassgen so ignore FxCop? warnings from it

04:39 Ticket #316 (Eraser causes lag when running) created by Joel
Eraser 6 causes some computers to be unusably slow. The current suspect is …
04:30 Changeset [1605] by lowjoel
  • branches/eraser6/CodeReview/CustomDictionary.xml

Defined new terms found in Util.

04:29 Changeset [1604] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Don't corrupt the GetLastError?() code when closing the SafeHandle? instance.

04:12 Changeset [1603] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.h

Fixed CA1823: Private fields were detected that do not appear to be accessed within the assembly.

04:09 Changeset [1602] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat12Or16Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat32Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/FatApi.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/FatApi.h

Fixed CA1801: Parameter 'info' of 'FatApi?.FatApi?(VolumeInfo?, Stream)' is never used. Remove the parameter or use it in the method body.

04:02 Changeset [1601] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
  • branches/eraser6/CodeReview/Eraser.Manager/Eraser.Manager.csproj
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Unlocker.vcproj
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser/Eraser.csproj

Define the CODE_ANALYSIS constant in debug builds so that System.Diagnostics.CodeAnalysis?.SuppressMessage? attributes get generated and FxCop? will silence those warnings.

03:56 Changeset [1600] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/ConsoleWindow.cs
  • branches/eraser6/CodeReview/Eraser.Util/Localisation.cs
  • branches/eraser6/CodeReview/Eraser.Util/Theming.cs

These warnings generated by FxCop? can be suppressed as the code has been verified and excluded.

03:55 Changeset [1599] by lowjoel
  • branches/eraser6/CodeReview/Eraser/ProgressForm.cs

Fix CA1822: Mark members as static

03:53 Changeset [1598] by lowjoel
  • branches/eraser6/CodeReview/Eraser/LogForm.cs
  • branches/eraser6/CodeReview/Eraser/Program.cs

Fixed CA1300 and CA1305: call the MessageBox?.Show overload that specifies MessageBoxOptions? and call string.Format(IFormatProvider, string, params object[]) instead to ensure proper localisation.

03:40 Changeset [1597] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

Fixed CA1308: Strings should be normalised to upper case.

03:38 Changeset [1596] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser/LogForm.cs

Fixed CA1804: Remove locals that are not used or are only assigned to in method implementations.

03:30 Changeset [1595] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

Renamed all identifier names which were changed in the previous few revisions to get the code to compile.

03:28 Changeset [1594] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/SettingsForm.cs
  • branches/eraser6/CodeReview/Eraser/AboutForm.cs

Ran FxCop? on all the assemblies

  • Fixed CA1822: Specify that a method is static if the this parameter is not used
  • Fixed CA1805: Do not initialise unnecessarily with null or 0
03:00 Changeset [1593] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Kernel.cs
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
02:51 Changeset [1592] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/File.cs

Fixed CA1704 : Microsoft.Naming : Correct the spelling of 'Filesize' in member name 'File.GetHumanReadableFilesize?(long)' or remove it entirely if it represents any sort of Hungarian notation. GetHumanReadableFilesize? => GetHumanReadableFileSize?. In addition, sizes use the next larger unit the moment it exists 1000 (to minimise the number of significant figures in the result)

02:49 Changeset [1591] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Localisation.cs

Fixed CA1704 : Microsoft.Naming : In method 'S._(string)', correct the spelling of 'str' in parameter name 'str' or remove it entirely if it represents any sort of Hungarian notation.

02:43 Changeset [1590] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Theming.cs

Fixed warning CA1800: Microsoft.Performance : 'control', a parameter, is cast to type multiple times in method 'Theming.ApplyTheme?(Control)'.

02:27 Changeset [1589] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/ProgressManager.cs

Fixed CA1034: Nested types should not be visible.

02:25 Changeset [1588] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/AdvApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/Security.cs

Removed UacEnabled? and its dependent declarations since no code uses it now.

02:16 Changeset [1587] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Oops, fixed compilo introduced in r1585

02:13 Changeset [1586] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Security.cs

Partly reverse-merged r1554 to fix CA1001 : Microsoft.Design : Implement IDisposable on 'CryptApi?' because it creates members of the following IDisposable types: 'SafeCryptHandle?'

01:29 Changeset [1585] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Fixed CA1404 : Microsoft.Interoperability: Move the call to GetLastWin?32Error so that it immediately follows the relevant platform invoke call. Addresses #284: Eraser.Util rewrite

01:16 Changeset [1584] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/ConsoleWindow.cs
  • branches/eraser6/CodeReview/Eraser.Util/File.cs
  • branches/eraser6/CodeReview/Eraser.Util/ProgressManager.cs
  • branches/eraser6/CodeReview/Eraser.Util/Theming.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Fixed a few FxCop? warnings:

00:48 Changeset [1583] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Kernel.cs
  • branches/eraser6/CodeReview/Eraser.Util/Security.cs

Use the System.Diagnostics.Process.Handle member instead of calling GetCurrentProcess?() from Kernel32. Addresses #284: Eraser.Util rewrite

00:40 Changeset [1582] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Unlocker.vcproj
  • branches/eraser6/CodeReview/ShellExt/ShellExt.vcproj

Fixed inconsistent paths in the OutputDir? property for C++ projects - it resulted in double backslashes.

1/18/2010:

23:12 Changeset [1581] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.cs

Check that we *have* positional arguments in the first place before verifying that the first one is the same as the first raw one.

10:54 Ticket #315 (Fix handling of corrupt crash reports) created by Joel
In the case of no free disk space a BlackBox? crash report may not be …
10:50 Changeset [1580] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.ConsoleProgram.cs

"Press any key to continue" not "Press enter to continue" is what Pause does in the system console.

10:48 Changeset [1579] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.cs

Reviewed the indentation in the Help message and also reviewed the content accuracy of the help message.

10:36 Changeset [1578] by lowjoel
  • branches/eraser6/CodeReview/Installer/DirectoryStructure.wxs

Forgot to include CommonLibrary? in our installer.

10:28 Changeset [1577] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Volumes and MountedVolumes? properties of VolumeInfo? should have try-finally blocks around the handles we open so the handles are always closed.

10:19 Changeset [1576] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
  • branches/eraser6/CodeReview/Eraser.Util/Win32ErrorCodes.cs

Throw an IOException when we can't access a given file instead of a FileLoadException? since FileLoadExceptions? are for assemblies which don't load properly. Addresses #284: Eraser.Util rewrite

07:48 Changeset [1575] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/PRNG.cs

Remove an unnecessary unsafe function.

07:42 Changeset [1574] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Removed an unnecessary unsafe function

07:37 Changeset [1573] by lowjoel
  • branches/eraser6/CodeReview/Installer/DirectoryStructure.wxs

Deal with the combination of the FileSystem? and Unlocker assemblies for the installer.

07:31 Changeset [1572] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/Eraser.Manager.csproj
  • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/ProgressManager.cs
  • branches/eraser6/CodeReview/Eraser/ProgressForm.cs
  • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

Moved the ProgressManager? classes to Eraser.Util. Addresses #284: Eraser.Util rewrite

07:21 Changeset [1571] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/SettingsForm.cs
  • branches/eraser6/CodeReview/Eraser/AboutForm.cs
  • branches/eraser6/CodeReview/Eraser/LogForm.cs
  • branches/eraser6/CodeReview/Eraser/MainForm.cs
  • branches/eraser6/CodeReview/Eraser/ProgressForm.cs
  • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
  • branches/eraser6/CodeReview/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/CodeReview/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

Fixed the references to UXThemeApi.UpdateControlTheme? (to Theming.ApplyTheme?.) Addresses #284: Eraser.Util rewrite

07:17 Changeset [1570] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Util/ConsoleWindow.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
  • branches/eraser6/CodeReview/Eraser/Program.ConsoleProgram.cs

Compilo fixes from 1552 to 1569 after the huge reshuffling

07:11 Changeset [1569] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Kernel.cs
  • branches/eraser6/CodeReview/Eraser.Util/SystemInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Moved the DiskPerformanceInfo? class to the VolumeInfo? class and that's how we can query volumes for performance information. Addresses #284: Eraser.Util rewrite

06:53 Changeset [1568] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/SystemInfo.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

Make the remainder of the KernelApi? class to be SystemInfo? since that best describes the functionality of the class. Addresses #284: Eraser.Util rewrite

06:49 Changeset [1567] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/ConsoleWindow.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/KernelApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Kernel.cs

Split the ConsoleWindow? class out of the KernelApi? class since it manages the lifetime of a ConsoleWindow?. Addresses #284: Eraser.Util rewrite

06:41 Changeset [1566] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs
  • branches/eraser6/CodeReview/Eraser.Util/File.cs
  • branches/eraser6/CodeReview/Eraser.Util/KernelApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/Security.cs
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/Win32ErrorCodes.cs
  • branches/eraser6/CodeReview/Eraser/Program.cs

Moved KernelApi?.GetHRForWin32Error and GetExceptionForWin?32Error to the Win32ErrorCode class

06:18 Changeset [1565] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/SystemRestore.cs

SystemRestoreApi?.cs => SystemRestore?.cs (since this isn't really an API)

06:17 Changeset [1564] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/File.cs
  • branches/eraser6/CodeReview/Eraser.Util/NTApi.cs

Moved NtApi?.NtQueryInformationFile? to File.GetFileADSes since that was the only caller of this function.

06:16 Changeset [1563] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/RecycleBin.cs

Replaced the ShellApi? class with the RecycleBin? class (since ShEmptyRecycleBin? was the only remaining member of the class) Addresses #284: Eraser.Util rewrite

06:12 Build of Eraser 6.2 [1533] on Windows completed
06:11 Changeset [1562] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/KernelApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/Power.cs

Move the SetThreadExecutionState? function to the Power class. Addresses #284: Eraser.Util rewrite

06:02 Changeset [1561] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/File.cs

Compilo.

06:01 Changeset [1560] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/File.cs
  • branches/eraser6/CodeReview/Eraser.Util/KernelApi.cs

The File Time APIs should belong to the Eraser.Util.File static class

05:59 Changeset [1559] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/KernelApi.cs

Move Get/SetFileTimes? together with the FileTimeToDateTime/DateTimeToFileTime? functions

05:53 Changeset [1558] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/UxTheme.cs
  • branches/eraser6/CodeReview/Eraser.Util/Theming.cs

Reviewed and renamed UxThemeApi? => Theming.

05:46 Changeset [1557] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Gdi.cs

Compilo: The class should be in the Eraser.Util namespace, not the NativeMethods? namespace.

05:45 Changeset [1556] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/UxThemeApi.cs

Document the ThemesActive? property of the UXThemeApi class

05:41 Changeset [1555] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Gdi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/UxTheme.cs

Factored out the SelectObject? function which belongs in Gdi.cs

05:38 Changeset [1554] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Security.cs
  • branches/eraser6/CodeReview/Eraser.Util/UxThemeApi.cs

Reviewed the SafeHandle? classes which we subclass. Also, don't implement IDisposable for CryptApi? since we use a global static instance. Addresses #284: Eraser.Util rewrite

05:34 Changeset [1553] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Plugins.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Settings.cs
  • branches/eraser6/CodeReview/Eraser.Util/WintrustApi.cs

Compilo fixes after r1552.

05:32 Changeset [1552] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Plugins.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/MsCorEEApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/Security.cs

Combined the functions in AdvApi?, MsCorEEApi and WintrustApi? to Security.cs

05:23 Changeset [1551] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/Win32ErrorCodes.cs
  • branches/eraser6/CodeReview/Eraser/Program.cs

Replace all ERROR_* constants with the Win32ErrorCodes class (to be more descriptive.) Addresses #284: Eraser.Util rewrite

04:59 Changeset [1550] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Fixed StreamInfo?.cs and VolumeInfo?.cs to compile after the NativeMethods? refactor. Addresses #284: Eraser.Util rewrite

04:58 Changeset [1549] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Sfc.cs

Compilo.

04:51 Changeset [1548] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/File.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Sfc.cs

Reviewed File.cs to get it to compile after the NativeMethods? refactor. Create a new file Sfc.cs for SfcIsFileProtected?. Addresses #284: Eraser.Util rewrite

04:45 Changeset [1547] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/UxThemeApi.cs

Cleaned up the UXThemeApi.ThemeMessageFilter? class.

04:44 Changeset [1546] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.FileSystem

Removed the Eraser.Util.FileSystem? assembly.

04:43 Changeset [1545] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/UxThemeApi.cs

Fixed the string to use a . instead of a , at the end of the exception message.

04:42 Changeset [1544] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Kernel.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/NtDll.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/UxTheme.cs
  • branches/eraser6/CodeReview/Eraser.Util/NTApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NtfsApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/UxThemeApi.cs

Move more stuff to the NativeMethods? definitions

04:19 Changeset [1543] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/AdvApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/KernelApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/MsCorEEApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/AdvApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Kernel.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/MsCorEE.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/NetApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/NtDll.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Shell.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/User.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/UxTheme.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/WinTrust.cs
  • branches/eraser6/CodeReview/Eraser.Util/NetApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NTApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NtfsApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/ShellApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/UserApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/UxThemeApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/WintrustApi.cs

Moved all the NativeMethods? declarations to the NativeMethods? folder with filenames equal to the DLL the functions import from. Addresses #284: Eraser.Util rewrite

03:42 Changeset [1542] by lowjoel
  • branches/eraser6/CodeReview/Eraser.sln

Add Eraser Native.vsprops to our solution files.

03:41 Changeset [1541] by lowjoel
  • branches/eraser6/CodeReview/Eraser Native.vsprops
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Unlocker.vcproj
  • branches/eraser6/CodeReview/Installer/Bootstrapper/Bootstrapper.vcproj
  • branches/eraser6/CodeReview/ShellExt/ShellExt.vcproj

Use Eraser Native.vsprops to specify that the VC runtimes which we bind to should be the SP1 ones.

03:27 Changeset [1540] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.h

Change the OpenHandle? struct to be a ref class instead, since that's more appropriate (as a reference type)

03:24 Changeset [1539] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
  • branches/eraser6/CodeReview/Eraser.Manager/Eraser.Manager.csproj
  • branches/eraser6/CodeReview/Eraser.sln
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.FileSystem.rc
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Unlocker.vcproj
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat.h
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat12Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat12Or16Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat16Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat32Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/FatApi.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/FatApi.h
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.h
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.NameResolver.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Stdafx.h

Moved Eraser.Util.FileSystem? to the Eraser.Util.Native assembly.

03:08 Changeset [1538] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Unlocker.vcproj
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.NameResolver.h

Forgot to rename Unlocker.h

03:05 Changeset [1537] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/AssemblyInfo.cpp

Updated AssemblyInfo? for Eraser.Util.Native

03:04 Changeset [1536] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Unlocker.vcproj
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.h
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.NameResolver.cpp

Rename the Eraser.Util.Native files to OpenHandle? since I will be merging the filesystem files next

02:52 Changeset [1535] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/Eraser.Manager.csproj
  • branches/eraser6/CodeReview/Eraser.sln
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Native.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Native.h
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Native.rc
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Unlocker.vcproj
  • branches/eraser6/CodeReview/Eraser.Util.Native/Unlocker.cpp

Blind Eraser.Util.Unlocker = >Eraser.Util.Native

02:46 Changeset [1534] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native

Addreses #284: Eraser.Util rewrite. I'm going to merge the Eraser.Util.Filesystem assembly into the Eraser.Util.Unlocker assembly and call it Eraser.Util.Native.

02:43 Changeset [1533] by lowjoel
  • trunk/eraser6

Added bug tracker integration for TortoiseSVN

1/16/2010:

01:22 Ticket #314 (German translation string res.) created by BloodySword
German translation string res.

1/15/2010:

04:23 Changeset [1532] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs

Removed an unnecessary unsafe method declaration.

04:22 Changeset [1531] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/WintrustApi.cs

Reviewed the use of AllocHGlobal and found that this one could leak memory.

04:19 Changeset [1530] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/KernelApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Replaced the call to Marshal.AllocHGlobal to use the managed StringBuilder? class for automatic buffer marshalling. Addresses #284: Eraser.Util rewrite

03:58 Ticket #313 (ArgumentException when erasing files on network shares) created by Joel
See source:/trunk/eraser6/Eraser.Util/VolumeInfo.cs line 188 …
02:08 Changeset [1529] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Strings.en.resx
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Strings.it.resx
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Strings.nl.resx
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Strings.resx
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/ExtensionMethods
  • branches/eraser6/CodeReview/Eraser.Util/ExtensionMethods/IO.cs

Combined the WindowsFileSystem?'s DeleteFolder? and DeleteFile? methods to the DeleteFileSystemInfo? method, which prevents code duplication and ensures consistent behaviour when deleting "files". Addresses #275: Code review.

02:04 Ticket #312 (Verify Reparse point behaviour) created by Joel
Verify the deletion of a drive root and mount point
01:41 Changeset [1528] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/Executor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Plugins.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Settings.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
  • branches/eraser6/CodeReview/Eraser.Util/File.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
  • branches/eraser6/CodeReview/Eraser/TaskDataSelectionForm.cs

Replaced all ICollection references to IList, where applicable. More often than not, the return variables were indeed ILists. Addresses #275: Code review

1/14/2010:

13:21 Changeset [1527] by lowjoel
  • branches/eraser6/CodeReview/Eraser/LogForm.cs
  • branches/eraser6/CodeReview/Eraser/MainForm.cs
  • branches/eraser6/CodeReview/Eraser/ProgressForm.cs
  • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

No need to create new EventHandler? objects, since what we are doing is disambiguating the functions. Addresses #275: Code Review

10:58 Changeset [1526] by lowjoel
  • branches/eraser6/CodeReview/Eraser/LogForm.cs

Reviewed the LogForm? class. Addresses #275: Code Review

  • Renamed the class member variables to be CapitalCase?, as standard
  • The SelectedEntries? variable is now a SortedList?<int, LogEntry?> for easier comprehension of the code - the value type of object made it non-obvious as to the purpose of the variable
  • Optimised the following functions:
    • copySelectedEntriesToolStripMenuItem_Click
    • log_ItemActivate
10:57 Ticket #311 (Use Jumplists in Windows 7) created by BloodySword
Let the user choose whenever he wants to use the eraser shell extension or …
10:55 Changeset [1525] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.cs

Being perfectionist about the order of the using directives.

10:33 Ticket #310 (Customizable Shell Extension) created by BloodySword
I have an Idea to improve the usabillity quite a bit: …
09:57 Changeset [1524] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.ConsoleProgram.cs
  • branches/eraser6/CodeReview/Eraser/Program.cs

The addtask command now works. Addresses #275: Code Review

  • Store Positional arguments in the Program.ConsoleArguments? class so we can access them later. This also allows us to remove the Program.ImportTaskListArguments? class
  • The addtask command now takes targets as non-argument parameters, so they no longer start with -- or /.
  • Throw an ArgumentException? when the command line fails to parse properly in the Program.ConsoleProgram?.Run function
06:15 Build of Eraser 6.2 [1518] on Windows completed
05:30 Changeset [1523] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.ConsoleProgram.cs
  • branches/eraser6/CodeReview/Eraser/Program.cs

First compilable version of the new Program class. The ConsoleProgram? actions have been moved back to the Program class to separate the support code from the actual "action" code. Command line parsing is seriously broken, however. Addresses #275: Code Review

03:34 Changeset [1522] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.cs

Define the Program.Arguments class which serves as an object to bind command line arguments to. The GUI code uses that class to decide whether to queue tasks meant for restart as well as to handle the quiet command line option. Addresses #275: Code Review

03:25 Ticket #309 (Remove the SettingsCompatibility classes) created by Joel
This is meant for beta=>6.0 transitions and can be removed from trunk.
03:19 Changeset [1521] by lowjoel
  • branches/eraser6/CodeReview/Dependencies/CommonLibrary.dll
  • branches/eraser6/CodeReview/Dependencies/CommonLibrary.pdb
  • branches/eraser6/CodeReview/Eraser/Eraser.csproj
  • branches/eraser6/CodeReview/Eraser/Program.ConsoleProgram.cs
  • branches/eraser6/CodeReview/Eraser/Program.cs
  • branches/eraser6/CodeReview/Eraser/Program.GuiProgram.cs

Split the huge Program.cs file to separate (sub)classes. Addresses #275: Code Review

01:05 Changeset [1520] by lowjoel
  • branches/eraser6/BlackBox/Installer/DirectoryStructure.wxs

Very blind fix to include the ICSharpCode.SharpZipLib?.dll assembly required by BlackBox?.

00:56 Changeset [1519] by lowjoel
  • branches/eraser6/CodeReview

Start with the CodeReview? branch, to address #275 and its related tickets.

00:53 Changeset [1518] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/SettingsPanel.cs

Forward-ported the Eraser 6.0 branch to trunk, up to r1517.

When removing files from the Plausible Deniability decoys list the files were never really removed.
Addresses #297: Files / folders listed in "....plausible deniablility" area are reshown after deleting when re-started eraser

00:11 Build of Eraser 6 [1517] on Windows completed

1/13/2010:

23:56 Changeset [1517] by lowjoel
  • branches/eraser6/6.0/Eraser/SettingsPanel.cs

When removing files from the Plausible Deniability decoys list the files were never really removed.
Addresses #297: Files / folders listed in "....plausible deniablility" area are reshown after deleting when re-started eraser

16:02 LocalisingEraser edited by aramacciotti
(diff)
15:34 LocalisingEraser edited by aramacciotti
(diff)
15:33 LocalisingEraser edited by aramacciotti
(diff)
09:25 Changeset [1516] by lowjoel
  • branches/eraser6/SpeedMeter

Finished with the SpeedMeter? branch

09:16 Ticket #272 (Remove IsFat12 from Fat12Or16Api) closed by Joel
wontfix: Now, why did I want to do this? The function works as advertised and …
06:13 Build of Eraser 6.2 [1515] on Windows completed
04:32 Ticket #308 (Upgrade BlackBox to use the ProgressManager classes) created by Joel
Trunk has the Generic Speed Meter (#90) changes merged into it in r1515. …
04:29 Ticket #90 (Generic speed meter) closed by Joel
fixed: Branch merged in r1515. Task has been completed.
04:29 Changeset [1515] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Manager/Eraser.Manager.csproj
  • trunk/eraser6/Eraser.Manager/ProgressManager.cs
  • trunk/eraser6/Eraser.Manager/Task.cs
  • trunk/eraser6/Eraser/ProgressForm.cs
  • trunk/eraser6/Eraser/SchedulerPanel.cs
  • trunk/eraser6/Eraser/Strings.en.resx
  • trunk/eraser6/Eraser/Strings.it.resx
  • trunk/eraser6/Eraser/Strings.NL.resx
  • trunk/eraser6/Eraser/Strings.resx
  • trunk/eraser6/Eraser/UpdateForm.cs

Merged the SpeedMeter? branch to trunk. Fixes #90: Generic speed meter

03:32 Changeset [1514] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs

Fixed crash in the SteppedProgressManager? because the lock object was created after the list causing the list to reference a null object as a lock.

03:26 Changeset [1513] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser/ProgressForm.cs

Fixed a crash when we query the progress of the task when the ProgressForm? is created.

03:21 Changeset [1512] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs
  • branches/eraser6/SpeedMeter/Eraser.Manager/Task.cs
  • branches/eraser6/SpeedMeter/Eraser/ProgressForm.cs
  • branches/eraser6/SpeedMeter/Eraser/SchedulerPanel.cs

Defined the standard callback prototype. We have our own ProgressChangedEventArgs?, modelled after the System.ComponentModel?.ProgressChangedEventArgs?, and likewise, a similar handler interface.

02:11 Ticket #307 (Eraser Updater restructuring) created by Joel
The Eraser Updater classes are really messy. Redesign the APIs for doing …
02:06 Changeset [1511] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser/UpdateForm.cs

Did some code cleanup in the UpdateManager? class, simultaneously migratng to the ProgressManager? classes for progress calculations.

1/12/2010:

08:05 Changeset [1510] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs

Thread-safe the ChainedProgressManager? classes by locking the task list before modifying or accessing them. This may introduce lock contention performance penalties but we'll stick with this first (fix it with a writer lock afterward if it turns out to be a performance bottleneck.) The ProgressManager? class is not locked at all since it deals with integers only.

07:52 Changeset [1509] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser/ProgressForm.cs
  • branches/eraser6/SpeedMeter/Eraser/Strings.en.resx
  • branches/eraser6/SpeedMeter/Eraser/Strings.it.resx
  • branches/eraser6/SpeedMeter/Eraser/Strings.NL.resx
  • branches/eraser6/SpeedMeter/Eraser/Strings.resx

Factor out the progress updating code to a separate function because upon construction of the form we can already query the task for progress

07:30 Changeset [1508] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/DirectExecutor.cs

-Mistake: when cluster tip erasures are enabled the main bulk is 90% of the entire target, not the other way around
-Deal with shrinking disk space properly: the total amount of data that needs writing is the amount written so far and the available free space at the point in time. This deals with shrinking and growing space used on system drives better
-Always mark the step complete when we are done with the step so that the SteppedProgressManager? will be able to give the correct CurrentStep?

06:09 Changeset [1507] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser/ProgressForm.cs
  • branches/eraser6/SpeedMeter/Eraser/Strings.en.resx
  • branches/eraser6/SpeedMeter/Eraser/Strings.it.resx
  • branches/eraser6/SpeedMeter/Eraser/Strings.NL.resx
  • branches/eraser6/SpeedMeter/Eraser/Strings.resx

When displaying the estimated amount of time left to finish the target round the values to seconds (since the new algorithm is accurate down to ticks)

06:08 Changeset [1506] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs

Tolerate some margin of error when checking the total weights in the SteppedProgressManager?

05:49 Changeset [1505] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs

-Replaced the ProgressManagerBase?.Start function with a Restart function: Starting is now implicit in the construction of the progress object, Restart() will reset the starting time to reset the speed information.
-Fixed computation of progress for file erasures (would lead to weights amounting more than 1)
-Fixed scope of the Target Progress object when doing filesystem erasures

05:40 Changeset [1504] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs

Fixed a few behaviours in the ProgressManager? classes:
-for ProgressManager?, if the Total field is zero, always return 0 for progress (prevents division by zero)
-for SteppedProgressManager?, the Speed property is dependent on the CurrentStep? property; if that is null, the speed should be zero.
-for SteppedProgressManager?, the TimeLeft? property is dependent on the StartTime? of the task, if it is invalid, the TimeLeft? property will now return TimeSpan?.MinValue?
-for SteppedProgressManager?, the CurrentStep? property will return the last completed step if all the steps have been completed

03:02 Changeset [1503] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.en.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.it.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.nl.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Task.cs
  • branches/eraser6/SpeedMeter/Eraser/ProgressForm.cs

Current revision finally compiles.
-Instead of having a separate class for stepped progress handlers, it occurred to me that when nesting we may not be nesting a SteppedProgressManagerStep? (e,g, the Task is a SteppedProgressManager? but the steps are not: they are SteppedProgressManagers? in their own right) so instead hold the step information in an external structure (SteppedProgressManager?.Step)
-Fixed the foreach loops in the ParallelProgressManager?.
-I wanted to get rid of the TaskProgressEventArgs? class, but looks like it can't be removed since certain things (like pass index and current file name) cannot be conveyed in the ProgressManager? classes.
-The OnProgressChanged? event for the Task object will have the currently running erasure target as the sender instead of the task
-The old abstract Progress field in the ErasureTarget? has been replaced with a simple variable (for now, just for convenience)

01:26 Changeset [1502] by lowjoel
  • branches/eraser6/SpeedMeter
  • branches/eraser6/SpeedMeter/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/SpeedMeter/Eraser.Manager/Eraser.Manager.csproj
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.en.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.it.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.nl.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Task.cs
  • branches/eraser6/SpeedMeter/Eraser/ProgressForm.cs
  • branches/eraser6/SpeedMeter/Eraser/SchedulerPanel.cs

Initial commit to start the SpeedMeter? branch. The original ProgressManager? classes in DirectExecutor?.cs have been extracted out into its own source file ProgressManager?.cs which defines a standard ProgressManagerBase? class. There are now a class which manage the simple completed/total measurement of progress, a class which computes the overall progress of a few stepped subtasks, as well as a class which computes the overall progress of a few independent tasks running in parallel.

1/11/2010:

14:40 Ticket #306 (Do not erase immediately after drag and drop) created by clutterbuck
With version 5 after dragging files or folders into the Eraser window I …
13:24 Ticket #305 (Eraser will not run when "Default eraser method is "First/Last16KB") closed by Joel
duplicate: Duplicate of #290; fixed in r1483.
12:41 Ticket #305 (Eraser will not run when "Default eraser method is "First/Last16KB") created by dmurgy
Eraser will not run when "Default eraser method is "First/Last?16KB" I …
12:12 Build of Eraser 6.2 [1501] on Windows completed
07:15 Changeset [1501] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.Designer.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.resx

-Remove the Pass Number header title and leave it blank, the increasing sequence should be obvious enough
-Consequently, expand the Pass Data column

06:56 Changeset [1500] by lowjoel
  • trunk/eraser6/Eraser.Util/UxThemeApi.cs

Set the FlatStyle? of abstract buttons to System so that Vista/7 fading visuals can be used (we don't ownerdraw anyway)

06:46 Changeset [1499] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.Designer.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.resx

Use drag&drop to order passes instead of the clumsy move up/move down buttons.

06:23 Build of Eraser 6 [1494] on Windows completed
06:14 Build of Eraser 6.2 [1498] on Windows completed
04:31 Ticket #304 (Silently ignore selected cluster tip erase failures) created by Joel
Certain files will never succeed in erasing their cluster tips (such as …
04:21 Ticket #295 (Tasks name excessive when alot of files selected to be removed in one go) closed by Joel
fixed
03:56 Changeset [1498] by lowjoel
  • trunk/eraser6/Eraser.Manager/Strings.en.resx
  • trunk/eraser6/Eraser.Manager/Strings.it.resx
  • trunk/eraser6/Eraser.Manager/Strings.nl.resx
  • trunk/eraser6/Eraser.Manager/Strings.resx
  • trunk/eraser6/Eraser.Manager/Task.cs

Well, in the task it may not be another number of files, it could be an unused space erasure -- thus, call it targets, not files.

03:52 Changeset [1497] by lowjoel
  • trunk/eraser6/Eraser.Manager/Strings.en.resx
  • trunk/eraser6/Eraser.Manager/Strings.it.resx
  • trunk/eraser6/Eraser.Manager/Strings.nl.resx
  • trunk/eraser6/Eraser.Manager/Strings.resx
  • trunk/eraser6/Eraser.Manager/Task.cs

fixes #295: Tasks name excessive when alot of files selected to be removed in one go

The new behaviour is to list only the file name bit (ignoring the full path), and listing all only if there are less than 5 entries. After the task contains 5 or more targets, we will only use the file names of the first, the median and the last element, followed by the number of other targets not included in the summary.

02:44 Changeset [1496] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Manager/Strings.en.resx
  • trunk/eraser6/Eraser.Manager/Strings.it.resx
  • trunk/eraser6/Eraser.Manager/Strings.nl.resx
  • trunk/eraser6/Eraser.Manager/Strings.resx
  • trunk/eraser6/Eraser.Util/Eraser.Util.csproj
  • trunk/eraser6/Eraser.Util/SystemRestoreApi.cs

-Check whether System Restore is enabled when the unused space erasure is run -- this will warn users to ensure that the erasure does indeed get rid of all traces of their files.
-Add periods at the end of error messages for consistency.

01:03 Changeset [1495] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodPassEditor.Designer.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodPassEditor.resx
  • trunk/eraser6/Eraser.DefaultPlugins/SettingsForm.cs
  • trunk/eraser6/Eraser.DefaultPlugins/Strings.en.resx
  • trunk/eraser6/Eraser.DefaultPlugins/Strings.it.resx
  • trunk/eraser6/Eraser.DefaultPlugins/Strings.nl.resx
  • trunk/eraser6/Eraser.DefaultPlugins/Strings.resx
  • trunk/eraser6/Eraser/MainForm.cs
  • trunk/eraser6/Eraser/SchedulerPanel.cs
  • trunk/eraser6/Eraser/SettingsPanel.cs
  • trunk/eraser6/Eraser/UpdateForm.cs

Forward-port r1486 through r1494 to trunk.

01:00 Ticket #303 (Verify Eraser's UI in high DPI mode) created by Joel
- The BlackBox? dialogues require verification. - The About dialog needs …
00:55 Changeset [1494] by lowjoel
  • branches/eraser6/6.0/Eraser/SettingsPanel.cs

Simplified Decoy Files removal algorithm.

1/10/2010:

12:15 Build of Eraser 6 [1493] on Windows completed
08:36 Changeset [1493] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodEditorForm.cs

addresses #285: Various Custom Erasure Method editor bugs
-When adding a pass with a pass currently selected, add it after the selected pass.
-When duplicating passes, save the currently selected one before duplication (so both get the new data.)
-When unselecting passes, unset the currentPass member variable.

08:26 Changeset [1492] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.Designer.cs

Oops, these should have a copyright notice.

08:23 Changeset [1491] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.Designer.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.resx

addresses #285: Various Custom Erasure Method editor bugs
-When there's an error displaying the pass constant as UTF-8 text, restore the radio button to the Hexadecimal radio button before displaying the message.
-Check that the pass constant is non-empty only when the entire control is validated, as switching between text and hex should allow blank constants.
-Clear the error icon once the constant editor has been validated.

1/9/2010:

13:58 Ticket #302 (Eraser 6 (all version that I've tested) will not start on XP (but v5.8.8 ...) created by Hilbert
12:10 Build of Eraser 6 [1490] on Windows completed
08:39 Changeset [1490] by lowjoel
  • branches/eraser6/6.0/Eraser/MainForm.cs
  • branches/eraser6/6.0/Eraser/SchedulerPanel.cs
  • branches/eraser6/6.0/Eraser/SettingsPanel.cs

Changed the implement of the "page" concept - the old method used the removal and addition of pages to one panel; this caused disruptions in the window hierarchy (which causes NullReferenceExceptions? e.g. in SchedulerPanel?.cs: SchedulerPanel?.task_TaskFinished) The new design adds all pages at the start, and hides and displays pages when switched to them, also ensuring correct focus by using the z-order of Controls.

As such, UXThemeApi.UpdateControlTheme?(this) needn't be called by the SchedulerPanel? nor the SettingsPanel? class since they're now children of MainForm?. Fixes NullReferenceException? experienced by users who use the context menu to erase files/folders.

06:15 Build of Eraser 6 [1489] on Windows completed
04:10 Changeset [1489] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.en.resx
  • branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.it.resx
  • branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.nl.resx
  • branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.resx

New strings introduced in r1487.

04:10 Changeset [1488] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/SettingsForm.cs

Fixed crash when editing a pass that was temporary created in the same Settings session. Also, when editing a pass, be sure to update the passes list-view control.

04:09 Changeset [1487] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.cs

-Be able to do the right thing when an empty input is passed in the pass constant editor (do not case an argument exception in the parser and display a useful error message to the user)
-Only check for embedded nulls in the pass constant when we are trying to convert the data to UTF-8 text

1/8/2010:

23:28 Ticket #301 (TasksPropertiesForm.cs defaults to Italian language when open in VS 2008) closed by Joel
wontfix: That's fine, since the language can be changed anytime you want :)
19:39 Ticket #301 (TasksPropertiesForm.cs defaults to Italian language when open in VS 2008) created by dmurgy
When you have downloaded the source via SVN and you open up the …
19:33 Ticket #300 (Tasks - Information log entries for start / end) created by dmurgy
It would be good to have an informational task log entry for the start and …
11:44 Ticket #299 (Don't run the Eraser process in the background) created by canfe
When I use eraser 6 a "tsr" icon, near the clock, appear. Eraser 5.8.8 …
07:27 Ticket #298 (Eraser has stopped working" popup on Vista 32) created by dallascowboy99
Hello Joel Heard good stories about eraser, but finally when it comes …
06:19 Build of Eraser 6 [1486] on Windows completed
02:47 Changeset [1486] by lowjoel
  • branches/eraser6/6.0/Eraser/UpdateForm.cs

Fixed updates which download from the Eraser website (i.e. those of the form download.php?id=X; use the content-disposition header to get a suggested filename so ShellExecute? can do the "right thing."

Note: See TracTimeline for information about the timeline view.