• last updated 6 hours ago
Constraints: committers
Constraints: files
Constraints: dates

- Simplify SHELL32_CoCreateInitSF by letting the callers fill the PERSIST_FOLDER_TARGET_INFO. This lets us stop using _ILSimpleGetTextW in it which breaks the logic that pidls should be read only by their shell folder. Also add an overload for SHELL32_CoCreateInitSF that makes it simpler to create a shell folder with a csidl.

- Add a SHELL32_BindToSF helper to share some logic that was duplicated in several shell folders.

- Move SHELL32_GetCustomFolderAttributeFromPath, SHELL32_GetCLSIDForDirectory and SHELL32_GetFSItemAttributes, SHELL32_BindToFS to CFSFolder.cpp as these were fs specific.

- These changes give finer control to shell folders for how the bind will be done and shares more logic that can be shared.

    • -7
    • +10
    • -252
    • +28

- Add DsMergeForestTrustInformationW stub.

- Implement DsGetForestTrustInformationW.


Add DsGetSiteNameA/W, DsGetForestTrustInformationW and DsMergeForestTrustInformationW prototypes to dsgetdc.h.

    • -0
    • +30
    • -6
    • +49
    • -2
    • +2

-Fixed a memory leak issue.

-Apparently Tested in xpvm.

-Needs further testing.


-Apparently fixed some memory leaks.

-Removed unnecessary methods.

-Fixed a checkmark bug. :p

-And thus finished any remaining issues of CR-122.

