This commit tries to improve the quality of the screenshots that we do get posted in JIRA,
where we couldn't even see up to now which build and arch was run.
This is in the wider context of CORE6762
(I intentionally left out the minus in the CORE-ID to prevent auto-linkage to that ticket)
When the Int 13h AH=42h "Extended read" function fails, the disk address
packet's LBA block count is reset to the number of blocks that have been
successfully transferred. This is more or less fine, unless one wants to
ensure the exact number of sectors gets read.
If the function fails so that zero sectors were read, the retry loop is
restarted, but with the packet's LBA block count member reset, as per
the documentation. (In this example, it is reset to zero.) Then, at the
next retry attempt, zero sectors are requested to be read, and this time
of course, the call succeeds... Wrongly, of course, this is not what's
expected.
Therefore, for each retry, the LBA block count member should be set
again to the correct number of sectors to read. There are maximum 3
retries, so the retry loop will stop anyway, but the LBA read will now
correctly fail and return FALSE, as expected.
This problem doesn't exist in the retry loop for the Int 13h, AH=02h
"Read Disk Sectors" CHS function, because here, the call is made only
using registers, and we use a pair of RegsIn/RegsOut. RegsOut receives
the modified register values, but the input RegsIn stays unchanged.
For reference, see the cdfs/cd.h RAW_ISO_VD structure.
Each of the old "VolumeSetSize", "VolumeSequenceNumber" and "LogicalBlockSize"
ULONG fields actually correspond to pairs of USHORT fields:
"VolumeSetSizeL" and "VolumeSetSizeM", etc., where the "L" one contains
the value in little-endian format, while the "M" one contains the same
value in big-endian format.
Additionally, use UCHARs for the character arrays.
Create the section with PAGE_READWRITE, not PAGE_EXECUTE_READWRITE and map in user mode with PAGE_READONLY, not PAGE_EXECUTE_READ.
Original commit was ea5261f in 2006. The comments suggest that back then the heap code had issues with it, which is not the case anymore.
- Delete CAppRichEdit::SetWelcomeText() and move its implementation
inside CAppInfoDisplay::SetWelcomeText().
- Make CAppInfoDisplay::SetWelcomeText() select a suitable text,
depending on normal mode or APPWIZ mode.
- IDS_WELCOME_TITLE: Remove the double \n\n from the resources,
and add them programmatically instead.
The count makes sense only in normal mode, where we can select many apps
for bulk-install.
Split the IDS_APPS_COUNT string into it and IDS_APPS_SELECT_COUNT, and
append the number of selected apps only when we aren't in APPWIZ mode.
- Only the "Installed/Applications/Updates" items are shown.
- Delete the "Settings" item in the "File" menu.
- Remove unnecessary toolbar buttons: ID_INSTALL, ID_CHECK_ALL, ID_RESETDB.
- gui.cpp CMainWindow::ProcessWindowMessage():
Forbid the "Install" tree-view section to collapse.
However, there is currently a bug in Wine's comctl32, which ignores
the value returned from the TVN_ITEMEXPANDING notification handler
to control the collapse/expansion behaviour.
https://bugs.winehq.org/show_bug.cgi?id=53727
As a result, this feature doesn't work in ReactOS yet.
As it currently is, it doesn't provide much useful information.
It will be re-enabled later when we support other columns ("Publisher",
"Size", "Installed on", ...) and the possibility to show/hide columns.