Commit graph

60051 commits

Author SHA1 Message Date
Amine Khaldi 395dc9ef1f [W32KDLL_APITESTS] Properly handle ASM files. Also use set_module_type() instead of manually setting the entry point.
svn path=/trunk/; revision=65615
2014-12-12 13:17:16 +00:00
Amine Khaldi 51fa01cea7 [SHIMGVW] Fix DLL stubs, intended to fix a crash on Windows. Patch by Ricardo Hanke.
CORE-8073 #resolve #comment Committed in r65614. Thanks!

svn path=/trunk/; revision=65614
2014-12-12 13:08:59 +00:00
Pierre Schweitzer 5bf209a1aa [NTFS]
Ach! Wir können noch nicht mit dem ID öffnen!

So far, bail out when we are requested to open a file with its MFT index instead of its name.
nfi triggers this a lot. Likely to be implemented ;-)

CORE-8725 

svn path=/trunk/; revision=65613
2014-12-11 22:15:49 +00:00
Pierre Schweitzer 00abdbc36f [NTFS]
My dear Pierre, in FSCTL_GET_NTFS_FILE_RECORD, you have METHOD_BUFFERED (yes, read well ;-)).
So if you want it to work, you HAVE to return the size of the data you wrote to the output buffer...
This makes FSCTL_GET_NTFS_FILE_RECORD finally working in ReactOS...

nfi.exe finally goes a bit farther, displays some files names and dies. Definitely still needs love.

CORE-8725

svn path=/trunk/; revision=65612
2014-12-11 21:58:45 +00:00
Giannis Adamopoulos 4b301b04e1 [EXPLORER]
* Use LoadLibrary instead of GetModuleHandle in the wrapper of WinList_Init.
* Shdocvw was never loaded till that point so WinList_Init was not called.
* Should fix Opening link location in windows.

svn path=/trunk/; revision=65611
2014-12-11 21:18:36 +00:00
Ziliang Guo c960788a1d [SHIMGVW]
Implement rotation of images, but does not save changes or warn of quality loss.
CORE-7567

svn path=/trunk/; revision=65610
2014-12-11 20:01:52 +00:00
Ziliang Guo 0188f94d85 [CORE-8302]
Fix aspect ratio calculation in shell image viewer. Patch by Ricardo Hanke.

svn path=/trunk/; revision=65609
2014-12-11 19:57:03 +00:00
Ziliang Guo cbc7920dbe [CORE-7737]
Implement browsing with the shell image viewer. Patch by Ricardo Hanke.

svn path=/trunk/; revision=65608
2014-12-11 19:52:47 +00:00
Ziliang Guo f758aece6f [SHIMGVW]
Fix tooltips for image viewer at least on Windows. Patch by Richardo Hanke.
CORE-7740 #resolve

svn path=/trunk/; revision=65607
2014-12-11 18:11:08 +00:00
Sylvain Petreolle 16c3dc3016 test
svn path=/trunk/; revision=65606
2014-12-11 18:00:21 +00:00
Giannis Adamopoulos 502f155b91 [EXPLORER]
- Simplify some code by using the IUnknown_ exports of shlwapi and using CComPtr.

svn path=/trunk/; revision=65605
2014-12-11 17:42:56 +00:00
David Quintana 71a780a54c Oops. That didn't happen.
svn path=/trunk/; revision=65604
2014-12-11 16:33:43 +00:00
David Quintana 4afe020ac6 [EXPLORER]
* Cleanup variable names and fix a few typos along the way.
* Refactor the start button code into a CStartButton class.
NOTE: There is a known regression with start button themeing, which I'm working on. The missing notification icons are not caused by this.
CORE-8898

svn path=/trunk/; revision=65603
2014-12-11 16:32:07 +00:00
Ziliang Guo e6979b9c26 [SHIMGVW]
Dynamically allocate the string for the file-type box. Patch by Ricardo Hanke.
CORE-7702 #resolve

svn path=/trunk/; revision=65602
2014-12-10 21:27:18 +00:00
Pierre Schweitzer 5e1a81a596 [NTFS]
Implement the downward fashion of FSCTL_GET_NTFS_FILE_RECORD and always return a file record which is in use
CORE-8725

svn path=/trunk/; revision=65601
2014-12-10 20:45:04 +00:00
Giannis Adamopoulos 7427f826d0 [EXPLORER]
* Simplify CreateStartMenu. Use CComPtr and IUnknown_SetSite.

svn path=/trunk/; revision=65600
2014-12-09 22:49:54 +00:00
Giannis Adamopoulos 50d056ca73 [EXPLORER]
* Make SetWindowStyle and SetWindowExStyle simple wrappers around SHSetWindowBits. There is no reason to reinvent the wheel.

svn path=/trunk/; revision=65599
2014-12-09 22:01:46 +00:00
Giannis Adamopoulos f8a69bddfb [EXPLORER]
* Remove dragdrop.cpp. It was never used.

svn path=/trunk/; revision=65598
2014-12-09 21:55:56 +00:00
Giannis Adamopoulos 8264611855 [EXPLORER]
* Import some undocumented functions directly instead of using GetProcAddress