CR-122 (https://code.reactos.org/cru/CR-122#details)

PS: Please raise any other issues which you feel needs correction. I am waiting... ;D


-Removed CWindowImpl

-Added CWindow

-Used OnWinEvent() instead of subclassing

-Handled WM_COMMAND and WM_NOTIFY as needed

-Now along with buttons chevron menu is also working

CR-122 (https://code.reactos.org/cru/CR-122#details)

PS: Thank you everyone for spending your time and giving a thorough review. :)


- few changes to stably load the driver onto windows 2003 server edition.


[USERINIT]: Use a real horizontal line for the separator line in the userinit livecd pages.

CORE-13528 #resolve

  1. … 12 more files in changeset.

- Return Set if managed, part of CORE-12888.

    • -0
    • +3

- Part of CORE-13110. Set DC window rectangle and pointer.

    • -15
    • +7

- Sync/Port Wine Enhanced/Metafile code. This is a fix for CORE-12888.

- Wine made this difficult to port and keep the whole file unchanged for syncing.

    • -11
    • +25
    • -0
    • +570
    • -2
    • +15
    • -52
    • +477

- added dprints to all the xhci functions.

- some fixes suggested in code review.

- have written interrupt code (rudimentary).


[NTFS] - Fix some formatting / style issues, per CR-123.
[SHELL32] -Remove IShellView_Constructor and CDefView_Constructor. Use SHCreateShellFolderView and SHCreateShellFolderViewEx instead.
    • -7
    • +41
[NTFS] - Add a few fixes and improvements, most from CR-123:

-Add ATTR_RECORD_ALIGNMENT define to replace magic value of 8 when we need to adjust an attribute's beginning or length.

-Don't use int's.

-GetPackedByteCount() - Remove unused "bytes" variable.


Apply a consistent style to all similar functions:

- Spoolss functions don't necessarily set ERROR_SUCCESS. Check the boolean return value instead and only query the error code on failure.

- Use AlignRpcPtr and UndoAlignRpcPtr wherever feasible.

- Use one static function per level that can be called from both Get* and Enum* APIs.

- Use PackStrings in all functions that return structures with strings.

- Add TRACEs to all non-static functions in localspl.

- Pass a double pointer to all Marshalling functions and advance to the next structure there.

- Perform sanity checks and return the right error codes in a Windows-compatible way.

- Return TRUE when an Enum* API has no elements to enumerate.

Also fixes CORE-12793

  1. … 4 more files in changeset.

- Implement RxFinalizeConnection(), RxOrphanSrvOpens()

- Stub RxOrphanSrvOpensForThisFcb()


- Fix a bug in RxCommonDevFCBClose() where prefix table wasn't acquire exclusively; this was problematic due to potential prefix table removal on dereference

- Stub RxCancelNotifyChangeDirectoryRequestsForVNetRoot()

This commit basically allows you to delete a NFS share you would have made use of in ReactOS.

Like net use z: \\share\path can be deleted through net use /delete z:

Note that if you access the share using cmd tools (dir, copy, more, and so on), dismount will work.

If you attempt to access with Explorer, then, handles will be kept open and dismount will fail.



    • -0
    • +6
    • -12
    • +12
    • -0
    • +5
    • -0
    • +1
    • -0
    • +237

Import Wine commit:

- 26192671700360859cd8a0133dabcd96ec1a786b, Implement WNetConnectionDialog().


    • -3
    • +11
[NTFS] - Add some fixes and improvements to mft.c from CR-123:

FindAttribute() - Use * sizeof(WCHAR) in place bit-shifting wizardry.

IncreaseMftSize() - Remove two useless casts. Return error code if WriteAttribute() fails.

SetNonResidentAttributeDataLength() - Assert that AttrContext parameter describes a NonResident attribute. When migrating a resident attribute to non-resident, don't leak memory if FsRtlInitializeLargeMcb() throws an exception, and don't mark the attribute as non-resident until after the Mcb is initialized.

InternalSetResidentAttributeLength() and SetResidentAttributeLength() - Assert that AttrContext parameter describes a resident attribute.

AddNewMftEntry() - Simplify math of backing up and restoring reserved bits by changing BitmapData to PUCHAR type. Don't attempt to modify a volume with more than 2^32 clusters.

AddFixupArray() - Use ULONG in place of int.

[NTFS] - Add some fixes and improvements to finfo.c from CR-123:

NtfsSetEndOfFile() - Make fileNameAttribute and filename variables uppercase. Don't leak FileRecord if we can't truncate the file. Don't leak memory if there's no FileName attribute.

[WELCOME]: UI improvements:

- Allow only one running instance of the Welcome application at a time.

- Implement translating \xhhhh hexadecimal character specifications in topic text descriptions.

- Allow using the keyboard for navigating amongst the topics, and ENTER key presses to run the selected topic command.

<rant> *OF COURSE*, because we are ReactOS *SO* we are *buggy* (well, user32/win32k), keyboard navigation via arrow keys *DOES NOT WORK*!! (only navigation via TAB key do work) 8^(((( </rant>

This however works OK on Windows.

- Improve topic buttons activation when mouse hovers around above the window, as well as when window activation is lost or regained.

- Change the default text font to Tahoma.

- Don't hardcode white brush, but instead use stock object WHITE_BRUSH. Similarly, don't hardcode text black colour, but instead use the ambient text colour of the system.

- Add keyboard shortcuts to the default topic items.

- Shift the window ID of both the checkbox and the Exit buttons to be below a fixed topic-button base ID.

- In GetLocaleName(), use more explicit returned-variable names (cchRet, because it's a returned string length in character numbers).

    • -5
    • +5
    • -5
    • +5
    • -5
    • +5
    • -5
    • +5
    • -3
    • +3
    • -5
    • +5
    • -5
    • +5
    • -5
    • +5
    • -5
    • +5
    • -5
    • +5
    • -5
    • +5
    • -5
    • +5
    • -5
    • +5
    • -5
    • +5
    • -5
    • +5
  1. … 15 more files in changeset.
[NTFS] - Add some fixes and improvements to create.c, dirctl.c and fcb.c from CR-123:

-NtfsOpenFile() - Replace an ExFreePool() with ExFreePoolWithTag().

-NtfsCreateFile() - Fix broken cast with BooleanFlagOn() macro.

-NtfsAddFilenameToDirectory() - Remove an extra cast. Return an error if we fail to allocate I30IndexRoot.

-NtfsGetNextPathElement(), NtfsWSubString(), NtfsGetFCBForFile() - Use PCWSTR in place of const PWCHAR or PWCHAR where it makes sense.

[NTFS] - Add some fixes and improvements to btree.c from CR-123:

-CompareTreeKeys() - Assert that the first key isn't the dummy key.

-CreateIndexRootFromBTree() - Assert that CurrentKey->IndexEntry->Length isn't 0.

-DumpBTreeKey() - Use sizeof(WCHAR) in place of magic 2.

-NtfsInsertKey() - Check for allocation failure of NewKey.

[NTFS] - Add some fixes and improvements to attribute.c from CR-123:

-AddFileName() - Don't use dedicated buffer for FileNameNoPath, just point into FileObject->FileName's buffer. Don't use RtlCopyUnicodeString(), just update pointers.

-AddRun() - Fix an SEH2_YIELD with missing return statement.

-FreeClusters() - Use ULONG_MAX in place of 0xffffffff.

-NtfsDumpIndexRootAttribute() - Use consistent UpperCase naming convention. Use BooleanFlagOn() macro where appropriate. Replace magic 8 with sizeof(ULONGLONG).

-GetFileNameAttributeLength() - Add documentation.

[NTFS] - Fix UpdateFileNameRecord() when the file being updated resides in $INDEX_ROOT. Also, don't attempt to read beyond size of index root attribute, and check return value after reading.
[NTFS] - Fix AddFileName() when the file path is two or more directories deep.

-Added en-US.rc

-Localized Menu resource.

-Added a string table and localized some strings.

-Major fixes like removing IDeskBar.

-Minor suggestions fixed.

CR-122 (https://code.reactos.org/cru/CR-122#details)

PS: Thank you everyone for spending your time and giving a thorough review. :)


- Sync with Wine main head 2017-07-03.

[USER32_APITEST] Add tests to validate the messages sent during MDI window creation. CORE-12052

The test passes from 2k3 - 10.

    • -0
    • +481
[REACTOS]: Introduce the experimental all-in-one ReactOS BootCD, containing both the text-mode 1st-stage installer and the LiveCD functionality with the 1st-stage GUI installer.

Our separate LiveCD ISOs become obsolete, and this completely remove the need for the so-called "hybridcd" ISO.

Some details:

- the "hybridcd" build target is completely removed, since now the new BootCD *is* basically what we used to call "hybridcd";

- the "livecd" build target is kept so far (to minimize the code changes), but internally I start to refer to it as "LiveImage", and it is reduced to a minimum: currently a minimal non-bootable "liveimage.iso"

is built in order to implement the "ReactOS Live in RAMDISK" functionality (we currently don't support other file formats apart from ISO and flat disk for a RAMDISK), while the "ReactOS Live" (non-RAMDISK)

is implemented by adding to the BootCD file tree the files from the LiveImage. These files add two root directories, "Profiles" and "reactos" (the SystemRoot for the non-ramdisk LiveImage).

- The minimal text-mode ReactOS installation used during the 1st-stage text-mode installer, including USETUP itself and the executable for the 1st-stage GUI installer and the reactos.cab (installation source) are moved

to the root directory called "i386" (ideally, one directory per architecture).

- the "bootcdregtest" target, i.e. the ISOs we feed our testbots with, are left untouched, i.e. they are only constituted of the 1st-stage text-mode installation, in the root directory named "reactos".

More details will be presented in a subsequent mail to the ros-dev mailing list.


-Refactors and some code fixes (like CComHeapPtr, IID_PPV_ARG, _countof, etc.).

-Minor suggestions fixed.

CR-122 (https://code.reactos.org/cru/CR-122#details)

SelfNote: Should check if CComHeapPtr is overused! ;p