svn path=/trunk/; revision=65597
2014-12-09 21:37:59 +00:00
Pierre Schweitzer 5503ce60e6 [NTOSKRNL]
THE oneliner....
Properly read the information from the IRP to get the reparse tag. This fixes the handling of reparse mount points in ReactOS.

To make it short and crystal clear: reparse points from NTFS now work in ReactOS.
Demonstration with a Windows 7 volume read inside ReactOS with our NTFS driver and the "Documents and Settings" directory pointing to Users.

IopDoNameTransmogrify() properly gets the reparse data and extracts the mount point:
(../../ntoskrnl/io/iomgr/file.c:178) IopDoNameTransmogrify(B074DB98, B022BC28, B0226068)
(../../ntoskrnl/io/iomgr/file.c:232) Old name: '\Documents and Settings\'
(../../ntoskrnl/io/iomgr/file.c:266) Reparsed name: '\??\C:\Users'

Then.... http://www.heisspiter.net/~Pierre/rostests/NTFS_Reparse.png
First, I attempt to open "Documents and Settings" on my NTFS volume, it fails as "C:\" drive is hardcoded in the reparse point.
So, I create the Users directory on C:\ and a dummy file in it.
Then, I cd again which works now.
And dir properly shows the dummy created file :-).

svn path=/trunk/; revision=65596
2014-12-09 21:33:38 +00:00
Pierre Schweitzer a98c9c1219 [NTOSKRNL]
Implement support reparse points in IofCompleteRequest()

svn path=/trunk/; revision=65595
2014-12-08 20:44:19 +00:00
Pierre Schweitzer 447fca27dc [NTFS]
Fix the implementation of the reparse point handling. This takes into account our $FILE_NAME attribute not being aware it's a reparse point...
We now fully get into Io and fail miserably as it seems I forgot one place where reparse points support has to be added.
D'oh!

svn path=/trunk/; revision=65594
2014-12-08 19:55:56 +00:00
Pierre Schweitzer 62f2a171cd [NTFS]
Fix a stupid copy paste error!

svn path=/trunk/; revision=65593
2014-12-08 19:51:55 +00:00
Pierre Schweitzer f94ebb610d [NTFS]
On FCB creation, merge file attributes from $FILE_NAME and from $STANDARD_INFORMATION
Not sure it's fully legal, but it allows us to catch them all!

svn path=/trunk/; revision=65592
2014-12-08 19:36:40 +00:00
Pierre Schweitzer a91d0a5297 [NTFS]
Implement GetStandardInformationFromRecord() which will return $STANDARD_INFORMATION attribute from a file record

svn path=/trunk/; revision=65591
2014-12-08 19:19:30 +00:00
Pierre Schweitzer 229c947271 [NTFS]
Complete a bit more the information dumped from attributes

svn path=/trunk/; revision=65590
2014-12-08 18:44:29 +00:00
James Tabor a4c82de831 [Shell32]
- Use a timeout to send WM_COPYDATA.
- Recall reading, while being sent to a thread that is hung indefinitely or blocked, it will not return properly. This seems to be the case for CORE-8779. Play it safe and use a timeout.

svn path=/trunk/; revision=65589
2014-12-08 17:10:02 +00:00
Pierre Schweitzer f9e8e07d32 [NTFS]
Do not forget to set IRP status block information in case of reparse point.

svn path=/trunk/; revision=65588
2014-12-08 07:35:45 +00:00
Eric Kohl ce3e70b717 [USETUP]
Show an indicator for active partitons in the partition list.

svn path=/trunk/; revision=65587
2014-12-07 22:28:12 +00:00
Pierre Schweitzer ebf69b050b [NTFS]
- Implement NtfsReadFCBAttribute() which is responsible for reading an attribute from a file which is referenced by its FCB. It will first read the file record in the MFT and then read the attribute, if found.
- Use NtfsReadFCBAttribute() to implement support for reparse point in NtfsCreateFile(). Once a reparse point is found, we attempt to open its data. Given their layout, we directly hand them to the Io manager. Just make sure that we return something consistent on disk. Only handle IO_REPARSE_TAG_MOUNT_POINT so far.
Next question to answer is: what to do when a reparse point is encountered during path traversal?

svn path=/trunk/; revision=65586
2014-12-07 20:59:45 +00:00
Pierre Schweitzer 0ee87ef80a [NTOSKRNL]
Addendum to r65584: don't forget to commit the header~

svn path=/trunk/; revision=65585
2014-12-07 18:02:04 +00:00
Pierre Schweitzer 70c4b88da1 [NTOSKRNL]
Implement support for (some) reparse points in Io manager. Ob should be already fine.
- Implement the IopDoNameTransmogrify() function. This one is responsible for checking the correct data for the reparse point and to update the path name in the file object. It will also free the memory buffer allocated by the driver to communicate the reparse information.
- Fix the support for reparse points in IopCompleteRequest(). If we receive reparse status + reparse tag we know, we call IopDoNameTransmogrify() to update file objet.
- Fix the support for reparse points in IopParseDevice() (oh! you again? :-)). When we complete the IRP ourselves, act as in IopCompleteRequest(). Then, we properly update objects manipulated by Io for the create request and we return STATUS_REPARSE so that Ob can update and recall us afterwards so that we complete.
Some parts are left unimplemented when it comes to reparse tags which are not IO_REPARSE_TAG_MOUNT_POINT. But still less than previously ;-).

svn path=/trunk/; revision=65584
2014-12-07 17:59:58 +00:00
Aleksandar Andrejevic 0dca6fd8ed [SHELL32:ICONS]
Replace the old "My Computer" icon with a new one.
New icon by: Ismael Ferreras Morezuelas.
CORE-8890 #resolve #comment Committed in revision r65583. Thanks!


svn path=/trunk/; revision=65583
2014-12-07 17:53:08 +00:00
Pierre Schweitzer 8d0ae10798 [BUGCODES]
Add bug check code 0xF9 DRIVER_RETURNED_STATUS_REPARSE_FOR_VOLUME_OPEN
Ref: http://msdn.microsoft.com/en-us/library/windows/hardware/ff560396%28v=vs.85%29.aspx

svn path=/trunk/; revision=65582
2014-12-07 16:54:27 +00:00
Pierre Schweitzer 5296d62877 [NTFS]
Implement NtfsFsdDeviceControl()


svn path=/trunk/; revision=65581
2014-12-07 14:16:13 +00:00
Pierre Schweitzer 14863b54d6 [NTFS]
Allow direct opening of a reparse point, but don't handle yet reparse itself

svn path=/trunk/; revision=65580
2014-12-07 14:05:47 +00:00
Pierre Schweitzer ce76daabd9 [NTFS]
Implement NtfsFCBIsReparsePoint() which returns true in case current FCB is a reparse point

svn path=/trunk/; revision=65579
2014-12-07 13:30:13 +00:00
Giannis Adamopoulos c3c85103f2 [EXPLORER]
- Add accelerator table for the taskbar. It is unused for now.

svn path=/trunk/; revision=65578
2014-12-07 11:07:51 +00:00
Daniel Reimer aa00cb3f4c [OSK]
Update keyboard layout to become bigger, text fitting in the buttons and bein easier to use Part 2/2
+ small fixes.

svn path=/trunk/; revision=65577
2014-12-07 01:33:46 +00:00
Hermès Bélusca-Maïto a177c84557 [OSK]: Add a better keyboard icon, copied from cpl/main/resources/keyboard.ico (it's keyboard tango icon). Pointed by swyter.
svn path=/trunk/; revision=65576
2014-12-06 19:58:28 +00:00
Daniel Reimer 132efe4c54 [OSK]
Update keyboard layout to become bigger, text fitting in the buttons and bein easier to use Part 1/2

svn path=/trunk/; revision=65575
2014-12-06 19:47:03 +00:00
Daniel Reimer 2ce1352fc8 Rule #1 of today: If you steal from resources... then at least steal from the most fitting one in layout matters...
[OSK]
Fix german layout by moving the "#" button where it should be and adding the "<" button next to "Y"

svn path=/trunk/; revision=65574
2014-12-06 13:43:55 +00:00
Daniel Reimer b0d6a110ef [OSK]
- Forgot to translate some hidden text ^^
- Add a less brownish ROS icon based on our favicon file.

svn path=/trunk/; revision=65573
2014-12-06 13:25:50 +00:00
Daniel Reimer d833e6777c [OSK]
- Add german resource file.
- Convert all others to UTF-8.
- Add manifest file and modify DOIALOG to DIALOGEX + changing default font to MS Shell Dlg. Hello themed keyboard ^^
TBD: Sizes are WAY too small IMO...

svn path=/trunk/; revision=65572
2014-12-06 13:08:48 +00:00
Sylvain Petreolle 2805f84806 [SHUTDOWN]
Remove useless check.

svn path=/trunk/; revision=65571
2014-12-06 11:33:31 +00:00
Hermès Bélusca-Maïto a381da464a [OSK]
- Fix some coding style (whitespace): this is not win32k!!
- Remove unneeded headers.

svn path=/trunk/; revision=65569
2014-12-05 22:09:10 +00:00
James Tabor e86551f057 [OSK]
- Add On Screen Keyboard to base applications. See CORE-7279 #resolved.

svn path=/trunk/; revision=65568
2014-12-05 21:43:00 +00:00
David Quintana 63a134ffc1 [BROWSEUI]
* Make the CBandSiteMenu class actually insert the Toolbars menu, even if it's not yet implemented. This fills the top of the taskbar context menu instead of leaving an ugly separator at the top.

svn path=/trunk/; revision=65566
2014-12-05 16:41:18 +00:00
Hermès Bélusca-Maïto 561200f6d3 Only layout was set different. Fix build.
svn path=/trunk/; revision=65565
2014-12-05 00:23:11 +00:00
Hermès Bélusca-Maïto f471dceaae [LOCALIZATION]: Add Bengali to other files.
svn path=/trunk/; revision=65564
2014-12-05 00:21:36 +00:00