Compare commits

..

1134 Commits

Author SHA1 Message Date
David Quintana
9da3ad2c7b [0.4.6]
- Update explorer banner

svn path=/branches/ros-branch-0_4_6/; revision=75709
2017-08-30 07:19:02 +00:00
Thomas Faber
91d961fcec [0.4.6]
- Update version for release

svn path=/branches/ros-branch-0_4_6/; revision=75708
2017-08-30 06:26:40 +00:00
Thomas Faber
d7bb76c7a3 [0.4.6]
- Merge regedit fix (r75458) by Joachim & Mark
CORE-13071

svn path=/branches/ros-branch-0_4_6/; revision=75459
2017-07-30 16:34:27 +00:00
Thomas Faber
c3e7a4cd99 [0.4.6]
- Revert r75061 (wined3d sync) due to unresolved regressions
CORE-13486

svn path=/branches/ros-branch-0_4_6/; revision=75456
2017-07-30 12:55:37 +00:00
Thomas Faber
82c78b6f8f [0.4.6]
- Merge NFS symbolic link fix (r75451) by Pierre
CORE-13615

svn path=/branches/ros-branch-0_4_6/; revision=75453
2017-07-30 12:40:24 +00:00
Thomas Faber
3c7582d455 [0.4.6]
- Revert r73436 to avoid trouble with VirtualBox Guest Additions.
CORE-13172 CORE-12700 CORE-12765

svn path=/branches/ros-branch-0_4_6/; revision=75452
2017-07-30 12:34:54 +00:00
Thomas Faber
84cc68cd65 [0.4.6]
- Apply the WordPad icon hack by Jared Smudde
CORE-5823

svn path=/branches/ros-branch-0_4_6/; revision=75450
2017-07-30 11:03:35 +00:00
Thomas Faber
377a976d5a [0.4.6]
- Mask WndProc exceptions
CORE-11915

svn path=/branches/ros-branch-0_4_6/; revision=75449
2017-07-30 10:58:32 +00:00
Thomas Faber
f9e00769c5 [0.4.6]
- Set version number for RC1

svn path=/branches/ros-branch-0_4_6/; revision=75448
2017-07-30 10:54:52 +00:00
David Quintana
f7dee395ca [EXPLORER]
Update start menu banner.

svn path=/branches/ros-branch-0_4_6/; revision=75447
2017-07-30 10:53:23 +00:00
Pierre Schweitzer
f9df6b72bf [RDBSS]
When CcFlushCache fails, properly set status before leaving.

CORE-11327

svn path=/trunk/; revision=75445
2017-07-30 08:54:09 +00:00
Pierre Schweitzer
36fbf224f6 [NFSD]
In case NFS session expires while reading/writing to a file, renew the session instead of just failing.
This avoids not being able to transfer any file with slow connection, and not being able to transfer big files with normal connection.

CORE-8204
CORE-13484

svn path=/trunk/; revision=75444
2017-07-30 08:46:01 +00:00
Pierre Schweitzer
0498ff85e3 [KERNEL32]
In case of synchronous read, it's legit for the FSD to notify EOF by returning success & zero read length.
It fixes never ending reads when copying a file from NFS to local disk.

CORE-8204
CORE-11327
CORE-13484

svn path=/trunk/; revision=75443
2017-07-30 08:31:59 +00:00
Pierre Schweitzer
a128acd13b [RXCE]
Don't forget to set RX_CONTEXT_FLAG_FROM_POOL flag when allocating a new RX_CONTEXT structure from pool.
This avoids leaking it afterwards and exhausting NP pool when using NFS.

CORE-8204
CORE-11327
CORE-13484
CORE-13604

svn path=/trunk/; revision=75442
2017-07-30 08:22:34 +00:00
Pierre Schweitzer
0eacafad27 [RXCE]
- Implement RxAcquireFcbForLazyWrite(), RxAcquireFcbForReadAhead(), RxReleaseFcbFromLazyWrite(), RxReleaseFcbFromReadAhead()

This makes RXCE better at dealing with Cc (and the other way round ;-)). This notably avoids infinite acquire loops from Cc when writing on a NFS share.

CORE-8204
CORE-11327

svn path=/trunk/; revision=75441
2017-07-30 07:58:25 +00:00
Giannis Adamopoulos
d09d1d8165 [EXPLORER] -Fix calculatting the size of the tray icons for ral this time. When positioning the windows in the tray take into account the theme content margins.
svn path=/trunk/; revision=75440
2017-07-29 13:57:29 +00:00
Giannis Adamopoulos
fd3b42b706 [UXTHEME] -Fix for the 3rd or 4th time the bug where the caption window overflows over the caption buttons which was last broken by me in 74960. CORE-13435
svn path=/trunk/; revision=75439
2017-07-29 09:43:48 +00:00
Giannis Adamopoulos
8215152588 [UXHTEME] - ThemeDrawCaptionText: Get the TMT_CONTENTALIGNMENT theme property and position the text accordingly. Patch by Stas'M. CORE-13600
svn path=/trunk/; revision=75438
2017-07-29 09:25:15 +00:00
Giannis Adamopoulos
9e7f835989 [COMCTL32] -Take into account the upper theme margin when drawing the icon so that it doesn't look misplaced. This makes the themed taskbar buttons look more or less good despite the fact that we completely ignore the left and right margins.
svn path=/trunk/; revision=75437
2017-07-29 08:52:04 +00:00
James Tabor
91dda33431 [User32]
- Patch by MudHead : Combobox sends a message to the deselect the text when focus is lost.
CORE-10266 #resolve

svn path=/trunk/; revision=75436
2017-07-29 01:59:07 +00:00
Mark Jansen
63568c9f24 [APPHELP] Various cleanup tasks
- Move debug heap functionality to a separate file
- Clean includes
- Remove msvcrt dependency
- Clean up string usage
- Remove some higher level functions in favor of their ntdll counterparts (wip).

svn path=/trunk/; revision=75432
2017-07-28 19:00:27 +00:00
Giannis Adamopoulos
9f2558d971 [EXPLORER] -Implement changing the size of the icons in the notification area when the non client metrics change. Now they always have the size of the title bar icon. Center vertically or horizontally the notification area in the taskbar.
svn path=/trunk/; revision=75430
2017-07-28 10:04:38 +00:00
Mark Jansen
7315f47790 [APPHELP] Use DbgPrint instead of OutputDebugString + fix SDBAPI_DEBUG_ALLOC
svn path=/trunk/; revision=75429
2017-07-27 20:36:51 +00:00
Hermès Bélusca-Maïto
3b42dceffb [ATL]: - Both the CAtlList class and its helper class CNode do not support copy construction. - Remove a redundant call to GetFreeNode().
CORE-13597

svn path=/trunk/; revision=75427
2017-07-27 19:08:55 +00:00
Thomas Faber
42336ccb3c [DLLS]
- Fix import order
- Remove unnecessary imports

svn path=/trunk/; revision=75426
2017-07-27 18:48:19 +00:00
Pierre Schweitzer
5c2272b886 [EXT2]
Import commits by Kaho Ng <ngkaho1234@gmail.com> from upstream:
- b7657e5 Ext3Fsd: Introduce VCB_RO_COMPAT_READ_ONLY flag for struct VCB
- e7c1142 Ext3Fsd: EXT4_FEATURE_INCOMPAT_64BIT is not supported
- 785943f Ext3Fsd: fix issue #6

Refuse mounting filesystems with incompatible flags. This avoids corrupting 64bits filesystems.

Patch by Lubomir Rintel

CORE-13589

svn path=/trunk/; revision=75422
2017-07-27 10:22:57 +00:00
Pierre Schweitzer
4f5478d56a [KERNEL32_VISTA]
Delay load NTDLL_vista, in order to save *380KB* at boot.

CORE-13361

svn path=/trunk/; revision=75421
2017-07-27 09:43:56 +00:00
Pierre Schweitzer
51e9c7f51a [RDBSS]
- Misc fixes with DPRINTS

[RXCE]
- In RxFinalizeSrvOpen, always dereference the FCB, it's always referenced on SRV_OPEN creation
- Misc fixes with DPRINTS

With that revision and r75419, I'm now able to mount a NFS share, browse it, read a file from it, and unmount it.
We're OK regarding references counting!

CORE-8204
CORE-11327
CORE-13581

svn path=/trunk/; revision=75420
2017-07-27 09:37:10 +00:00
Pierre Schweitzer
4a4f6e5d9f [SHELL32]
Revert r75348.
Because of r75349, this revision was made useless, and even worse, it was leaking a handle to the directory where the FSD doesn't support notifications.
Also made some debug traces more useful

svn path=/trunk/; revision=75419
2017-07-27 09:33:11 +00:00
Benedikt Freisen
b36097ee50 [MSPAINT]
- Enable drag cancellation -- patch by Katayama Hirofumi MZ

CORE-13395 #resolve

svn path=/trunk/; revision=75418
2017-07-27 09:29:42 +00:00
Pierre Schweitzer
564e7818da [NFS]
Huge "hack" for ReactOS.
In case we're asked to unmount a NFS share, and there are still active FCBs, browse the prefix table for active NET_ROOT, and then, dump their associated FCBs (prefix + refcount).
It seems we only leak the root FCB.

CORE-8204
CORE-11327
CORE-13581

svn path=/trunk/; revision=75415
2017-07-26 20:00:30 +00:00
Pierre Schweitzer
bf93adc414 [DDK]
Define RxIsFcbTableLockAcquired

CORE-8204
CORE-11327
CORE-13581

svn path=/trunk/; revision=75414
2017-07-26 19:57:50 +00:00
Thomas Faber
2d5ebe0ac1 [ACPICA]
- Update to version 20170629
CORE-13538 #resolve

svn path=/trunk/; revision=75412
2017-07-26 14:49:35 +00:00
Pierre Schweitzer
23e5c53ced [COPYSUP]
Remove leftovers from some attempted ugly things.
Should fix MSVC build

svn path=/trunk/; revision=75410
2017-07-26 09:55:30 +00:00
Pierre Schweitzer
85470b1b8e [RDBSS]
- Implement RxFastIoWrite()
- Finish implementation of RxFastIoCheckIfPossible()

[COPYSUP]
- Implement FsRtlCopyWrite2()

This brings (in link with r75398 fast IO writes to RDBSS, and thus NFS!

CORE-8204
CORE-11327

svn path=/trunk/; revision=75409
2017-07-26 09:28:41 +00:00
James Tabor
09ab5ea7ed [NtUser]
- Broadcast the appropriate messages to notify a change in display parameters and color. This should fix rollback issues from setting display modes. See CORE-12571 and CORE-13212.

svn path=/trunk/; revision=75407
2017-07-26 02:52:00 +00:00
Giannis Adamopoulos
27783c2956 [COMCTL32] -Implement taking into account the contents margins from the theme when calculating the size of the toolbar button. Using it while painting the button will be implemented in a later commit as it caused me some problems.
svn path=/trunk/; revision=75406
2017-07-25 22:41:26 +00:00
David Quintana
536fd901af [FREELDR]
Fix compilation on ARM.

svn path=/trunk/; revision=75404
2017-07-25 18:12:33 +00:00
David Quintana
ed2b3728b6 [BOOTLIB]
[BOOTMGR]
Disabled x86-specific code when building ARM.

[LIBSUPP]
Use a hack to replace inline asm which is not supported by MSVC ARM.

[DBGHELP]
Fix ARM register access from context struct.

[MSVCRT]
Fix typo in spec file.

[NTOSKRNL]
[WIN32SS]
Add asm dependency to *sys modules.

[CPPRT]
Add one of the missing constructor aliases. There's more, but my brain is fried at this point.

[BTRFS]
Define-away an include for x86-specific intrinsics.

This is the first batch of fixes for building reactos using the MSVC ARM toolchain. A lot more work is needed to get a full build including rostests and rosapps.

svn path=/trunk/; revision=75403
2017-07-25 17:30:21 +00:00
Pierre Schweitzer
294ab75756 [RDBSS]
- Implement RxCommonSetInformation(), RxpSetInfoMiniRdr(), RxSetBasicInfo()
- Stub RxSetAllocationInfo(), RxSetDispositionInfo(), RxSetEndOfFileInfo(), RxSetPipeInfo(), RxSetPositionInfo(), RxSetRenameInfo(), RxSetSimpleInfo()

CORE-8204
CORE-11327

svn path=/trunk/; revision=75402
2017-07-25 12:09:11 +00:00
Pierre Schweitzer
83bcd980a2 [XDK]
Define FILE_ATTRIBUTE_INTEGRITY_STREAM

svn path=/trunk/; revision=75401
2017-07-25 11:34:36 +00:00
James Tabor
65e31a0c41 [NtUser]
- Initialize rectangle to all zero's. See CORE-13582.

svn path=/trunk/; revision=75400
2017-07-24 23:48:08 +00:00
David Quintana
b0469b9227 [CABMAN]
Fix pointer math ('unsigned long' will truncate the pointer).

[MKISOFS/SCHILY TOOLS]
Fix the invalid assumption that a 'long' variable can hold pointers. Will be sent upstream.

With this the whole of reactos and rostests builds on x64. Rosapps still has issues.

svn path=/trunk/; revision=75399
2017-07-24 18:37:25 +00:00
Pierre Schweitzer
f8e1661549 [RDBSS]
- Implement __RxWriteReleaseResources(), RxCommonWrite(), RxCompleteMdl(), RxGetTopIrpIfRdbssIrp(), RxLowIoWriteShell(), RxLowIoWriteShellCompletion()
- Finish implementation of RxCommonCleanup() so that it handles setting EOF on a file
- Finish implementation of RxCommonCreate() so that it handles sharing violations and attempts to scavenge open files

[RXCE]
- Implement RxpScavengeFobxs(), RxpTrackDereference(), RxpTrackReference(), RxPurgeFobx(), RxPurgeRelatedFobxs(), RxReinitializeContext(), RxSetFileSizeWithLock(), RxScavengeFobxsForNetRoot()
- Fix a bug in RxPrefixTableLookupName() where it was badly handling nodes in scavenger

This commits brings several improvments to the NFS driver.
First of all, now, the driver handles creating, extending and writing to files!
It also handles purging dormant opened files when a file opening fails because of a sharing violation
Finally, it also brings something to look at our references issues in RDBSS to help finding out why our FCB are never (or nearly) dereferenced

CORE-8204
CORE-11327
CORE-13581

svn path=/trunk/; revision=75398
2017-07-24 17:05:05 +00:00
David Quintana
30a8a02f54 [APITESTS]
MSVCRT_CRT_APITEST: Remove getmainargs tests from X64 build.
DELAYIMP: Fix callback prototype.
CComHeapPtr: Fix implementation of IMallocSpy to match the actual interface.

[WINETESTS]
ntdll: Disable 'generated' tests when not i386 platform, since they were generated for x86 and not x64 or ARM.


Fixes x64 compilation for tests.

svn path=/trunk/; revision=75397
2017-07-24 15:09:22 +00:00
David Quintana
86c98bfda7 [BOOTLIB]
Stub out some arch-specific functions (fixes x64 build).

[USBPORT]
Actually fix x64 build. The old code was not working at all, but the bootlib errors cancelled the build earlier than I thought.

The X64 compilation now succeeds, but cabman crashes trying to generate the bootcd.

svn path=/trunk/; revision=75396
2017-07-24 15:08:16 +00:00
David Quintana
a822da7802 [EXPLORER]
[RSHELL]
[NTOBJSHEX]
[BROWSEUI]
[SHELL32]
Get rid of the unused "placement new" operators.

svn path=/trunk/; revision=75394
2017-07-24 10:40:55 +00:00
David Quintana
e0280ef3ab [USBPORT]
Oops, brainfart (Fixes 32bit build).

svn path=/trunk/; revision=75393
2017-07-24 10:37:53 +00:00
David Quintana
cdf1fc5784 [MSPAINT]
Correct callback return type (Fixes X64 build).

[USETUP]
Correct definition of the struct (fixes X64 build).

[USBPORT]
Improve struct size checks so they are X64-compatible (fixes X64 build).

The build as a whole still fails due to bootlib, but implementing those is beyond my expertise.

svn path=/trunk/; revision=75392
2017-07-24 10:34:06 +00:00
Mark Jansen
dbcb280e05 [SHORTCUTS.INF] Move the shortcut creation for screenshot.exe to the new rosapps_shortcuts.inf. Patch by Joachim Henze (reactosfanboy)
CORE-13426 #resolve #comment Thanks!

svn path=/trunk/; revision=75391
2017-07-22 20:23:33 +00:00
Mark Jansen
808c1d2aac [WIN32SS][SHELL32] Fix the location and repaint of the version info shown on the desktop. Patch by Katayama Hirofumi MZ.
CORE-13567 #resolve #comment Thanks!

svn path=/trunk/; revision=75390
2017-07-22 18:27:32 +00:00
Giannis Adamopoulos
6e74f9217a [EXPLORER] -Restore a call to RegLoadSettings while handling WM_DISPLAYCHANGE which was removed in r74221. This is not really correct since it resets the size and position of the taskbar but I add it back since it updates the cached rects for all four positions.
svn path=/trunk/; revision=75389
2017-07-22 17:13:06 +00:00
Mark Jansen
68a311b64d [SYSSETUP][SHORTCUTS.INF] Add FontSub program shortcut to Start Menu. Patch by Katayama Hirofumi MZ.
CORE-13428 #resolve #comment Thanks!

svn path=/trunk/; revision=75388
2017-07-22 16:55:08 +00:00
Hermès Bélusca-Maïto
2152b66c27 [UNATTEND]: Move a comment sign ';' to a better place.
svn path=/trunk/; revision=75387
2017-07-22 15:54:40 +00:00
Giannis Adamopoulos
74348be606 [EXPLORER] -Implement the minimum taskbar size for the vertical position.
svn path=/trunk/; revision=75386
2017-07-22 09:13:33 +00:00
Giannis Adamopoulos
0c41ef8fb6 [BROWSEUI]
-CBandSite: Remove CCS_NORESIZE style. This is a hack probably needed because our rebar control is buggy.

[EXPLORER]
-CTaskBand::GetBandInfo: Use the toolbar button size as the minimum and integral size for the band.
-CTaskSwitchWnd: Use the system small icon size for the size of the icon. Recreate the image list if this size changes. This together with the size of the font are the only factors for the size of the toolbar and consequently for the size of the band and if it is the only band, the size of the taskbar. Don't use TB_SETBUTTONSIZE. Now the size of the image list and the font dictate the size.
-CTrayWindow: In the classic theme make the start button have the same height with the tasks toolbar button height. Improve the calculation of the size of the taskbar in FitToRebar.

These changes should make the taskbar and the toolbar have a proper size. On top of that the taskbar is finally resizable (however our rebar is too buggy and still fills only the first line in the taskbar). While testing this I noticed that moving the taskbar in the sides of the screen is buggy now. I'm not sure if this was uncovered by these changes, if this was broken before or this was caused by these changes (looks unlikely to me) but will be fixed in subsequent commits).

svn path=/trunk/; revision=75385
2017-07-21 14:32:15 +00:00
Sylvain Petreolle
ce979b05e3 Revert r70669, it was a change in an unused 3rd party file.
CORE-10629

svn path=/trunk/; revision=75383
2017-07-20 21:32:16 +00:00
James Tabor
2b90a87358 [NtUser]
- Patch by Huw Davies : Explicitly set last error to ERROR_SUCCESS.
- Remove hack and added a note.

svn path=/trunk/; revision=75382
2017-07-20 20:26:14 +00:00
James Tabor
f11f599e16 [NtUser]
- Patch by Fabian Maurer : Don't send WM_CHAR when a menu gets VK_ESCAPE and add tests.

svn path=/trunk/; revision=75381
2017-07-20 19:57:25 +00:00
James Tabor
f6da80a67e [NtUser]
- Patch by Alex Henrie : Tell MENU_SuspendPopup which message to remove.

svn path=/trunk/; revision=75380
2017-07-20 19:46:17 +00:00
James Tabor
ab58eda781 [NtUser]
- Remove unused code and reintegrate wine code.

svn path=/trunk/; revision=75379
2017-07-20 19:40:17 +00:00
Sylvain Petreolle
6157c78fb8 Patch by Mike Swanson :
This adds support for Esperanto as a language and a keyboard layout based on the one from X.Org.

CORE-11021


svn path=/trunk/; revision=75378
2017-07-19 20:33:58 +00:00
Daniel Reimer
9d8a8c4366 [CAROOT]
Updates root CAs to recent ones.

svn path=/trunk/; revision=75377
2017-07-19 19:23:47 +00:00
Hervé Poussineau
86d4e580c0 [SETUPAPI] Do not crash when encountering a device with HardwareIDs
svn path=/trunk/; revision=75374
2017-07-19 09:19:11 +00:00
Sylvain Petreolle
06b5ec800a [BDASUP]
Add digital TV tuning device driver to build.

svn path=/trunk/; revision=75372
2017-07-18 22:48:18 +00:00
Hermès Bélusca-Maïto
6721692a02 [REACTOS]: Russian translation update part 2/2 by amber: time-zones.
svn path=/trunk/; revision=75370
2017-07-17 21:30:20 +00:00
Hermès Bélusca-Maïto
dbdfdc99f7 [REACTOS]: Russian translation update part 1/2 by amber.
CORE-13248

svn path=/trunk/; revision=75369
2017-07-17 21:26:25 +00:00
Hermès Bélusca-Maïto
e3397b9bdc [CRT]: Add a missing _munlock call, caught by Serge Gautherie.
CORE-11568

svn path=/trunk/; revision=75368
2017-07-17 20:55:34 +00:00
Hermès Bélusca-Maïto
f87f8bea7d [CMD]: Update the description of the START command, with the commutators that are known to work.
Translators, please update the translations based on en-US!

svn path=/trunk/; revision=75366
2017-07-17 17:17:22 +00:00
Hermès Bélusca-Maïto
1345a5a8a7 [MSVCRT][CRT]: Improvements/fixes over popen(), from Wine code and ported by Andreas Maier: the popen_handles array, which is used in _pclose, was never filled. _popen correctly fills it now.
Should fix returned codes by popen() and pclose(), which are functions that are called by windres, and this latter expects them to succeed. This was not the case before, in ROS, and therefore
trying to e.g. compile ROS within ROS failed from time to time with windres throwing the error that "preprocessing failed".
CORE-11568 #resolve

svn path=/trunk/; revision=75365
2017-07-17 16:11:18 +00:00
Hermès Bélusca-Maïto
73375485df [MSVCRT_APITEST]: Commit a simple test for popen(), by Andreas Maier.
CORE-11568

svn path=/trunk/; revision=75364
2017-07-17 15:27:40 +00:00
Hermès Bélusca-Maïto
2a5ed24776 [RXCE]: Fix bug, thanks MSVC! (warning C4553)
svn path=/trunk/; revision=75363
2017-07-17 12:47:18 +00:00
Eric Kohl
f5dcc15bd4 [NETAPI32]
DsAddressToSiteNamesExW: Remove dead code.
This bug was found by Christian Bosch. Thanks a lot!

svn path=/trunk/; revision=75362
2017-07-16 21:48:30 +00:00
Giannis Adamopoulos
689777616b [SHELL32]
-CRegFolder: Implement CRegFolder::EnumObjects. Change its constructor to receive an extra parameter for the name of the key that should be enumerated.
-CEnumIDListBase: Add a new method called AppendItemsFromEnumerator to facilitate merging the contents from one IEnumIDList to another.
-Use the above in the enumerators of CControlPanelFolder, CDesktopFolder and CDrivesFolder to make them significantly simpler.

svn path=/trunk/; revision=75360
2017-07-16 15:13:02 +00:00
Mark Jansen
347ea70d19 [SHIMENG] Pass shim commandline to shims. CORE-11329
svn path=/trunk/; revision=75359
2017-07-16 13:56:08 +00:00
Mark Jansen
116dfc5bd7 [SHIMLIB] Add debug print functionality for shims. CORE-11329
svn path=/trunk/; revision=75358
2017-07-16 13:50:23 +00:00
Mark Jansen
9215c5efc4 [ACPPAGE] Usability: Convert the edit box to a combobox, ask the user if they want to add the layer when closing the dialog.
svn path=/trunk/; revision=75357
2017-07-16 13:47:16 +00:00
Mark Jansen
e41b7d9270 [SHELL32] Do not dereference a nullpointer for logging. CORE-13552
svn path=/trunk/; revision=75356
2017-07-16 13:44:18 +00:00
Sylvain Petreolle
21fc538caa Patch by Serge Gautherie:
[BOOTDATA]
hivesys.inf: Put 'Mup' service back in 'File System' group. (Fix r72450)
Fixes installation of Vmware Tools which was always hanging.
CORE-12107 #resolve


svn path=/trunk/; revision=75355
2017-07-16 13:37:29 +00:00
Pierre Schweitzer
13ae1129e5 [RDBSS]
Complementary to r75353: implement RxCancelNotifyChangeDirectoryRequestsForFobx()

CORE-11327

svn path=/trunk/; revision=75354
2017-07-15 11:41:24 +00:00
Pierre Schweitzer
8f00170a93 [RDBSS]
Implement RxNotifyChangeDirectory(), RxLowIoNotifyChangeDirectoryCompletion(), RxCancelNotifyChangeDirectoryRequestsForVNetRoot()

This means the first parts of the directory watch are here. Though, NFS driver doesn't support these, but at least, it reduces the UNIMPLEMENTED spam!

CORE-11327

svn path=/trunk/; revision=75353
2017-07-15 10:05:32 +00:00
Giannis Adamopoulos
0c134b04f8 [SHELL32] -Move CFSExtractIcon_CreateInstance to CFSFolder.cpp
svn path=/trunk/; revision=75352
2017-07-15 09:38:45 +00:00
Mark Jansen
e12241f5a1 [USBPORT] Fix incorrect transfer direction for URBs. Patch by Vadim Galyant. CORE-13546
svn path=/trunk/; revision=75351
2017-07-15 09:24:30 +00:00
Giannis Adamopoulos
c343d309f2 [SHELL32]
- CDesktopFolder: Create the enumerators of the internal fs folders and add their items in its own list instead of calling CreateFolderEnumList which enumerates ... files.
- Remove CEnumIDListBase::CreateFolderEnumList and move its code to CFileSysEnum::Initialize.

svn path=/trunk/; revision=75350
2017-07-15 09:18:06 +00:00
Pierre Schweitzer
9f3cbac23f [SHELL32]
In case a FSD doesn't support directory changes notifications, don't try to requeue a notification each time it returns 0 data.
Just quit instead.

CORE-13549

svn path=/trunk/; revision=75349
2017-07-15 07:48:47 +00:00
Pierre Schweitzer
c4689f7e1d [SHELL32]
Avoid double-free and use-after-free in case the FSD fails to register the change directory notification

CORE-13549

svn path=/trunk/; revision=75348
2017-07-15 07:45:28 +00:00
James Tabor
47ade62a62 [ENG]
- Patch by Katayama Hirofumi MZ : Add counts to path data. See CORE-13536.

svn path=/trunk/; revision=75347
2017-07-15 03:58:42 +00:00
Hermès Bélusca-Maïto
f6dbb71053 [USETUP]: Also adapt the INFCONTEXT structure here.
svn path=/trunk/; revision=75344
2017-07-14 22:17:12 +00:00
Hermès Bélusca-Maïto
882901c398 [INFLIB][FREELDR]: Introduce a (non-used) "CurrentInf" field in the INFCONTEXT structure, to make it compatible with the "standard" one defined in setupapi.h, so that it can be possible to either use our inflib or setupapi.dll in our code.
This will break build inside usetup, and this will be fixed in the next commit.

svn path=/trunk/; revision=75343
2017-07-14 22:15:48 +00:00
Mark Jansen
39596fae98 [APPHELP_APITEST] Convert test_match_ex to a data driven test + fix a bug in the apitest.
svn path=/trunk/; revision=75342
2017-07-14 20:35:11 +00:00
Mark Jansen
9f1e4379e0 [SPOOLSS] Stub BuildOtherNamesFromMachineName as seen in wine commit cdb5f35. This fixes a crash in spoolss:spoolss
svn path=/trunk/; revision=75341
2017-07-14 20:05:27 +00:00
Mark Jansen
ae49e29351 [APPCOMPAT] Various fixes.
- Simplify shimdbg output as suggested by Thomas
- Simplify media/sdb/sysmain.xml
- Fix some warnings + a debug print

svn path=/trunk/; revision=75340
2017-07-14 19:29:34 +00:00
Peter Hater
eb6e21dd58 [ADNS] Add function to return number of DNS servers available for query.
[DNSAPI] Use newly added function to return without search if no DNS servers are available.
CORE-13441 #resolve

svn path=/trunk/; revision=75339
2017-07-14 16:05:31 +00:00
Hermès Bélusca-Maïto
0b6eedad3a [WIN32K]: Addendum to r75332 : fix variable usage without initialization error C4700 (certainly due to a copy-paste error), caught by MSVC compiler...
CORE-13536

svn path=/trunk/; revision=75337
2017-07-14 01:37:06 +00:00
Hermès Bélusca-Maïto
41f2eb6c3e [GETUNAME]: Translation update by Sergey Stopkin.
CORE-13222 #resolve

svn path=/trunk/; revision=75335
2017-07-14 00:40:31 +00:00
Hermès Bélusca-Maïto
00d7ab957b [CMAKE]: Correctly set valid PE image version numbers for the OS subsystem (GCC builds), and image and OS version numbers from the NT OS version ReactOS is based on.
svn path=/trunk/; revision=75333
2017-07-13 20:50:49 +00:00
James Tabor
899d12e786 [Eng]
- Implement PATHOBJ_Xxx service routines, see CORE-13536.

svn path=/trunk/; revision=75332
2017-07-13 19:34:49 +00:00
James Tabor
e61d96aa6a [NtGDI]
- Update path structure for future use.

svn path=/trunk/; revision=75329
2017-07-13 17:30:15 +00:00
James Tabor
deaa7df817 [Win32SS]
- Remove old GDI structure and use the new one.

svn path=/trunk/; revision=75326
2017-07-13 01:59:41 +00:00
Hermès Bélusca-Maïto
be9a0afc1f [SHELL32]: Enable showing the sorting arrows in the sorting header column of shell folder listviews.
CORE-11776 #resolve

svn path=/trunk/; revision=75325
2017-07-13 00:21:32 +00:00
Hermès Bélusca-Maïto
6f2c13e4df [WELCOME]: Diverse improvements:
- Compute once, when loading the list of topics with their associated commands, their special arguments or starting paths. The computed values can then be used each time a topic command is invoked.
- Distinguish between runnable commands (aka. external executables or files to be started), and internal actions like <msg> and <exit>.
- I have recently discovered that Windows' welcome.exe could also use a custom (OEM) "welcome.ini" file, much like what we already supported: see http://i.imgur.com/Se3IoQN.png .
  To make ours backwards-compatible with Windows' one, rename the "Button" keyword into "MenuText", and introduce two new keywords "ConfigCommand" and "ConfigArgs" that specify respectively the command to be started
  and its associated arguments. We continue to support our "Action" keyword for specifying internal actions.
- Improve the loading of the localized resources from the INI files.
- Correctly print the ReactOS version text, at a correct position depending on whether the checked box is display or not.
- Simplify some StringCchCopy + StringCchCat calls into StringCchPrintf.
- Simplify the code that creates the different fonts to be used within the program.
- Use more readable resource ID names.

svn path=/trunk/; revision=75322
2017-07-12 22:16:50 +00:00
Mark Jansen
d9827356db [WIN32SS] Fix EqualFamilyInfo function logic. Patch by Victor Martinez Calvo, modified by Katayama Hirofumi MZ.
CORE-13411 #resolve, CID 1411971

svn path=/trunk/; revision=75321
2017-07-12 18:40:49 +00:00
Giannis Adamopoulos
3841692020 [COMCTL32_APITEST] - Log the dwDrawStage when the NM_CUSTOMDRAW is received to make the test slightly more descriptive.
svn path=/trunk/; revision=75320
2017-07-12 12:17:05 +00:00
Thomas Faber
4c8e09598a [USBPORT]
Patch by Vadim Galyant:
- Improve variable naming
- Make more consistent use of constants

svn path=/trunk/; revision=75314
2017-07-09 21:05:58 +00:00
Giannis Adamopoulos
0e8444a310 [EXPLORER]
- CTrayWindow: Implement the IContextMenu interface. This will be used by the CBandSite to query the context menu of its site (the CTrayWindow) and add it in its context menu. 
- CTrayWindowCtxMenu: Use Shell_MergeMenus in QueryContextMenu and respect its parameters.

svn path=/trunk/; revision=75313
2017-07-09 20:57:01 +00:00
James Tabor
1c0aedce83 [ENG]
- Turn on GradientFill apply small hack fix to keep it out of a loop.
- Turning code off does not fix the code, 8 years later!

svn path=/trunk/; revision=75312
2017-07-09 18:06:24 +00:00
Hermès Bélusca-Maïto
d2fc6e6ee2 [old_WORDPAD]: Fix typo (caught by user_trisquel).
svn path=/trunk/; revision=75311
2017-07-09 16:06:07 +00:00
Mark Jansen
d88628173c [FONTS] Add substitutes for the System font, and remove a hack for the System font. Patch by Katayama Hirofumi MZ. CORE-9222
svn path=/trunk/; revision=75310
2017-07-09 15:06:49 +00:00
Pierre Schweitzer
36532bafeb [RDBSS]
Fix broken assignment.
Spotted by cppcheck.

svn path=/trunk/; revision=75309
2017-07-08 21:22:55 +00:00
Eric Kohl
994a9eced3 [NETAPI32]
- Add DsAddressToSiteNamesExA stub.
- Implement DsAddressToSiteNamesExW.

svn path=/trunk/; revision=75308
2017-07-08 21:07:29 +00:00
Pierre Schweitzer
ae1901b2c3 [RXCE]
- Define RxShouldPostCompletion() and use it
- Define RxIsResourceOwnershipStateExclusive() and use it
- Define some magic values

[RDBSS]
- Implement CheckForLoudOperations(), RxAdjustFileTimesAndSize(), RxIsOkToPurgeFcb()
- Continue implementation of RxCommonCleanup()
- Fix bugs in the RxCommonCleanup() implementation and make it more explicit when in the delete on close path
- Stub RxCleanupPipeQueues(), RxLowIoLockControlShell()
- Silent a few DPRINTs

CORE-8204
CORE-11327

svn path=/trunk/; revision=75307
2017-07-08 17:12:33 +00:00
Eric Kohl
f45220c16f [NETAPI32]
- Add DsValidateSubnetNameA/W stubs.
- Move DsRoleFreeMemory to a better location.

[SDK/INCLUDE]
Add DsValidateSubnetNameA/W prototypes to dsgetdc.h.

svn path=/trunk/; revision=75306
2017-07-08 12:00:44 +00:00
Eric Kohl
a18e985b12 [NETAPI32]
- Add DsDeregisterDnsHostRecordsA stub.
- Implement DsDeregisterDnsHostRecordsW.

[SDK/INCLUDE]
Add DsDeregisterDnsHostRecordsA/W prototypes to dsgetdc.h.

svn path=/trunk/; revision=75305
2017-07-08 09:11:22 +00:00
Hermès Bélusca-Maïto
0a7125a8be Integrate the USERINIT changes r75295, r75302 and r75303 from the setup_improvements branch back to trunk.
svn path=/trunk/; revision=75304
2017-07-08 00:23:33 +00:00
Giannis Adamopoulos
201f83b4b1 [SHELL32]
- 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.

svn path=/trunk/; revision=75301
2017-07-07 20:34:27 +00:00
Eric Kohl
99fe0ae037 [NETAPI32]
- Add DsMergeForestTrustInformationW stub.
- Implement DsGetForestTrustInformationW.

[SDK/INCLUDE]
Add DsGetSiteNameA/W, DsGetForestTrustInformationW and DsMergeForestTrustInformationW prototypes to dsgetdc.h.

svn path=/trunk/; revision=75300
2017-07-07 17:59:14 +00:00
James Tabor
04b696718d [NtGDI]
- Return Set if managed, part of CORE-12888.

svn path=/trunk/; revision=75294
2017-07-06 19:13:49 +00:00
James Tabor
a1938e7ca3 [NtUser]
- Part of CORE-13110. Set DC window rectangle and pointer.

svn path=/trunk/; revision=75293
2017-07-06 19:06:29 +00:00
James Tabor
b1f132e660 [Gdi32]
- 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.

svn path=/trunk/; revision=75292
2017-07-06 18:52:22 +00:00
Giannis Adamopoulos
3b7b8b89b3 [SHELL32] -Remove IShellView_Constructor and CDefView_Constructor. Use SHCreateShellFolderView and SHCreateShellFolderViewEx instead.
svn path=/trunk/; revision=75289
2017-07-05 21:36:20 +00:00
Colin Finck
4c022adf19 [PRINTING]
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

svn path=/trunk/; revision=75287
2017-07-05 15:29:13 +00:00
Pierre Schweitzer
f93ac7e964 [RXCE]
- Implement RxFinalizeConnection(), RxOrphanSrvOpens()
- Stub RxOrphanSrvOpensForThisFcb()

[RDBSS]
- 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.

CORE-8204
CORE-11327

svn path=/trunk/; revision=75286
2017-07-05 06:11:10 +00:00
Pierre Schweitzer
d135302c2f [MPR]
Import Wine commit:
- 26192671700360859cd8a0133dabcd96ec1a786b, Implement WNetConnectionDialog().

CORE-13516

svn path=/trunk/; revision=75285
2017-07-05 05:40:01 +00:00
Hermès Bélusca-Maïto
d876a3ea01 [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).

svn path=/trunk/; revision=75282
2017-07-05 02:02:43 +00:00
James Tabor
e22e9fc81f [GDI32_WINETEST]
- Sync with Wine main head 2017-07-03.

svn path=/trunk/; revision=75275
2017-07-03 20:39:50 +00:00
Mark Jansen
85dde2e51b [USER32_APITEST] Add tests to validate the messages sent during MDI window creation. CORE-12052
The test passes from 2k3 - 10.

svn path=/trunk/; revision=75274
2017-07-03 20:33:36 +00:00
Pierre Schweitzer
3ff085924b [NET]
On dismount, you can either use: net use /delete <drive>: or net use <drive>: /delete

CORE-13517

svn path=/trunk/; revision=75271
2017-07-02 20:39:48 +00:00
Eric Kohl
c8ee4f6694 [NETAPI32]
- Add DsGetDcSiteCoverageA stub.
- Implement DsGetDcSiteCoverageW.

[SDK/INCLUDE]
Add DsGetDcSiteCoverageA/W prototypes to dsgetdc.h.

svn path=/trunk/; revision=75270
2017-07-02 20:21:27 +00:00
Pierre Schweitzer
07c8bb3ca4 [RXCE]
Assorted fixes:
- Avoid list corruption
- Avoid stack corruption
- Avoid ASSERT on FCB reuse for same file type

CORE-11327

svn path=/trunk/; revision=75269
2017-07-02 20:10:16 +00:00
Eric Kohl
84eb2fc018 [NETAPI32]
- Add DsAddressToSiteNamesA stub.
- Implement DsAddressToSiteNamesW.

[SDK/INCLUDE]
Add DsAddressToSiteNamesA/W and DsAddressToSiteNamesExA/W prototypes to dsgetdc.h.

svn path=/trunk/; revision=75268
2017-07-02 18:29:38 +00:00
Pierre Schweitzer
cf2dee2914 [COPYSUP]
Addendum to r75265 (bis)

svn path=/trunk/; revision=75267
2017-07-02 17:08:27 +00:00
Pierre Schweitzer
23cc1ba7bf [RDBSS]
Addendum to r75265

svn path=/trunk/; revision=75266
2017-07-02 17:04:12 +00:00
Pierre Schweitzer
0584d49170 [RDBSS]
- Implement RxCloseAssociatedSrvOpen(), RxFastIoRead(), RxPurgeNetFcb(), RxRemoveShareAccess(), RxRemoveShareAccessPerSrvOpens()
- Continue implementation of RxCommonCleanup() to handle allocated SRV_OPEN
- Halfplement RxFastIoCheckIfPossible() so that it handles read operations
- Stub RxCancelNotifyChangeDirectoryRequestsForFobx()

[RXCE]
- Implement RxChangeBufferingState(), RxFinalizeSrvOpen(), RxFreeFcbObject(), RxGatherRequestsForSrvOpen(), RxGetDeviceObjectOfInstance(), RxInitializeRxTimer(), RxMarkFobxOnCleanup(), RxMarkFobxOnClose(), RxpDiscardChangeBufferingStateRequests(), RxpDispatchChangeBufferingStateRequests(), RxpLookupSrvOpenForRequestLite(), RxpMarkInstanceForScavengedFinalization(), RxPostOneShotTimerRequest(), RxPrepareRequestForReuse(), RxProcessChangeBufferingStateRequestsForSrvOpen(), RxpUndoScavengerFinalizationMarking(), RxPurgeChangeBufferingStateRequestsForSrvOpen(), RxPurgeFobxFromCache(), RxRemoveNameNetFcb(), RxScavengerTimerRoutine(), RxTimerDispatch()
- Finish implementation of RxDereference() to handle scavenger
- Finish implementation of RxLowIoCompletionTail() to handle blocked operations resume
- Fix a bug in RxFinalizeNetFcb() where it was dereferencing its NET_ROOT instead of its V_NET_ROOT
- Fix bugs in __RxAcquireFcb() where it improperly handled the lack of RX_CONTEXT
- Halfplement RxResumeBlockedOperations_ALL() to extract blocked operations from RX_CONTEXT (and drop them...)
- Stub RxDispatchChangeBufferingStateRequests(), RxScavengerFinalizeEntries()

[COPYSUP]
- Implement FsRtlCopyRead2()
This library is basically what you can find in FsRtl with an extended support of Top Level IRP. It is used by RDBSS for FastIO. Next to come in it will be FsRtlCopyWrite2().

This commit brings several improvements to current work on RBDSS/RXCE. First of all, both libraries will leak less (again!).
It also brings the scavenger infrastructure (not fully fonctionnal though). Our NFS driver doesn't make use of it though.
Finally, this brings support of FastIO (for read operations ;-)) to our NFS driver!

Regarding CORE-13484, with copy + FastIO I could copy a file without troubles. But that seems to be still problematic with xcopy without FastIO...

CORE-13484
CORE-11327

svn path=/trunk/; revision=75265
2017-07-02 17:00:11 +00:00
Mark Jansen
92ea310563 [SHIMDBG] Output both to the console and the debug output + fix a copypasta error.
svn path=/trunk/; revision=75264
2017-07-02 11:56:01 +00:00
Mark Jansen
a386d71b0e [REGEDIT] Pre-select the text in the edit dialog.
svn path=/trunk/; revision=75263
2017-07-02 11:50:38 +00:00
Mark Jansen
14bd8eb6f1 [APPHELP] Propagate applied layers to child processes by setting the env var __COMPAT_LAYER. CORE-13284
svn path=/trunk/; revision=75262
2017-07-02 11:43:54 +00:00
Eric Kohl
35bbb0a567 [NETAPI32]
- Add DsEnumerateDomainTrustsA, DsEnumerateDomainTrustsW, DsRoleFreeMemory, DsGetDcNameA, DsGetDcNameW, DsGetSiteNameA and DsGetSiteNameW stubs to netlogon.c.
- Remove the now obsolete file ds.c.
- Implement DsGetSiteNameW and NetEnumerateTrustedDomains. These functions call their counterpart in the netlogon service.

svn path=/trunk/; revision=75261
2017-07-01 23:12:06 +00:00
Sebastian Gasiorek
321c2c1f08 [WIN32K][DXG] DxDdReenableDirectDrawObject: update dhpdev. It is wrong after screen resolution change
svn path=/trunk/; revision=75259
2017-07-01 20:12:37 +00:00
Mark Jansen
711a1cb341 [APPHELP/SHIMENG] Begin implementing the core of the SHIM engine.
With this, the basics of the app compat engine are implemented and should be functional.
Currently it is disable with a policy, to be enabled soon.
CORE-13284
CORE-11300

svn path=/trunk/; revision=75258
2017-07-01 20:06:30 +00:00
Mark Jansen
1fa3c1a922 [ACPPAGE] Register the extension + allow it to be disabled with policies. Disable it with the rest of the app compat infrastructure. CORE-10375
svn path=/trunk/; revision=75256
2017-07-01 11:37:44 +00:00
Thomas Faber
b4533fa94a [USBPORT][USBHUB_NEW]
- Make use of the newly defined structures and constants and remove locally defined versions. Patch by Vadim Galyant.

svn path=/trunk/; revision=75255
2017-07-01 06:22:27 +00:00
Thomas Faber
3db54fabc1 [PSDK]
Patch by Vadim Galyant:
- Add USB port status change constants and structures
- Add USB hub descriptor type constants and missing device class constants

svn path=/trunk/; revision=75254
2017-07-01 06:19:26 +00:00
Thomas Faber
68430f1260 [USBPORT]
Patch by Vadim Galyant:
- Add USBPORT_HUB_CHARACTERISTICS structure
- Indicate the USB3 hub descriptor type when the miniport is an XHCI controller

svn path=/trunk/; revision=75253
2017-07-01 06:06:12 +00:00
James Tabor
bcea1db7b0 [NtGDI]
- Memory DC with no surface selected return true. WIP and part of CORE-12888.

svn path=/trunk/; revision=75252
2017-07-01 02:35:28 +00:00
James Tabor
9338a7ec63 [NtGDI]
- Memory DC with no surface selected return true. WIP and part of CORE-12888.

svn path=/trunk/; revision=75251
2017-06-30 23:23:33 +00:00
James Tabor
c4b72f20c6 [NtGDI]
- Remove DC information checking for non-BLT functions. WIP and part of CORE-12888.

svn path=/trunk/; revision=75243
2017-06-30 00:33:41 +00:00
James Tabor
6554d0079b [PSDK]
- Add EMRGRADIENTFILL, part of CORE-12888.

svn path=/trunk/; revision=75242
2017-06-30 00:17:50 +00:00
Mark Jansen
af96013370 [APPHELP] Implement SdbpMatchExe, allowing to match applications / files based on properties. CORE-13284
svn path=/trunk/; revision=75238
2017-06-29 17:32:03 +00:00
Mark Jansen
2fc232f21e [ATL] Add missing CString += overload (char). Patch by Alexander Shaposhnikov. CORE-13503
svn path=/trunk/; revision=75237
2017-06-29 17:09:49 +00:00
Thomas Faber
1931f33c9b [KMTESTS:KERNEL32]
- Add a test for SetFileAttributes/GetFileAttributes
- Add KmtSendUlongToDriver helper and fix some doc comments
CORE-13495

svn path=/trunk/; revision=75236
2017-06-29 16:16:20 +00:00
Thomas Faber
24ac7c8bed [KMTESTS:KERNEL32]
- Rename FindFile_drv to kernel32_drv (and perform some other appropriate renames), since it can be used for multiple tests, not just FindFile
- Change license to LGPL (this is okay since nobody but me has touched these files)
CORE-13495

svn path=/trunk/; revision=75235
2017-06-29 15:30:23 +00:00
Thomas Faber
f4e131fa49 [USBPORT]
- Correctly distinguish between current hub status and status change in USBPORT_RootHubSCE. Patch by Vadim Galyant.

svn path=/trunk/; revision=75234
2017-06-29 15:01:47 +00:00
Giannis Adamopoulos
7d2398b6af [BROWSEUI] -CBandSite: Remove the Close item menu if the band is undeletable. Remove the Show caption menu item if the band doesn't have a caption. Implement showing or hiding the band caption.
svn path=/trunk/; revision=75230
2017-06-29 09:41:00 +00:00
Thomas Faber
10dc514582 [PSDK]
- Add USB_HUB_CHANGE and USB_HUB_STATUS_AND_CHANGE

svn path=/trunk/; revision=75229
2017-06-29 08:09:44 +00:00
Amine Khaldi
dc50f1da19 [USBHUB_NEW] Bring-in the USB Hub driver created by Vadim Galyant. GitHub PR #29. As usual, I thank the code reviewers, especially Thomas for contributing most of the reviews, improvements and fix suggestions.
svn path=/trunk/; revision=75227
2017-06-28 23:23:01 +00:00
Hermès Bélusca-Maïto
922e006ea6 [BOOTDATA]: Sprinkle few FLG_ADDREG_NOCLOBBER (0x00000002) flags for registry keys/values that need to remain the same across ReactOS upgrades. This also includes the "Session Manager\DOS Devices" as well as the "Session Manager\Environment" values!
Also, fix the default LastKnownGood value to the 'Current'/'Default' one. These values should also not be touched across upgrades (well, they can be touched manually by the (u)setup program, but they must not when updating the registry in bulk).

svn path=/trunk/; revision=75225
2017-06-28 22:17:53 +00:00
Hermès Bélusca-Maïto
b44faa47ed [CMLIB]: Addendum to r63495: Fix the CmpCopyKeyValueList() helper to make it what it is supposed to do: copy the list of values of a given key: this means, also copying the values themselves!!
For that aim I also introduce a CmpCopyValue() helper that allows copying the value data of a given registry value, taking into account whether the value is "small", normal or "big" (we don't support "big values" yet). This function allocates and copies the necessary hive cells corresponding to the given value. Only then, we add a new entry into the registry key value list that is grown dynamically.
Cleanup is performed in case of failure.
Now we can export registry sub-trees as registry hives, and successfully re-mount them in the registry.
CORE-13476 CORE-8259 CORE-10793

svn path=/trunk/; revision=75222
2017-06-28 00:04:13 +00:00
Hermès Bélusca-Maïto
60dedbf232 [CMLIB]: Adjust the old-style parameter annotations for two functions.
svn path=/trunk/; revision=75221
2017-06-27 23:46:17 +00:00
Mark Jansen
c959a66fb5 [SHIMDBG] Add option to dump file properties.
svn path=/trunk/; revision=75218
2017-06-27 20:27:31 +00:00
Mark Jansen
5e0896e8ab [APPWIZ] Enable the 'Cancel' button while downloading. Patch by Jared Smudde and 'thc'. CORE-9629
svn path=/trunk/; revision=75217
2017-06-27 20:09:53 +00:00
Giannis Adamopoulos
9e4da13034 [BROWSEUI] -CBandSite: Implement the context menu of the rebar. It queries the IContextMenu if the band and appends to it a static menu part that can show or hide the title and close the toolbar. Showing or hiding the title isn't implemented yet.
svn path=/trunk/; revision=75216
2017-06-27 10:05:59 +00:00
Colin Finck
20bbfa5624 [PRINTING]
Fix all EnumPrintProcessorDatatypes API tests.

svn path=/trunk/; revision=75215
2017-06-27 07:25:04 +00:00
Eric Kohl
26d220be5e [IDL]
Prevent duplicate declaration of NTSTATUS.

svn path=/trunk/; revision=75214
2017-06-26 22:58:26 +00:00
Eric Kohl
64b471340a [IDL]
Prevent duplicate declaration of STRING and PSTRING.

svn path=/trunk/; revision=75213
2017-06-26 22:52:40 +00:00
Eric Kohl
4c3c7daba6 [NETAPI32]
- Add netlogon RPC binding code.
- Implement NetGetAnyDCName. This function calls its counterpart in the netlogon service.

svn path=/trunk/; revision=75212
2017-06-26 22:08:37 +00:00
Pierre Schweitzer
0706d8cb47 [FASTFAT]
- Stop passing DO, directly pass VCB
- Try to compute some unique value as internal ID for objects. As MS, return the LBO

CORE-13489

svn path=/trunk/; revision=75210
2017-06-26 18:10:43 +00:00
Colin Finck
ef0ae276af [NETAPI32_APITEST]
Fix GCC build

svn path=/trunk/; revision=75209
2017-06-26 15:43:58 +00:00
Colin Finck
e5654cce9f [NETAPI32_APITEST]
Add a simple API Test for netapi32.dll, only covering DsRoleGetPrimaryDomainInformation so far.
It succeeds in ReactOS, but outputs a heap error in the debug log. In real world applications, this later leads to a heap assertion failure.

svn path=/trunk/; revision=75208
2017-06-26 15:19:07 +00:00
Colin Finck
1525fa31fc [PRINTING]
- Create the actual generic handle in _LocalOpenPrinterHandle.
- Fix _RpcClosePrinter call.
- Enable many more tests in winspool_apitest, GetPrinterData.
- Bail out with ERROR_INVALID_PARAMETER for empty strings in _MakePrinterSubKey as well.
- Add the Name registry value for "Dummy Printer on LPT1" to make a test succeed.

This fixes many basic things.. which only got unnoticed, because Printing is only used in the form of API Tests so far.

CORE-13458
CORE-13459

svn path=/trunk/; revision=75207
2017-06-26 15:16:46 +00:00
Colin Finck
2bd66111fc [ADVAPI32_APITEST]
Fix copy-paste mistakes in messages.

svn path=/trunk/; revision=75206
2017-06-26 15:10:27 +00:00
Mark Jansen
54d38174b1 [APPHELP_APITEST] Add tests for SdbGetMatchingExe, to test matching on version resources. CORE-13284
svn path=/trunk/; revision=75205
2017-06-26 14:58:08 +00:00
Mark Jansen
a04fdc1e99 Missing functions
svn path=/trunk/; revision=75204
2017-06-26 12:50:46 +00:00
Mark Jansen
9102288ea4 Missing include
svn path=/trunk/; revision=75203
2017-06-26 12:47:08 +00:00
Mark Jansen
2ef285e193 [SDK][XML2SDB] Simplify helper functions, output Exe matches + file attributes
svn path=/trunk/; revision=75202
2017-06-26 12:45:01 +00:00
Mark Jansen
5c59bd330a [APPHELP_APITEST:db] Fix the test for Win10, use WCHAR for data paths
svn path=/trunk/; revision=75201
2017-06-26 10:26:57 +00:00
Eric Kohl
41af86fadd [IDL]
Add the Netlogon service interface definition.

svn path=/trunk/; revision=75197
2017-06-25 13:14:06 +00:00
Eric Kohl
31f03442d0 [NETAPI32]
Implement I_BrowserrDebugTrace and I_BrowserServerEnum. This functions calls their counterpart in the computer browser service.

svn path=/trunk/; revision=75196
2017-06-25 12:14:35 +00:00
Pierre Schweitzer
81eba8d3e7 [RXCE]
- Implemented RxCompleteSrvOpenKeyAssociation(), RxInitiateSrvOpenKeyAssociation(), RxProcessChangeBufferingStateRequests()
- Implemented RxFinalizeFcbTable(), RxFinalizeNetFobx(), RxFinalizeNetRoot(), RxFinalizeSrvCall(), RxFinalizeVNetRoot(), RxFreeObject(), RxpDestroySrvCall(), RxRemovePrefixTableEntry(), RxRemoveVirtualNetRootFromNetRoot(), RxScavengeRelatedFobxs(), RxTearDownBufferingManager(), RxUndoScavengerFinalizationMarking()
- Implemented RxPostToWorkerThread()
- Implemented RxFlushFcbInSystemCache(), RxPurgeFcb(), RxPurgeFcbInSystemCache()
- Stubbed RxOrphanSrvOpens(), RxpDiscardChangeBufferingStateRequests(), RxpDispatchChangeBufferingStateRequests(), RxpProcessChangeBufferingStateRequests()
- Continued implementation of RxDereference() so that it supports more objects than just SRV_CALL
- Reworked RxInsertWorkQueueItem() implementation so that it accepts any work item, and not just dispatch work items
- Finished implementation of RxTableLookupName() so that it properly returns a V_NET_ROOT on NET_ROOT match

Notable effects of this commit are:
- RXCE/RDBSS leak less memory; now objects without references are properly deleted from the system
- This means that stale objects are also deleted; this fixes CORE-13483 were same stale SRV_CALL was used again and again
- Because in prefix table NET_ROOT are correctly handled, it's now possible to mount several path from the same prefix; this fixes CORE-13482

CORE-8204
CORE-11327
CORE-13482
CORE-13483

svn path=/trunk/; revision=75195
2017-06-25 11:55:37 +00:00
Thomas Faber
db0b0e9ee3 [USBPORT]
- Fix setting the direction in USBPORT_OpenPipe. Patch by Vadim Galyant.

svn path=/trunk/; revision=75194
2017-06-25 08:17:33 +00:00
Sebastian Gasiorek
9cb674f17f - update EDD_DIRECTDRAW_LOCAL, EDD_SURFACE and EDD_DIRECTDRAW_GLOBAL structures
- initial implementation of DxDdCreateD3DBuffer and DxDdCreateSurfaceObject CORE-4490

svn path=/trunk/; revision=75189
2017-06-24 22:24:04 +00:00
David Quintana
292f51e33a [NTOBJSHEX]
Fix registration.

svn path=/trunk/; revision=75188
2017-06-24 22:01:46 +00:00
Eric Kohl
debf556003 [NETAPI32]
Implement NetBrowserStatisticsGet().

svn path=/trunk/; revision=75187
2017-06-24 21:47:27 +00:00
Eric Kohl
6317bb3ec2 [NETAPI32]
Move the functions NetGetDCName, NetGetAnyDCName and NetEnumerateTrustedDomains into a separate file for the Netlogon service interface code.

svn path=/trunk/; revision=75186
2017-06-24 16:42:21 +00:00
Pierre Schweitzer
33b1caea25 [DXG]
Fix GCC build

svn path=/trunk/; revision=75185
2017-06-24 16:22:24 +00:00
Eric Kohl
c05ad4799c [NETAPI32]
Implement I_BrowserQueryOtherDomains, I_BrowserQueryStatistics and I_BrowserResetNetlogonState. This functions calls their counterpart in the computer browser service.


svn path=/trunk/; revision=75184
2017-06-24 14:59:14 +00:00
Sylvain Deverre
3e9107ceec [MMIXER] Cleanup mixer notifications opened by an application when it is closed.
CORE-10735 #comment Please retest.

svn path=/trunk/; revision=75183
2017-06-24 13:54:10 +00:00
Sebastian Gasiorek
1f993d692c [DXG] Initial implementation of DxDdLock and better stub for DxDdUnlock
svn path=/trunk/; revision=75182
2017-06-24 13:53:22 +00:00
Sebastian Gasiorek
355e52a599 [WIN32SS][NTDDRAW] Remove debug dump. Forgot about this.
svn path=/trunk/; revision=75181
2017-06-24 13:21:24 +00:00
Sebastian Gasiorek
52f67885e7 [WIN32SS][NTDDRAW] Remove debug dump of structures during ReactX initialisation. It's not needed and shouldn't be commited.
svn path=/trunk/; revision=75180
2017-06-24 12:36:19 +00:00
Sebastian Gasiorek
fa50e67d23 [DXG] Replace wrong PLONG with PBYTE as it was in original development. CORE-13392
svn path=/trunk/; revision=75179
2017-06-24 12:14:01 +00:00
David Quintana
1c5588d156 [NTOBJSHEX]
Make nt object symlinks work more like shortcuts. Fixes the addressbar not quite knowing what to show when you click on a symlink.

svn path=/trunk/; revision=75177
2017-06-23 23:23:17 +00:00
David Quintana
1777a8d251 [NTOBJSHEX]
Make GCC happy.

svn path=/trunk/; revision=75176
2017-06-23 21:40:19 +00:00
David Quintana
504d12bfff [NTOBJSHEX]
* Added a common superclass for the ntobj and registry folders.
* Refactored the ntobj and registry folders to make use of this superclass.
* Removed the concept of a "pidl helper", since it works best to just have the methods be part of the folders.
* Cleaned up the ItemID comparison logic.

svn path=/trunk/; revision=75175
2017-06-23 21:28:36 +00:00
Pierre Schweitzer
f369525725 [MPR]
Import Wine commit:
- 8d461c1f42b0b667b2aa6a235d007eea1dd6f561, Don't stop enumeration on the first failing network provider.

This fixes 'net use' stoping connections enumeration when a network returns an error or no connection.

CORE-13475

svn path=/trunk/; revision=75173
2017-06-23 19:29:31 +00:00
Pierre Schweitzer
f8e9e5ec4b [MPR]
Import Wine commit:
- 51b4a42969366cc409808aded23d3602a34206e2, Properly handle the count set to -1 when enumerating connections.

This fixes 'net use' not being able to enumerate multiple connections served by multiple network providers.

CORE-13475

svn path=/trunk/; revision=75172
2017-06-23 19:21:29 +00:00
Hermès Bélusca-Maïto
ab30fb1d60 [NTOS]: Improve a bit CmpDeepCopyKeyInternal():
- Normally getting the SrcNode and DestNode must succeed (checked with assert);
- Set the DestNode Flags member, in particular when this is the new root node of the saved registry hive;
- Copy the key class cell (OK), and the key security cell (currently done in a hackish way; proper way: call the CmpAssignSecurity* function);
- Add more clean-up on failure;
- Warn in code about the fact that CmpDeepCopyKeyInternal is recursive, and will easily exhaust kernel stack. This function will need to be reworked later...
CORE-10793 CORE-10796

svn path=/trunk/; revision=75171
2017-06-23 17:33:44 +00:00
David Quintana
3dae17b0e7 [NTOBJSHEX]
* Fix gcc build.
* Remove magic.
* Address nitpicks.

svn path=/trunk/; revision=75167
2017-06-22 18:00:57 +00:00
David Quintana
cdb3d06d8d [NTOBJSHEX]
Fixed registry value display for values that are too long to fit inside the shitemid.
Set the maximum for shitemid embedding back to a smaller number.

svn path=/trunk/; revision=75166
2017-06-22 17:49:42 +00:00
Hermès Bélusca-Maïto
624f4e9319 [WINTERNL.H]: Fix the value of OBJ_VALID_ATTRIBUTES, and add the definition for OBJ_FORCE_ACCESS_CHECK.
svn path=/trunk/; revision=75165
2017-06-22 15:41:44 +00:00
David Quintana
eb4e4b6e9f [NTOBJSHEX]
* Fixed NT object symbolic link target retrieval.
* Fixed NT path parsing (didn't consider paths sub sub-folders in them).
* Fixed BindToObject to properly resolve the target path for symlinks.
* Made the maximum embedded content length for registry keys a bit bigger.

svn path=/trunk/; revision=75160
2017-06-21 22:32:34 +00:00
Hermès Bélusca-Maïto
04201ba762 [CMLIB]: Use the generic allocator functions, and fix build.
svn path=/trunk/; revision=75159
2017-06-20 23:29:54 +00:00
Hermès Bélusca-Maïto
903ac43860 [CMLIB]: Implement the dynamic array of the hive cell reference tracker.
svn path=/trunk/; revision=75158
2017-06-20 23:11:53 +00:00
David Quintana
05bae83b22 [NTOBJSHEX]
Improve the GetDisplayNameOf logic from "badly broken" to "seems to work". I'm not convinced it's perfect, but it's better than before.

svn path=/trunk/; revision=75157
2017-06-20 23:03:24 +00:00
David Quintana
3832e3a6d8 [NTOBJSHEX]
Fix crash showing registry keys that have values.
CORE-13456 #resolve

svn path=/trunk/; revision=75156
2017-06-20 21:32:42 +00:00
Giannis Adamopoulos
6af2c49b5f [WIN32K:NTUSER] -IntSetThreadDesktop: Don't close the previous desktop handle. Fixes a lot of tests. Based on a patch by Sebastian Gasiorek. CORE-13463
svn path=/trunk/; revision=75154
2017-06-20 19:26:37 +00:00
Giannis Adamopoulos
7dea13d496 [USER32_APITEST] -Initial tests for desktop reference numbers.
svn path=/trunk/; revision=75153
2017-06-20 19:25:10 +00:00
Thomas Faber
60382e46c8 [RTL]
- Correctly use the page heap's lock in RtlLockHeap/RtlUnlockHeap when appropriate. Fixes assertion failure when Global/Local memory allocations are performed concurrently with DPH enabled.

svn path=/trunk/; revision=75152
2017-06-20 17:15:43 +00:00
Hermès Bélusca-Maïto
03a1f14142 [USER.EXE]: Addendum to r75126: add a (dummy) version resource to USER.EXE so as to fix error 1812 "ERROR_RESOURCE_DATA_NOT_FOUND" encountered when starting the DirectX 9.0 installer. From patch by Stas'M, thanks!
CORE-13462

svn path=/trunk/; revision=75151
2017-06-20 16:44:40 +00:00
Thomas Faber
e7e6f2ec5f [NTOS:MM]
- In MiDeletePte, check the ReferenceCount of transition PTEs, not the ShareCount (which is actually u2.Blink, since the page is in a modified/standby list). Also don't reset the PageLocation, since MiDecrementReferenceCount expects it to be anything but ActiveAndValid.
Fixes physical page leaks when using DPH, or other code that sets PAGE_NOACCESS.
CORE-13311 #resolve

svn path=/trunk/; revision=75150
2017-06-20 15:51:47 +00:00
Colin Finck
ecd9852691 That shouldn't have been committed in r75125. Thanks Thomas!
svn path=/trunk/; revision=75149
2017-06-20 14:48:26 +00:00
Colin Finck
b29844edd8 [LOCALSPL]
Add the missing root backslash to the symbolic link path. Fixes CORE-13457

svn path=/trunk/; revision=75148
2017-06-20 06:08:30 +00:00
Hermès Bélusca-Maïto
d5ed3d00c5 [FILESYSTEMS]: Fix printf-like counted string specifiers.
svn path=/trunk/; revision=75147
2017-06-20 00:45:07 +00:00
Hermès Bélusca-Maïto
2716a86ca7 [NTOS:CM]: Simplify code by using suitable assertion macro.
svn path=/trunk/; revision=75146
2017-06-19 23:18:42 +00:00
Jérôme Gardou
cf62382937 [DDK]
- Use FORCEINLINE where appropriate

svn path=/trunk/; revision=75145
2017-06-19 21:17:17 +00:00
Hermès Bélusca-Maïto
547949716c [NTOS]: Addendum to r75142: Use strsafe printf functions (suggested by Thomas).
svn path=/trunk/; revision=75144
2017-06-19 20:37:36 +00:00
Hermès Bélusca-Maïto
a449c39c25 [CMLIB][NTOS]: Use correct parameter type for the 4th parameter of CmpGetValueData().
[CMLIB]: Fix debug.h inclusion.
[NTOS]: Use RtlCopyUnicodeString() to initialize the contents of FullName.

svn path=/trunk/; revision=75143
2017-06-19 20:14:09 +00:00
Hermès Bélusca-Maïto
38274203e7 [NTOS]: Fixes & improvements:
- Fix a bug in CmpInitHiveFromFile(): correctly set the MaximumLength value of NewHive->FileFullPath;
- Code simplification: no need to use temporary ANSI string operations followed by UNICODE conversion, when one can do the same thing directly in UNICODE.
- Use NULL for NULL handles.

svn path=/trunk/; revision=75142
2017-06-19 20:07:15 +00:00
Hermès Bélusca-Maïto
f4518d125d [NTOS]: Improve parameter namings in CmpLinkKeyToHive() and some of its DPRINTs; use UNICODE_NULL where needed.
svn path=/trunk/; revision=75141
2017-06-19 20:04:25 +00:00
Mark Jansen
7117ea3375 [WIN32SS] Rewrite GetFontFamilyInfoForSubstitutes to use the subsitute list loaded at boot. Patch by Katayama Hirofumi MZ. CORE-13064
svn path=/trunk/; revision=75140
2017-06-19 20:00:36 +00:00
Hermès Bélusca-Maïto
e4ca76000c [NTOS]: Improve some DPRINTs, and variables naming + buffer data type in CmpAddToHiveFileList().
svn path=/trunk/; revision=75139
2017-06-19 19:55:14 +00:00
Hermès Bélusca-Maïto
b17ce9c805 [NTDLL_APITEST]: Temporarily disable part of the NtLoad/UnloadKey test (related to force-unload a hive while some handles to subkeys are still opened), because this creates memory corruptions, due to the fact we currently don't perform force-unloads correctly.
CORE-13448

svn path=/trunk/; revision=75138
2017-06-19 19:50:49 +00:00
Hermès Bélusca-Maïto
87cb029a9a [NTOS]: Fix the ObpLookupObjectName() prototype in regard to r75133.
svn path=/trunk/; revision=75136
2017-06-19 16:47:45 +00:00
Mark Jansen
939e841f4a [APPHELP] Implement Sdb[Un]packAppCompatData and SdbGetAppCompatDataSize. CORE-13284
svn path=/trunk/; revision=75135
2017-06-19 16:37:47 +00:00
Hermès Bélusca-Maïto
3c1c6952b7 [NTOS]: Avoid initializing variables within if-conditions.
svn path=/trunk/; revision=75134
2017-06-19 16:30:17 +00:00
Hermès Bélusca-Maïto
5cb03586f5 [NTOS]: Revert the pool tag change from r75128, and explain in comment why we cannot actually use it.
svn path=/trunk/; revision=75133
2017-06-19 16:29:44 +00:00
Hermès Bélusca-Maïto
8820136bd2 [NTOS]: Fix typos.
svn path=/trunk/; revision=75132
2017-06-19 15:26:08 +00:00
Mark Jansen
8f2f019415 [APPSHIM_APITEST] Addendum to r75041, add a missed line.
svn path=/trunk/; revision=75131
2017-06-19 15:24:05 +00:00
Mark Jansen
7cc3312dde [SHELL32] Partially sync shlexec with wine staging 2.9 CORE-13362 CORE-13407
svn path=/trunk/; revision=75130
2017-06-19 15:04:20 +00:00
Giannis Adamopoulos
615f2ccd2f [ATL]
-Add a new template called CComQIIDPtr and its partner I_ID macro. Its purpose is to be a gcc compatible version of CComQIPtr. 
-CComQIIDPtr<I_ID(Itype)> is the gcc compatible version of CComQIPtr<Itype>
- WARNING: this is not tested yet.

svn path=/trunk/; revision=75129
2017-06-19 14:52:51 +00:00
Hermès Bélusca-Maïto
f43b456462 [NTOS]: Minor fixes:
- Use NULL instead of 'zero' for setting a handle / pointer to NULL;
- Don't hardcode an array size; fix a comment;
- Use ExFreePoolWithTag();
- Whitespace fix.

svn path=/trunk/; revision=75128
2017-06-19 14:48:59 +00:00
Giannis Adamopoulos
d19f4a3169 [SHELL32]
-Rename constructors from Class_Creator to Class_CreateInstance. Prepend the ones that are exported from rshell with RSHELL_. The reasoning is that rshell will always use our code but whether or not internal classes will be used in shellmenu lib will be controlled by preprocessor definitions in shellmenu.h

[BROWSEUI]
-Rename more constructors to use the _CreateInstance suffix.

[RSHELL]
- The functions that let rshell export some objects have the RSHELL_ postfix but they are not exported as such. 

[EXPLORER]
- Rename _CStartMenu_Constructor to _CStartMenu_CreateInstance.

svn path=/trunk/; revision=75127
2017-06-19 14:27:51 +00:00
Hermès Bélusca-Maïto
ee591f5b01 [USER.EXE]: Add a *stub* user.exe to make the DirectX 9.0 installer happy (it searches user.exe for existence for no reason, and if it cannot find it, the installer bails out). (WARNING: This is in NO WAY our implementation of WoW16!!)
Reported on https://www.reactos.org/forum/viewtopic.php?f=4&t=15576 , http://reactos.org/forum/viewtopic.php?f=4&t=16498 .
This is not a ReactOS problem per se, because it also happens on Windows, as reported here:
https://xpetips.wordpress.com/2009/09/18/installing-directx-9-0c-on-xpe/ and http://www.xpembedded.info/DirectX_v9_0c_and_finding_missing_components_.html .

svn path=/trunk/; revision=75126
2017-06-19 14:24:48 +00:00
Colin Finck
a82d7577b3 [PRINTING]
- Implement GetPrinterDataA, GetPrinterDataExA, GetPrinterDataExW, GetPrinterDataW, SetPrinterDataA, SetPrinterDataExA, SetPrinterDataExW, SetPrinterDataW.
  They support all features for Print Server and Printer Handles (minus security checks!)
  I've also added tests for them.
- Store Printer data in SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers instead of SYSTEM\CurrentControlSet\Control\Print\Printers and create a registry symlink from the former path to the new one just like Windows does.
  According to https://social.technet.microsoft.com/Forums/windowsserver/en-US/a683ab54-c43c-4ebe-af8f-1f7a65af2a51, this is needed when having >900 printers to work around a size limit of the SYSTEM registry hive. And if Windows has both locations, we need both for compatibility anyway.
- Add several settings which are queried by the new Printer Data APIs when working with Print Server Handles.
- Store the job directory in the Windows-compatible "DefaultSpoolDirectory" setting and make use of it.
- Revert the ASSERTs in LocalEnumPrinters again to let us verify the NULL pointer exceptions in localspl_apitest (thanks Serge! CORE-13433)
- Translate ERROR_INVALID_NAME to ERROR_INVALID_PRINTER_NAME in all cases in OpenPrinterW (thanks Victor! CORE-13412)
- Make EnumMonitorsW and EnumPortsW in spoolss more robust against failing Print Monitors.
- Remove the wrong !phPrinter check in OpenPrinterW to make Print Server Handles work for real.
- Fix error handling when memory allocation fails: HeapAlloc doesn't set last error, so it's just wrong to query or return it.

One more item done from https://reactos.org/wiki/Printing !
This is all still a big Work-in-Progress, with many subtle bugs deep down in ReactOS, for which I need to open additional tickets. But I didn't want to make this commit even bigger..

svn path=/trunk/; revision=75125
2017-06-19 14:18:19 +00:00
Eric Kohl
483bdaa405 [NETAPI32]
Implement I_BrowserQueryEmulatedDomains, I_BrowserResetStatistics and I_BrowserSetNetlogonState. This functions calls their counterpart in the computer browser service.


svn path=/trunk/; revision=75124
2017-06-19 14:06:04 +00:00
Eric Kohl
75c3f8d542 [INCLUDE]
Replace the lmbrowsr.h form wine by a more complete psdk version.
Lmbrowsr.h was a part of Visual Studio 6 but Microsoft removed it from the PSDK later.

svn path=/trunk/; revision=75123
2017-06-19 13:48:40 +00:00
Benedikt Freisen
ee77d7ac02 [MSPAINT]
- clicking the blank dark gray area will now reset the selection -- patch by Katayama Hirofumi MZ

CORE-13452 #resolve

svn path=/trunk/; revision=75122
2017-06-19 13:02:09 +00:00
Pierre Schweitzer
5037dd926d [NFSD]
Misc. fixes by Thomas

svn path=/trunk/; revision=75121
2017-06-19 11:51:48 +00:00
Pierre Schweitzer
b3312ecfdf [NFS]
Add the missing pieces for the NFS filesystem: registry information.
Register the pnfs service (nfsd) as manual, so that it only gets started when user wants/needs it.
Same goes to the nfs41_driver service (driver). nfsd as a code modification specific to ReactOS so that it loads the driver
as soon as it gets started.

That means, in order to use NFS in ReactOS, you need to start the nfsd service: net start nfsd
Then, you can mount your remote share: net use * \\IP\path (you can replace * by a letter, e.g. z:)
There's no GUI stuff implemented yet for this in MPR.

If you want to access the share without mounting it in ReactOS (like, in Explorer), you've to be aware of a small detail:
after you start pnfs service, in explorer bar, type \\IP\nfs4\path. This is required so that NFS driver can claim the path
without troubles.

Something else you've to know: so far, tests where conducted with a remote share being 777, read-only and anonymously mounted.
Other scenarii are likely to fail (auth, rw, server?!, etc.).

Also note that if you attempt to mount a share on which you don't have traverse right, mounting will succeed but any later
operation will fail, refused by the remote NFS server. This is a bit different than the behavior on Linux where mount is denied
if traverse is not granted.

Final thing: this is highly experimental and not fully implemented yet: expect not working stuff, broken asserts, deadlocks, etc.

CORE-8204

svn path=/trunk/; revision=75120
2017-06-19 11:36:17 +00:00
Pierre Schweitzer
5ef4290a15 [NFSD]
Fix build?

svn path=/trunk/; revision=75119
2017-06-19 09:40:12 +00:00
Pierre Schweitzer
8d64c9de05 [LIBTIRPC]
Add a spec file

svn path=/trunk/; revision=75118
2017-06-19 09:09:22 +00:00
Pierre Schweitzer
cc89486210 [NFS]
More properly fix build for GCC/MSVC. By Thomas.

svn path=/trunk/; revision=75117
2017-06-19 08:20:13 +00:00
Pierre Schweitzer
67536408ff [NFSD]
Fix MSVC build by Thomas.

svn path=/trunk/; revision=75116
2017-06-19 08:17:45 +00:00
Pierre Schweitzer
7426b69076 [PDSK]
Complete iptypes.h

svn path=/trunk/; revision=75115
2017-06-19 08:02:19 +00:00
Pierre Schweitzer
f445db2c5c [NFSD]
Import the nfsd deamon from the nfs41 project.

CORE-8204

svn path=/trunk/; revision=75114
2017-06-19 07:57:04 +00:00
Pierre Schweitzer
de51bd8b04 [LIBTIRPC]
As suggested, move to 3rdparty

svn path=/trunk/; revision=75113
2017-06-19 07:45:14 +00:00
Eric Kohl
b0442978e8 [NETAPI32]
NetEnumerateComputerNames: Convert the returned array of strings. 

svn path=/trunk/; revision=75112
2017-06-18 22:52:05 +00:00
Eric Kohl
3138c9072b [NETAPI32]
Implement NetConnectionEnum(). This function calls its counterpart in the server service.


svn path=/trunk/; revision=75111
2017-06-18 22:43:24 +00:00
Pierre Schweitzer
6607c27063 [RXCE]
lolfix build

svn path=/trunk/; revision=75110
2017-06-18 22:15:34 +00:00
Hermès Bélusca-Maïto
1a67145131 [NFS][RXCE]: Fix MSVC build (definitively?)
svn path=/trunk/; revision=75109
2017-06-18 21:47:52 +00:00
Eric Kohl
91cbbbe892 [NTOS:SE]
Add the CmpAssignSecurityDescriptor() stub and improve some comments.

svn path=/trunk/; revision=75108
2017-06-18 21:43:09 +00:00
Pierre Schweitzer
abf7007043 [NFS]
Remove dependency already brought in by rxce

svn path=/trunk/; revision=75107
2017-06-18 21:40:52 +00:00
Pierre Schweitzer
7f7d54ce48 [RDBSS]
Clean up CMake files, based on suggestions by Hermès.
Might fix MSVC build.

svn path=/trunk/; revision=75106
2017-06-18 21:27:56 +00:00
Pierre Schweitzer
42e5eee699 [NFS]
Import the NFS file system mini-redirector and the associated network provider.
Not all the pieces are in place to make it working.

CORE-8204

svn path=/trunk/; revision=75105
2017-06-18 20:49:46 +00:00
Thomas Faber
1ee7db3ccc [NTOS:MM]
- Directly pass the file object to MmCreateDataFileSection

svn path=/trunk/; revision=75104
2017-06-18 20:10:44 +00:00
Thomas Faber
220e2a29b0 [NTOS:PNP]
- If PFN tracing is enabled, create a device object that allows the user to trigger a PFN dump (e.g. via "type \\.\Global\GLOBALROOT\Device\PfnDump")

svn path=/trunk/; revision=75103
2017-06-18 19:48:45 +00:00
Thomas Faber
cd7d2a507c [NPFS]
- Misc changes to improve code clarity

svn path=/trunk/; revision=75102
2017-06-18 18:08:52 +00:00
Thomas Faber
a916000ce2 [LIBTIFF]
- Update to version 4.0.8
CORE-13451

svn path=/trunk/; revision=75101
2017-06-18 17:50:12 +00:00
Thomas Faber
7e43425f53 [MBEDTLS]
- Update to version 2.4.2
CORE-13451

svn path=/trunk/; revision=75100
2017-06-18 17:25:30 +00:00
Thomas Faber
32d14fbc55 [LIBTIRPC]
- Try to fix VC2010 build as well
CORE-8204

svn path=/trunk/; revision=75099
2017-06-18 17:01:14 +00:00
Thomas Faber
962da98340 [LIBTIRPC]
- Fix MSVC build
CORE-8204

svn path=/trunk/; revision=75098
2017-06-18 16:41:23 +00:00
Pierre Schweitzer
080086f7e7 [LIBTIRPC]
Fix MSVC build?

svn path=/trunk/; revision=75097
2017-06-18 15:41:54 +00:00
Pierre Schweitzer
4008c7e312 [LIBTIRPC]
Import the libtirpc from the nfs41 project.

CORE-8204

svn path=/trunk/; revision=75096
2017-06-18 15:31:06 +00:00
Thomas Faber
3c643293dc [LIBMPG123]
- Add missing files
CORE-13451

svn path=/trunk/; revision=75094
2017-06-18 14:08:53 +00:00
Thomas Faber
d1d15ad1a6 [LIBMPG123]
- Update to version 1.25.0
CORE-13451

svn path=/trunk/; revision=75093
2017-06-18 14:03:50 +00:00
Thomas Faber
f5be5e8bfe [LIBMPG123]
- Fix ssize_t
CORE-13451

svn path=/trunk/; revision=75092
2017-06-18 13:35:40 +00:00
Thomas Faber
bb12a351c7 [LIBMPG123]
- Update to version 1.23.0
CORE-13451

svn path=/trunk/; revision=75091
2017-06-18 13:21:16 +00:00
Giannis Adamopoulos
eda316218d [SHELL32] -CMenuBand::SetSite: Don't fail if the site doesn't support the SID_STopLevelBrowser service.
svn path=/trunk/; revision=75090
2017-06-18 12:34:30 +00:00
Thomas Faber
635d21750f [LIBPNG]
- Update to version 1.6.29
CORE-13451

svn path=/trunk/; revision=75089
2017-06-18 12:19:52 +00:00
Thomas Faber
8f060bddfb [LIBSAMPLERATE]
- Update to version 1.0.9
CORE-13451

svn path=/trunk/; revision=75088
2017-06-18 11:41:14 +00:00
Thomas Faber
764f83d90d [NTOS:MM]
- Implement MiMapLockedPagesInUserSpace and MiUnmapLockedPagesInUserSpace.
CORE-13444 #resolve

svn path=/trunk/; revision=75087
2017-06-18 11:18:41 +00:00
Pierre Schweitzer
acaa894b33 [DESK]
French translation for Eric's work on r75085.

CORE-8352

svn path=/trunk/; revision=75086
2017-06-18 08:48:12 +00:00
Eric Kohl
838d4a450d [DESK]
Replace the screen resolution change confirmation message box by a proper dialog box with timeout.
CORE-8352

svn path=/trunk/; revision=75085
2017-06-18 08:31:20 +00:00
Thomas Faber
6bea3b076d [KMTESTS:MM]
- Test unaligned address and addresses close to MmHighestUserAddress in MmMapLockedPagesSpecifyCache test
CORE-13444

svn path=/trunk/; revision=75084
2017-06-18 08:00:29 +00:00
Hermès Bélusca-Maïto
2a16952b1c [NTOS]: Use SEH inside CmQueryKey(), as it can be called with user-mode parameter KeyInformation. Remove unused code in CmLoadKey().
I've noticed that in cmapi.c / ntapi.c we do not correctly check the validity of some OBJECT_ATTRIBUTES variables and user-mode vs. kernel-mode registry handles.

svn path=/trunk/; revision=75083
2017-06-17 23:34:32 +00:00
Eric Kohl
afdb90c845 [DESK]
- Add a message box to ask the user to confirm the screen resolution change.
- The resolution change will be reverted if the user clicks 'No'.
A separate dialog box with a timer will be added next.

svn path=/trunk/; revision=75082
2017-06-17 23:21:16 +00:00
Thomas Faber
d88cd4165d [PSDK]
- Properly add NTSTATUS code

svn path=/trunk/; revision=75081
2017-06-17 20:26:53 +00:00
Hermès Bélusca-Maïto
6398772537 [NTOS]: Improve a DPRINT.
svn path=/trunk/; revision=75080
2017-06-17 20:16:40 +00:00
Hermès Bélusca-Maïto
7f8dc7dfcc Just use REG_FORCE_UNLOAD since we're at it.
svn path=/trunk/; revision=75079
2017-06-17 20:13:17 +00:00
Hermès Bélusca-Maïto
9808e1ee19 [NTDLL_APITEST]: Add tests for NtLoadKey and NtUnloadKey.
CORE-13448

svn path=/trunk/; revision=75078
2017-06-17 20:08:48 +00:00
Pierre Schweitzer
3b5b6fd6f1 [GFLAGS]
Add some usage

svn path=/trunk/; revision=75077
2017-06-17 20:02:51 +00:00
Amine Khaldi
333789f736 [FREETYPE] Update to v2.8. By Katayama Hirofumi MZ, confirmed by me. CORE-13295
svn path=/trunk/; revision=75076
2017-06-17 19:04:57 +00:00
Pierre Schweitzer
97a76faf99 [BOOTDATA]
Use a gflag compatible way to enable Page Heap

svn path=/trunk/; revision=75075
2017-06-17 18:00:18 +00:00
Pierre Schweitzer
d7113fdd2b [GFLAGS]
Add a quick'n'dirty implementation of gflags utility.
It only covers some page heap usage (enough to enable/disable DPH :-)).
It's syntax compatible with MS one, and with what's written down in ROS wiki.

See: https://www.reactos.org/wiki/Debugging#Debug_Page_Heap_.28DPH.29

svn path=/trunk/; revision=75073
2017-06-17 12:34:08 +00:00
Giannis Adamopoulos
040ae7635a [SHELL32] -CMenuBand: forward WM_WININICHANGE to CMenuToolbarBase so that when themes get enabled, the menu bar in explorer becomes flat immediately.
svn path=/trunk/; revision=75072
2017-06-17 07:43:52 +00:00
Giannis Adamopoulos
5a105b3163 [BROWSEUI]
- CShellBrowser: Propagate WM_WININICHANGE to all immediate children.
- CInternetToolbar: Forward WM_WININICHANGE to the menu band to make aware that the flat menus option changed.

svn path=/trunk/; revision=75071
2017-06-17 07:28:35 +00:00
Hermès Bélusca-Maïto
d56490d24a [NTOS]: Employ the simple CMP_ASSERT_KCB_LOCK() macro to perform these asserts.
svn path=/trunk/; revision=75070
2017-06-17 01:22:17 +00:00
Hermès Bélusca-Maïto
0c258ecde0 [NTOS]: Whitespace fixes only.
svn path=/trunk/; revision=75069
2017-06-17 01:21:21 +00:00
James Tabor
6f9aac412d [User32]
- Based on patch by Nikolay Sivov : Fix static control id. Fixes dialog tests, see CORE-13362.

svn path=/trunk/; revision=75068
2017-06-16 22:49:36 +00:00
James Tabor
5d4aa30793 [User32]
- Skip desktop for positive index. See CORE-13362.

svn path=/trunk/; revision=75067
2017-06-16 22:44:21 +00:00
Hermès Bélusca-Maïto
3112a6b342 [NTOS]: Fix a bit the CmUnloadKey() function:
- When a hive is unloaded, we *must* set the HIVE_IS_UNLOADING flag before doing anything else (as other code in Cm depends on this);
- If we don't force a hive unload, we *must* check whether there are other opened handles to keys inside this hive, and if so, we must fail.
  If this is a force-unload however, we *must* invalidate/close all the opened handles to keys inside this hive, BUT this is left UNIMPLEMENTED at the moment (and therefore expect the already existing problems linked to this to still happen).
- Move the HvFree(Hive); call at the very end, just before deleting the Cm hive, and as is done in CmpDestroyHive().

svn path=/trunk/; revision=75066
2017-06-16 21:06:04 +00:00
Hermès Bélusca-Maïto
3c50fb3900 [NTOS]: Reorder the destruction code in CmpDestroyHive() to make it similar to the one in CmUnloadKey(). Same remark for a comment in NtUnloadKey2() too.
svn path=/trunk/; revision=75065
2017-06-16 21:02:27 +00:00
Hermès Bélusca-Maïto
4d90c65d54 [NTOS]: Few improvements:
- Remove few unneeded PCMHIVE "backwards"-casts, and in particular the 1st parameter of CmpUnlinkHiveFromMaster().
- Improve the dprints in CmCountOpenSubKeys().

svn path=/trunk/; revision=75064
2017-06-16 20:59:15 +00:00
Hermès Bélusca-Maïto
89d7d06790 [NTOS]: Remove trailing whitespace ; Use a correct pool tag in the CmpFree() call in CmpFreeDelayItem().
svn path=/trunk/; revision=75063
2017-06-16 20:44:51 +00:00
Amine Khaldi
098839afec [USBPORT] Bring-in the usbport driver created by Vadim Galyant. CR-111 GitHub PR #27. This is the first module out of many to come, so stay tuned! Many thanks to everyone involved in the code review. Very special thanks for Thomas as his help, insight and reviews helped tremendously.
svn path=/trunk/; revision=75062
2017-06-16 19:20:03 +00:00
Amine Khaldi
4b0ee92f91 [D3D8][D3D9][DDRAW][WINED3D] Sync with Wine Staging 2.9. This work couldn't have been committed without Sebastian Gasiorek's work on CORE-11331 so thanks again! Dedicated to Daniel. CORE-13362
svn path=/trunk/; revision=75061
2017-06-16 18:50:42 +00:00
Amine Khaldi
0cc09fc848 [PSDK] Update D3DCOLOR_ARGB and D3DQUERYTYPE. [DXSDK] Add missing D3DDEVICEDESC1, D3DDEVICEDESC2, D3DFINDDEVICERESULT1 and D3DFINDDEVICERESULT2.
svn path=/trunk/; revision=75060
2017-06-16 18:40:31 +00:00
Amine Khaldi
f6d85c300f [WIN32SS] Implement D3DKMT{Create,Destroy}DCFromMemory. Brought to you by Sebastian Gasiorek. CORE-11331 CORE-13362
svn path=/trunk/; revision=75059
2017-06-16 18:38:08 +00:00
Giannis Adamopoulos
3770c2d134 [SHELL32] -CMenuBand: When the flat menus style is enabled, shell menu bars should not look like toolbars.
svn path=/trunk/; revision=75058
2017-06-16 17:53:50 +00:00
Thomas Faber
8c8f34f7fd [KMTESTS:MM]
- In the MmMapLockedPagesSpecifyCache test, try to allocate & free memory or unmap a section view in the mapped buffer space
CORE-13444

svn path=/trunk/; revision=75057
2017-06-16 11:06:33 +00:00
Eric Kohl
57206b450b [ADVAPI32]
ScmRpcStatusToWinError: Convert STATUS_ACCESS_VIOLATION to ERROR_INVALID_HANDLE.
UnlockServiceDatabase returns ERROR_INVALID_SERVICE_LOCK instead of ERROR_INVALID_HANDLE.

svn path=/trunk/; revision=75053
2017-06-15 23:19:34 +00:00
Eric Kohl
a26e5a47fc [ADVAPI32]
CreateServiceA/W: Call SetLastError() in case of success too.

svn path=/trunk/; revision=75052
2017-06-15 21:40:12 +00:00
Thomas Faber
830b3fc070 [NTOS:IO]
- Pass the class key handle as a parameter to IopAttachFilterDrivers, since we already opened it in PipCallDriverAddDevice.
CORE-13336 #resolve

svn path=/trunk/; revision=75051
2017-06-15 18:32:14 +00:00
Thomas Faber
56c393d8f4 [NTOS:IO]
- Consistently treat class filters as optional in IopAttachFilterDrivers
CORE-13336

svn path=/trunk/; revision=75049
2017-06-15 16:14:01 +00:00
Thomas Faber
7b8f448f33 [NTOS:IO]
- Simplify logic in PipCallDriverAddDevice.
CORE-13336

svn path=/trunk/; revision=75048
2017-06-15 13:51:09 +00:00
Thomas Faber
b2405204cd [NTOS:IO]
- Addendum to r75046: add missing header change.
CORE-13336

svn path=/trunk/; revision=75047
2017-06-15 13:33:55 +00:00
Thomas Faber
2103cf341f [NTOS:IO]
- Pass Enum subkey handle to IopAttachFilterDrivers, since we've already opened it in PipCallDriverAddDevice.
CORE-13336

svn path=/trunk/; revision=75046
2017-06-15 13:25:26 +00:00
Thomas Faber
3dda28e8fb [WIN32K:NTUSER]
- Fix clipboard lock check in UserSetClipboardData. Fixes 24 user32:clipboard tests.
CORE-13414 #resolve

svn path=/trunk/; revision=75045
2017-06-15 12:16:09 +00:00
Eric Kohl
6664d60e19 [ADVAPI32]
OpenServiceA/W: Call SetLastError() in case of success too.

svn path=/trunk/; revision=75044
2017-06-15 09:29:22 +00:00
Thomas Faber
907d0d20e8 [RTL]
- Implement RtlIsCriticalSectionLocked and RtlIsCriticalSectionLockedByThread
CORE-13436 #resolve

svn path=/trunk/; revision=75043
2017-06-15 06:47:42 +00:00
Eric Kohl
248545d219 [NETAPI32]
Add obsolete NetRepl functions.

svn path=/trunk/; revision=75042
2017-06-15 00:21:07 +00:00
Mark Jansen
272bc3ef9f [APITEST] Move RedirectIat into it's own header so that it can be used from multiple tests.
svn path=/trunk/; revision=75041
2017-06-14 15:25:04 +00:00
Mark Jansen
0d157ecbc8 [NOTEPAD] Fix default font settings. Patch by Katayama Hirofumi MZ. CORE-13037
svn path=/trunk/; revision=75040
2017-06-14 14:22:32 +00:00
Eric Kohl
ec398e2908 [NETAPI32]
- Add I_BrowserQueryEmulatedDomains and I_BrowserSetNetlogonState to the new computer browser inferface file.
- Get rid of the now obsolete browsr.c file.

svn path=/trunk/; revision=75039
2017-06-14 13:44:11 +00:00
Eric Kohl
243e71c96c [NETAPI32]
- Add the computer browser service client interface.
- Add binding code for the computer browser service client interface.

svn path=/trunk/; revision=75038
2017-06-14 13:10:36 +00:00
Eric Kohl
4d493bb613 [NETAPI32]
Implement NetEnumerateComputerNames. This function calls its counterpart in the workstation service.


svn path=/trunk/; revision=75037
2017-06-14 13:06:41 +00:00
Eric Kohl
8ef995b4d0 [IDL]
Add computer browser service interface definition files.

svn path=/trunk/; revision=75035
2017-06-14 12:57:52 +00:00
Eric Kohl
005d3af030 [NETAPI32]
Move the stubs NetServerEnum and NetServerEnumEx into a new file for the computer browser service interface code.

svn path=/trunk/; revision=75034
2017-06-14 12:17:08 +00:00
Eric Kohl
89eb252fb8 [NETAPI32]
Implement NetGetJoinableOUs and NetValidateName. These functions call their counterparts in the workstation service.


svn path=/trunk/; revision=75033
2017-06-14 11:31:54 +00:00
Eric Kohl
4747d6a5c1 [NETAPI32]
Implement NetAddAlternateComputerName, NetJoinDomain, NetRemoveAlternateComputerName, NetRenameMachineInDomain, NetSetPrimaryComputerName and NetUnjoinDomain. These functions call their counterparts in the workstation service.


svn path=/trunk/; revision=75032
2017-06-14 09:50:54 +00:00
Thomas Faber
25b44b332b [SETUPAPI]
- Properly stub SetupDiRemoveDeviceInterface. From Wine commit cdb72f39 by Hans Leidekker. Fixes crash when running setupapi_winetest:devinst.
CORE-13362

svn path=/trunk/; revision=75031
2017-06-14 07:14:44 +00:00
Thomas Faber
b5cdb03dd8 [DEVENUM_WINETEST]
- Fix return value check for IEnumMoniker_Next. Fixes crash when running the test without renderers installed (as is the case on ROS).
CORE-13421 #resolve

svn path=/trunk/; revision=75030
2017-06-14 06:44:39 +00:00
Robert Naumann
0b9b807d23 [FONTS] Improve the font-substitution for Franklin Gothic Medium to better match the original font. This improves Luna's start button. CORE-12877
svn path=/trunk/; revision=75029
2017-06-13 21:40:41 +00:00
Eric Kohl
7b4db04803 [NTOSKRNL]
NtAccessCheck: Call SePrivilegePolicyCheck to get the list of required privileges and return it to the caller.
This fixes the ERROR_INSUFFICIENT_BUFFER failures in the advapi32 security winetest.

svn path=/trunk/; revision=75028
2017-06-13 20:58:10 +00:00
Thomas Faber
74a68e0f6b [SCHANNEL]
- Apply Wine commit 81861ddd (secur32: Don't change input buffer in InitializeSecurityContext) by Jacek Caban. Fixes crash when running secur32_winetest:schannel
CORE-13425 #resolve

svn path=/trunk/; revision=75027
2017-06-13 20:51:26 +00:00
Giannis Adamopoulos
74cca4dd1e [WIN32K] -Use RtlStringCchCopyW instead of RtlStringCbCopyW in SubstituteFontRecurse as LF_FACESIZE is the number of characters of the buffer. Patch by Katayama Hirofumi MZ. CORE-13419, CORE-13416
svn path=/trunk/; revision=75026
2017-06-13 20:17:07 +00:00
Thomas Faber
eb3f29d2ad [WIN32K:NTUSER]
- Fail UserSetClipboardData in case of 0 format, as shown by user32:clipboard test

svn path=/trunk/; revision=75024
2017-06-13 14:11:26 +00:00
Thomas Faber
a41482aaa8 [USER32]
- Set last error on success in EnumClipboardFormats, as shown by user32:clipboard test

svn path=/trunk/; revision=75022
2017-06-13 13:40:55 +00:00
Thomas Faber
5e10767ccd [WIN32K:NTUSER]
- Close the clipboard when a thread is destroyed. Fixes 148 user32:clipboard tests
CORE-13414

svn path=/trunk/; revision=75021
2017-06-13 13:27:03 +00:00
Thomas Faber
d7fe3588b6 [WIN32K:NTUSER]
- Avoid crash on invalid format in UserEnumClipboardFormats. This is covered by user32_winetest but we currently fail that call before it can crash. The next commit will change that.
CORE-13414

svn path=/trunk/; revision=75020
2017-06-13 13:12:55 +00:00
Thomas Faber
1d4a0a6e30 [NTMARTA]
- Add support for CURRENT_USER trustee in AccpGetTrusteeSid. Fixes crash in advapi32_winetest:security
CORE-13420 #resolve

svn path=/trunk/; revision=75019
2017-06-13 10:10:57 +00:00
Thomas Faber
e953073b5f [BOOTDATA]
- Add Print context menu item for .rtf files. Patch by Nikolay Burshtyn.
CORE-13342 #resolve

svn path=/trunk/; revision=75018
2017-06-13 06:45:39 +00:00
Thomas Faber
82284116fa [KMTESTS]
- Add test for hidparse's descriptor parsing
CORE-11538

svn path=/trunk/; revision=75017
2017-06-13 05:48:28 +00:00
James Tabor
4d11c54f65 [GDI32|Metafile]
- Instead of debug breaking, use wine code anyway. Should fix CORE-12911.

svn path=/trunk/; revision=75016
2017-06-12 22:42:45 +00:00
Thomas Faber
07e4b2cd19 [HDAUDBUS]
- Initialize the correct variable in HDA_FDOQueryBusRelations. Should fix random crashes due to uninitialized value use.
CORE-12707 #resolve

svn path=/trunk/; revision=75015
2017-06-12 19:51:29 +00:00
Thomas Faber
c524a09a17 [WIN32K:NTUSER]
- Add a hack to avoid doubly freeing a DCE in IntDestroyClass. Since we don't implement W32PF_OWNDCCLEANUP and always free DCEs unconditionally in DceFreeDCE, it is not safe to access the class DCE here (and probably other places) since it could have been deleted by a dying thread.
CORE-13415 #resolve

svn path=/trunk/; revision=75014
2017-06-12 19:37:58 +00:00
Giannis Adamopoulos
40dcceff12 [SHELL32] -Add Comments as the 2nd column in CDesktopFolder, CDrivesFolder and CRegFolder. Add Type as the 3rd column in CRegFolder. This is not entirely correct. Our columns support is rudimentary, however we now show the comments stuff in the right place and the reg folder items have a type.
svn path=/trunk/; revision=75013
2017-06-12 18:38:26 +00:00
Giannis Adamopoulos
f6131fb8a9 Fix build.
svn path=/trunk/; revision=75012
2017-06-12 10:11:39 +00:00
Giannis Adamopoulos
f8555b75c4 [SHELL32]
- Rename the resource identifiers for column names to make sense. Get rid of one called File. This was renamed to Name but was the same in other languages, now it is replaced by Name for good. We also had two strings for a column called Comments and I think that in some languages one was singular and the other was plural. We only need the plural one. 
Note to translators: Please make sure that everything I changed makes sense. I had to edit all language files and there can be mistakes and typos.

svn path=/trunk/; revision=75011
2017-06-12 10:01:28 +00:00
Pierre Schweitzer
9805c2c7e7 [NTOSKRNL]
Implement SystemExtendedHandleInformation based on SystemHandleInformation.
To be improved...
Passes ntdll_winetest:info.

CORE-13368

svn path=/trunk/; revision=75006
2017-06-11 17:32:56 +00:00
Giannis Adamopoulos
2a0e4e58cf [SHELL32] -CDrivesFolder: Implement returning the appropriate type string in GetDetailsOf. Simplify GetDetailsOf and CDrivesExtractIcon_CreateInstance.
svn path=/trunk/; revision=75005
2017-06-11 14:02:14 +00:00
Mark Jansen
3a302c5330 [APPHELP_APITEST] Addendum to r74986, make the test work on win7. CORE-13284
svn path=/trunk/; revision=75004
2017-06-11 13:09:43 +00:00
Thomas Faber
3d3581bab1 [BUGCODES]
- Add DIRTY_NOWRITE_PAGES_CONGESTION and BUGCODE_USB_DRIVER

svn path=/trunk/; revision=75003
2017-06-11 12:46:15 +00:00
Thomas Faber
b8ed811f40 [PSDK]
- Fix C++ version of BM_REQUEST_TYPE without breaking the C version

svn path=/trunk/; revision=75002
2017-06-11 12:26:48 +00:00
Mark Jansen
b8ea78efa1 [WIN32NT_APITEST] Do not assert on a driver without DirectX support.
svn path=/trunk/; revision=75001
2017-06-11 11:47:41 +00:00
Thomas Faber
3779212db7 [NTOS:EX]
- Return STATUS_SUCCESS from the SystemExtendedHandleInformation stub to make Process Explorer happy. Fixes infinite loop on AHK bot.

svn path=/trunk/; revision=75000
2017-06-11 11:28:00 +00:00
Mark Jansen
27951d117b [WIN32K] Remove an unneeded check at GreGetDIBitsInternal. Patch by Victor Martinez Calvo. CORE-13413 CID 1411972
svn path=/trunk/; revision=74999
2017-06-11 11:18:57 +00:00
Mark Jansen
2366903f94 [COMCTL32_IMAGELIST] Prevent dereferencing a null pointer.
svn path=/trunk/; revision=74998
2017-06-11 11:08:32 +00:00
Mark Jansen
182d125bc0 [SHELL32] Do not fail CFSFolder::GetDisplayNameOf with a NULL pidl, preventing another crash in shell32:CFSFolder
svn path=/trunk/; revision=74997
2017-06-11 10:39:55 +00:00
Mark Jansen
7583b2b298 [WIN32KNT_APITEST] Do not assert on the result of an unimplemented function.
svn path=/trunk/; revision=74996
2017-06-11 08:51:36 +00:00
Mark Jansen
6c7fe2fb5f [SHELL32] Don't try to follow a null pointer inside CFSDropTarget, this fixes a crash in shell32:CFSFolder
svn path=/trunk/; revision=74995
2017-06-11 08:38:16 +00:00
Mark Jansen
178bc77a1f [SHELL32] Expose IID_CDefView in our CDefView implementation, this fixes a crash on shell32:shlview
svn path=/trunk/; revision=74994
2017-06-11 08:37:03 +00:00
Thomas Faber
16370e7605 [WIN32K:NTUSER]
Fix pool use after free during user32📋
- Rename IntIsFormatAvailable to IntGetFormatElement to better reflect what it does
- Introduce a new IntIsFormatAvailable that actually returns BOOL as implied by the name
- In IntAddSynthesizedFormats, call IntGetFormatElement right before its data is actually used, since IntAddFormatedData will invalidate the element pointer.
Thanks to Kamil for the initial investigation on this.
CORE-13408 #resolve

svn path=/trunk/; revision=74993
2017-06-11 08:33:36 +00:00
Pierre Schweitzer
1bde2edfcb [WS2_32]
Don't pass a null ptr at MSAFD to avoid dereference.
Fixes crash in ws2_32:sock

svn path=/trunk/; revision=74992
2017-06-11 07:56:18 +00:00
Thomas Faber
fbfe11f633 [WIN32K:NTUSER]
- Initialize BITMAPINFOHEADER::biSize before calling GreGetDIBitsInternal in IntSynthesizeDib. Fixes use of uninitialized memory and subsequent stack buffer overflow.
CORE-13408

svn path=/trunk/; revision=74991
2017-06-11 06:53:28 +00:00
Thomas Faber
ea1f78da72 [WIN32K:NTUSER]
- Include the CLIPBOARDDATA structure itself when calculating the size passed to UserCreateObject in IntSynthesizeDib. Fixes user heap corruption when running user32_winetest:clipboard.
CORE-13408

svn path=/trunk/; revision=74990
2017-06-11 06:05:42 +00:00
Pierre Schweitzer
f45315d051 [RDBSS]
Cosmetic fix

CID 1411968, 1411969

svn path=/trunk/; revision=74989
2017-06-10 20:58:22 +00:00
Pierre Schweitzer
fc8affc217 [RDBSS]
Fix reading parameters from registry

CID 1411973

svn path=/trunk/; revision=74987
2017-06-10 20:46:28 +00:00
Mark Jansen
be0666cf16 [APPHELP_APITEST] Add tests for ApphelpCheckRunApp[Ex], SdbGetMatchingExe, Sdb[Un]PackAppCompatData. CORE-13284
svn path=/trunk/; revision=74986
2017-06-10 20:31:58 +00:00
Pierre Schweitzer
50f668e4b3 [RXCE]
Misc. fixes.

CID 1411918, 1411929, 1411919

svn path=/trunk/; revision=74985
2017-06-10 20:28:25 +00:00
Mark Jansen
1b27b462ec [SHLWAPI_APITEST] Add PathFindOnPath tests. Patch by Katayama Hirofumi MZ. ROSTESTS-283 #comment Thanks!
svn path=/trunk/; revision=74984
2017-06-10 19:41:31 +00:00
Mark Jansen
d4db41b968 Addendum to r74982, remove some debugging code.
svn path=/trunk/; revision=74983
2017-06-10 17:47:56 +00:00
Mark Jansen
20cbe80c85 [SHELL32_APITEST] Add tests for PathResolve. Patch by Katayama Hirofumi MZ. CORE-12665 #comment Thanks!
svn path=/trunk/; revision=74982
2017-06-10 17:46:11 +00:00
Eric Kohl
d22bf76977 [SCHEDSVC]
Add a loop at the end of SchedServiceMain that will run until a stop event is signaled. This loop will be used to run the schduled jobs.

svn path=/trunk/; revision=74981
2017-06-10 10:51:49 +00:00
Thomas Faber
f5362e927f [NTOS:EX]
- Stub NtQuerySystemInformation:SystemExtendedHandleInformation. Avoids crashes in the upcoming ntdll_winetest sync.
CORE-13368 #resolve

svn path=/trunk/; revision=74980
2017-06-10 07:59:50 +00:00
Pierre Schweitzer
79a42b92f4 [UDFS]
Fix UDFS volume size computation.
Note that side effect of this is that free space computation is broken;
due to larger bitmap walk. To be fixed...

CORE-4375
CORE-13366

svn path=/trunk/; revision=74979
2017-06-10 05:45:26 +00:00
Amine Khaldi
071ff079a6 [PSDK] Add some missing definitions.
svn path=/trunk/; revision=74978
2017-06-09 23:13:23 +00:00
Thomas Faber
3fd5666e63 [WIN32K:NTUSER]
- Fix fmt range check in NtUserGetClipboardFormatName (see Wine commit 4bdcf512). Fixes new test failures (and resulting debug spam) in user32_winetest:clipboard
CORE-13402 #resolve

svn path=/trunk/; revision=74977
2017-06-09 21:36:15 +00:00
Mark Jansen
630bbc5421 [CALC] Explicitly link against comctl32. Patch by Carlo Bramini. CORE-10727
svn path=/trunk/; revision=74976
2017-06-09 18:21:54 +00:00
Thomas Faber
c16f5dc411 [USER32_WINETEST]
- Hackfix crash in user32:clipboard test due to NULL pointer returned from GetClipboardData.

svn path=/trunk/; revision=74974
2017-06-09 14:08:50 +00:00
Thomas Faber
3cbe1ae789 [GDI32]
- Check for lpResults == NULL in GetCharacterPlacementA. Patch by Doug Lyons. Fixes crash in gdi32_winetest:font
CORE-13401 #resolve

svn path=/trunk/; revision=74973
2017-06-09 11:14:11 +00:00
Giannis Adamopoulos
19dd22d422 [EXPLORER] -Use WM_POPUPSYSTEMMENU to open the system menu of a window. CORE-13400
svn path=/trunk/; revision=74972
2017-06-09 09:16:44 +00:00
Giannis Adamopoulos
e340056142 [EXPLORER] -Fix the return value in HandleShellHookMsg. Suggestion by Christoph.
svn path=/trunk/; revision=74971
2017-06-09 08:29:04 +00:00
Mark Jansen
8d15eb4dea [NTOS:MM] Do not queue debugger events after notifying process exit. CORE-13393
Patch suggested by Thomas.

svn path=/trunk/; revision=74969
2017-06-08 20:34:47 +00:00
Giannis Adamopoulos
8ad0eae687 [EXPLORER] -Revert a hack from r63304 that caused CORE-13388. This hid another bug and the correct way to fix this is to return MA_NOACTIVATE to WM_MOUSEACTIVATE.
svn path=/trunk/; revision=74968
2017-06-08 20:31:49 +00:00
Pierre Schweitzer
1ac1c1b261 [KMTESTS:MM]
When testing noncached mapping, use MmAllocateNonCachedMemory() as suggested by Thomas to avoid later potential failures

svn path=/trunk/; revision=74967
2017-06-08 20:16:34 +00:00
Hermès Bélusca-Maïto
7384a6a1d5 [GDI32_APITEST]: Fix the "missing braces around initializer" GCC error that I've introduced in r74962.
svn path=/trunk/; revision=74966
2017-06-08 19:09:01 +00:00
Giannis Adamopoulos
6b8f404594 [EXPLORER] -Open the start menu on mouse down. Patch by Joachim Henze (reactosfanboy). CORE-13375
svn path=/trunk/; revision=74965
2017-06-08 18:57:53 +00:00
Hermès Bélusca-Maïto
349d9f652b [ADVAPI32_WINETEST]: Fix compilation with MSVC 2010 (guarded via __REACTOS__).
svn path=/trunk/; revision=74963
2017-06-08 17:04:24 +00:00
Hermès Bélusca-Maïto
72c5e65e8c [GDI32_APITEST]: Fix compilation under MSVC 2010.
svn path=/trunk/; revision=74962
2017-06-08 17:00:55 +00:00
Giannis Adamopoulos
438d60c401 [UXTHEME] -Implement support for non rectangular caption buttons in WM_NCHITTEST handling. Please note that non rectangular buttons or buttons with no gaps between them are HACKY for XP so hittesting will never work properly (we really mimic windows xp here). Cache the position of caption buttons in the WINDOWINFO. CORE-13171
svn path=/trunk/; revision=74960
2017-06-08 14:27:52 +00:00
Eric Kohl
30ad304570 [NETAPI32]
Add obsolete NetErrorLog and NetService functions.

svn path=/trunk/; revision=74958
2017-06-08 09:34:31 +00:00
Eric Kohl
6d28124a20 [NETAPI32]
Add obsolete NetAudit and NetConfig functions.

svn path=/trunk/; revision=74957
2017-06-08 08:41:28 +00:00
Eric Kohl
658595fb98 [PSDK]
Fix NetAuditRead and NetAuditWrite prototypes (LPTSTR->LPCWSTR).

svn path=/trunk/; revision=74956
2017-06-08 08:37:59 +00:00
Pierre Schweitzer
453fae7f31 [KMTESTS:MM]
Make MmMapLockedPagesSpecifyCache a bit more robust. Based on Thomas' suggestions

svn path=/trunk/; revision=74955
2017-06-08 06:44:48 +00:00
Eric Kohl
eb6360d80f [NETAPI32]
Add obsolete NetAlert and NetMessage functions.

svn path=/trunk/; revision=74950
2017-06-08 00:30:49 +00:00
Eric Kohl
544223fa5a [NETAPI32]
Implement NetServerTransportAdd, NetServerTransportAddEx, NetServerTransportDel and NetServertransportEnum. These functions call their counterparts in the server service.


svn path=/trunk/; revision=74949
2017-06-07 23:35:09 +00:00
Eric Kohl
312c89f38e [NETAPI32]
- Implement NetServerDiskEnum, NetServerGetInfo and NetServerSetInfo. These functions call their counterparts in the server service.
- The new NetServerGetInfo function is disabled because its server side (NetrServerGetInfo) must be implemented before we can replace the Wine implemenation without loss of functionality.


svn path=/trunk/; revision=74948
2017-06-07 22:27:34 +00:00
Mark Jansen
2252393eeb [KERNEL32_WINETEST] Kill process that hangs on an unimplemented feature.
svn path=/trunk/; revision=74947
2017-06-07 20:40:42 +00:00
Thomas Faber
c2486683cc [NTOS:DBGK]
- Add SEH in DbgkpPostFakeModuleMessages. Fixes crash in ntdll_winetest:info when trying to debug another process that was started suspended.
CORE-13369 #resolve

svn path=/trunk/; revision=74946
2017-06-07 20:23:53 +00:00
Pierre Schweitzer
68dca562d7 [UDFS]
Set the volume label with the logical volume ident contained in the file set descriptor.
Microsoft appears to do so, so mimic this behavior to have consistent volumes labels with Windows.

CORE-4375

svn path=/trunk/; revision=74945
2017-06-07 19:33:55 +00:00
Eric Kohl
5ec31693b0 [SCHEDSVC]
Avoid JOBs overrunning in LoadJobs().
- Define JOB_NAME_LENGTH and use it instead of hardcoded values.
Based on a patch by Victor Martinez Calvo.
CORE-13389

svn path=/trunk/; revision=74944
2017-06-07 17:45:05 +00:00
Eric Kohl
3e87295366 [INTL]
- Fix a potential overflow and uninitialized variable in InitNegNumFmtCB().
- Get rid of the now useless string buffer szNewSample.
Based on a patch by Victor Martinez Calvo.
CORE-13384

svn path=/trunk/; revision=74942
2017-06-07 15:55:16 +00:00
Eric Kohl
fd32dd8623 [INTL]
Fix freeing logic in GetSupportedCP().
Patch by Victor Martinez Calvo.
CORE-13385

svn path=/trunk/; revision=74941
2017-06-07 14:10:43 +00:00
Eric Kohl
2c1c8e2f94 [INTL]
Fix GetDateSetting() overruns.
Patch by Victor Martinez Calvo.
CORE-13387

svn path=/trunk/; revision=74940
2017-06-07 13:48:49 +00:00
Eric Kohl
d6f5debb07 [INTL]
Fix overruns in GetTimeSetting().
Patch by Victor Martinez Calvo.
CORE-13386

svn path=/trunk/; revision=74939
2017-06-07 13:43:33 +00:00
Eric Kohl
b3b8277a07 [INTL]
Prevent wcsncopy overflows in GetCurrencySettings().
Patch by Victor Martinez Calvo.
CORE-13379

svn path=/trunk/; revision=74938
2017-06-07 13:37:43 +00:00
Benedikt Freisen
101ccf86e2 [MSPAINT]
- fix incorrect file extension management -- patch by Katayama Hirofumi MZ

CORE-12354 #resolve

svn path=/trunk/; revision=74937
2017-06-07 10:12:05 +00:00
Benedikt Freisen
9a2dd59876 [MSPAINT]
- fix incorrect image resizing -- patch by Katayama Hirofumi MZ

CORE-10719 #resolve

svn path=/trunk/; revision=74936
2017-06-07 10:00:04 +00:00
Giannis Adamopoulos
7ca0d5807c [UXTHEME] -Fix parsing font styles like bold or italic.
svn path=/trunk/; revision=74935
2017-06-07 08:35:35 +00:00
Giannis Adamopoulos
391e68be86 [UXTHEME] -Rename ActiveThemeFile to g_ActiveThemeFile, user32ApiHook to g_user32ApiHook and gbThemeHooksActive to g_bThemeHooksActive.
svn path=/trunk/; revision=74934
2017-06-07 08:28:14 +00:00
Giannis Adamopoulos
27c9570f9d [COMCTL32] -Fix a lot of tests for the v5 toolbar without braking the behavior of the v6 one (that needs to be tested).
svn path=/trunk/; revision=74931
2017-06-06 12:19:17 +00:00
Hermès Bélusca-Maïto
6fda346a25 [EXPLORER]: Fix what appears to be a copy-pasta error: use the correct window class names in the corresponding message maps. Validated by Giannis Adamopoulos.
svn path=/trunk/; revision=74930
2017-06-05 22:01:09 +00:00
Giannis Adamopoulos
759a452d44 [COMCTL32_APITEST] -Make comctl32v5.manifest really point to the v5 library.
svn path=/trunk/; revision=74929
2017-06-05 21:50:21 +00:00
Thomas Faber
605a7dfec9 [NTDLL_VISTA]
- Avoid importing from kernel32. We're supposed to be... ntdll
CORE-13361

svn path=/trunk/; revision=74928
2017-06-05 21:37:13 +00:00
Peter Hater
d70eb21b6b [WINETESTS] Avoid canceling the test when Samba is not installed and NTLM authentication is tested
svn path=/trunk/; revision=74927
2017-06-05 19:27:50 +00:00
Pierre Schweitzer
3a11250596 [UDFS]
Only use unused var warnings. Patch by Thomas.

CORE-4375

svn path=/trunk/; revision=74926
2017-06-05 16:02:47 +00:00
Pierre Schweitzer
c91b3835c5 [UDFS]
Misc fixes by Thomas.

CORE-4375

svn path=/trunk/; revision=74925
2017-06-05 15:54:51 +00:00
Giannis Adamopoulos
3767fcf5cc Fix gcc build.
svn path=/trunk/; revision=74924
2017-06-05 14:40:48 +00:00
Giannis Adamopoulos
0cfb73fce3 [COMCTL32_APITEST] -Add tests for CCM_GETVERSION and CCM_SETVERSION for the v5 and v6 toolbar control.
svn path=/trunk/; revision=74923
2017-06-05 14:25:37 +00:00
Giannis Adamopoulos
f71f869a95 [COMCTL32] -Differentiate between v5 and v6 toolbar and make their CCM_SETVERSION behave correct according to their version.
svn path=/trunk/; revision=74922
2017-06-05 14:23:42 +00:00
Pierre Schweitzer
2130f6ee4b [UDFS]
Misc coverity fixes.
CID 1412011, 1321904, 1322008, 1322151, 1321905

CORE-4375

svn path=/trunk/; revision=74921
2017-06-05 13:00:58 +00:00
Pierre Schweitzer
d3e907f461 [UDFS]
Complete the implementation of UDFGetNetworkInformation() so that it sets all the fields.
This fixes displaying file size in explorer.

CORE-4375
CORE-13366

svn path=/trunk/; revision=74919
2017-06-04 19:17:10 +00:00
Hermès Bélusca-Maïto
cef084134d [i8042prt]: Yet another hack for Dell trackpad, but this time, we inaugurate the Inspiron series with a Dell Inspiron 6000 hack!! x^( Something's fishy in our driver...
Tested and confirmed working by Jared Smudde.
CORE-6901

svn path=/trunk/; revision=74918
2017-06-04 18:24:05 +00:00
Hermès Bélusca-Maïto
b3e5a3b667 [PSDK]: Remove a couple of redundant #defines that are already defined in this regstr.h file.
svn path=/trunk/; revision=74917
2017-06-04 18:19:55 +00:00
Hermès Bélusca-Maïto
93cfc03633 [SETUPAPI]: Fix a 9-year old bug in the SETUP_CreateClassKey() logic, introduced in r31860, that set a wrong Class name value if the corresponding registry key already existed. The bug was unveiled by my commit r74761.
[SETUPAPI_APITEST]: When selecting another test_class_guid and test_class_name couple via SetupDiClassNameFromGuidA(), check whether this function actually succeeds. Also, improve some error output.

svn path=/trunk/; revision=74916
2017-06-04 18:16:24 +00:00
Pierre Schweitzer
a538181140 [UDFS]
Fix broken implementation of UDFGetFullNameInformation().
Always return full name length so that caller can allocate a big-enough buffer for later call.

CORE-4375

svn path=/trunk/; revision=74914
2017-06-04 16:59:25 +00:00
Eric Kohl
09d56b8cff [NETAPI32]
- Implement NetFileClose, NetFileEnum and NetFileGetInfo. These functions call their counterparts in the server service.
- Get rid of share.c as it is no longer needed.

svn path=/trunk/; revision=74913
2017-06-04 15:46:29 +00:00
Amine Khaldi
61b665bdda [README.WINE] Mark some modules as synced with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74912
2017-06-04 15:19:05 +00:00
Amine Khaldi
8fa7e9eda7 [ADVAPI32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74911
2017-06-04 14:57:35 +00:00
Eric Kohl
597e5ae5bd [NETAPI32]
- Implement NetSessionDel, NetSessionEnum and NetSessionGetInfo. These functions call their counterparts in the server service.

svn path=/trunk/; revision=74910
2017-06-04 14:34:27 +00:00
Amine Khaldi
29d9f9eb31 [USER32_WINETEST] Sync with Wine Staging 2.9 except win.c. CORE-13362
svn path=/trunk/; revision=74909
2017-06-04 14:34:15 +00:00
Amine Khaldi
e7bfd19443 [KERNEL32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74908
2017-06-04 14:29:15 +00:00
Amine Khaldi
eb1618cb01 [PSDK] Add some missing PROC_THREAD_ATTRIBUTE_* definitions.
svn path=/trunk/; revision=74907
2017-06-04 14:27:51 +00:00
Mark Jansen
d8b7427d6b [WIN32SS] Prevent accessing an unininitialized pointer when loading an invalid font. CORE-13364
svn path=/trunk/; revision=74906
2017-06-04 14:03:25 +00:00
Amine Khaldi
09cb26ed2e [RPCRT4_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74905
2017-06-04 14:02:01 +00:00
Amine Khaldi
0d89ad94cf [RPCRT4] Sync with Wine Staging 2.9. CORE-13362
6b53b79 rpcrt4: Use HEAP_ZERO_MEMORY to alloc RpcServerProtseq objects.
28f865b rpcrt4: Add close_read implementation for TCP connections.
29f0b28 rpcrt4: Add close_read implementation for named pipe connections.
42ba4d7 rpcrt4: Introduce op for closing connection read end and use it when shutting down server.
ef267f1 rpcrt4: Store all active connections in RpcServerProtseq.
dae3065 rpcrt4: Remove connection from list in RPCRT4_ReleaseConnection.
812897c rpcrt4: Use HEAP_ZERO_MEMORY to alloc RpcConnection objects.
13d529a rpcrt4: Renamed connections list to listeners.
c953763 rpcrt4: Remove no longer needed helpers.
b548338 rpcrt4: Implement cancel_call for named pipes.
372c9e0 rpcrt4: Cache event handle in RpcConnection_np object.
6e7a297 rpcrt4: Use non-blocking listening on named pipes.
4f4ac8c rpcrt4: Use named pipe in overlapped mode.
bd6f807 rpcrt4: Simplify rpcrt4_conn_np_read implementation.
f62b9d6 rpcrt4: Simplify rpcrt4_conn_np_write implementation.
2035294 rpcrt4: Use standard Wine list to store connections in RpcServerProtseq.
e621593 rpcrt4: Always use winsock for networking.
d0ed6d1 rpcrt4: Get rid of manual_listen_count and use binary state instead.

svn path=/trunk/; revision=74904
2017-06-04 14:01:54 +00:00
Amine Khaldi
afc72d800f [COMCTL32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74903
2017-06-04 12:53:30 +00:00
Amine Khaldi
b44a9ed6f6 [COMCTL32] Sync with Wine Staging 2.9. CORE-13362
9abd3d1 comctl32: fix buttons becoming unthemed when pressed/released
8967e87 comctl32/taskdialog: Display content text label.
65d64e1 comctl32/listview: Simplify a couple of conditions that are using LVFI_PARTIAL.
407a3c0 comctl32/listview: Search through all items in LVFI_NEARESTXY mode.
5fe4493 comctl32/listview: When adding a scrollbar, update the other one.
8ef79b0 comctl32/listview: Convert item text once when looking for insertion point.
791924a comctl32/listview: Remove internal autoarrange flag, it breaks positioning.
b1d46e0 comctl32/taskdialog: Remove superfluous title pointer check (Coverity).
48c4edd comctl32/pager: Prevent excessive PGN_CALCSIZE notifications during PGM_SETCHILD.
d6a6055 comctl32: Improve right-click handling in treeview controls.
6926564 comctl32: Don't touch the new child twice in PGM_SETCHILD.
995b690 comctl32/taskdialog: Initial implementation of a minimal task dialog.
e2245bc comctl32/taskdialog: Move TaskDialogIndirect and its tests into own source files.
429705e comctl32/propsheet: Implement PSPCB_ADDREF/PSPCB_RELEASE notifications.
a3aa217 comctl32/propsheet: Enforce minimal PROPSHEETPAGE structure size when creating a page.
b7cc440 comctl32: Update the tooltip rectangle when a tool button is hidden.
690022c comctl32: Return TRUE from LVM_REDRAWITEMS with bad indices.

svn path=/trunk/; revision=74902
2017-06-04 12:53:17 +00:00
Pierre Schweitzer
3a104c8f20 [UDFS]
Enable the UDFS driver on ReactOS. It will be started "on demand" by the FS_REC driver when an UDF
formatted volume is inserted.
It's not bug free (yet? ;-)). It seems to show issues when trying to start an executable, it locks
and never release DVD (ie, you've to force ejection) and you might face deadlocks.
But, for the basics, you can open an UDF volume, browse it, and display files.

CORE-4375

svn path=/trunk/; revision=74901
2017-06-04 11:47:34 +00:00
Pierre Schweitzer
2989383bb2 [UDFS]
Add UFDS to bootcd, so that it can be installed on disk

CORE-4375

svn path=/trunk/; revision=74900
2017-06-04 10:32:51 +00:00
Pierre Schweitzer
d35d70f2de [UDFS]
Addendum to r74897: use the appropriate keyword (by Thomas)

CORE-4375

svn path=/trunk/; revision=74898
2017-06-04 08:09:29 +00:00
Pierre Schweitzer
0978c888bd [UDFS]
lolfix some deadlocks in UDFS:
- deadlock when enumerating files
- deadlock on shutdown after volume change

I could track it to the fact that for whatever reason, GCC wrongly optimize the
BOOLEAN used to store whether the VCB resource was acquired. The optimization being
to assume it's always FALSE. Thus, the resource is never released and the driver
ends in a deadlock.
To avoid this: marked the BOOLEAN variables as volatile.

I guess there are same kind deadlocks I couldn't see in my limited tests...

CORE-4375

svn path=/trunk/; revision=74897
2017-06-04 08:02:01 +00:00
Amine Khaldi
474be69727 [PSDK] Add missing USER_DEFAULT_SCREEN_DPI and AR_STATE.
svn path=/trunk/; revision=74895
2017-06-04 01:52:55 +00:00
Amine Khaldi
74e602b7f1 [XDK][DDK][PSDK] Update WELL_KNOWN_SID_TYPE and TOKEN_INFORMATION_CLASS.
svn path=/trunk/; revision=74894
2017-06-04 01:52:50 +00:00
Amine Khaldi
ab03499440 [XDK][PSDK] Add missing ACTCTX_REQUESTED_RUN_LEVEL and ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION.
svn path=/trunk/; revision=74893
2017-06-04 01:52:45 +00:00
Amine Khaldi
5fbcf4bdd4 [WIDL] Sync with Wine Staging 2.9. CORE-13362
5a06b6b widl: Add missing width and alignment for VARIANT.
028b2bd widl: Initialize decoded_size.
2ff2792 widl: Accept known type as library name.

svn path=/trunk/; revision=74892
2017-06-04 01:52:35 +00:00
Amine Khaldi
0688aec488 [COMDLG32] Sync with Wine Staging 2.9. CORE-13362
6d3243c comdlg32: Postpone setting ofn->lpstrFileTitle to work around an application bug.
3c33ebd comdlg32: Use existing symbol for Help button id.
5d9ab56 comdlg32: Select the correct font before querying the extents.
e77771c comdlg32: Set the radiobuttons' font if they're part of a visual group.
0099452 comdlg32: Use pixel sizes throughout.
6df0198 comdlg32: Scale the control size limits with dpi.
6891b5a comdlg32: Don't ask for icon information since it's unused.
a44a608 comdlg32: Take nMaxFile into account when converting A->W.
b47de18 comdlg32: Use GetPropW() to get to file dialog data.
c23a91c comdlg32: Consolidate file dialog initialization to avoid duplication.
aef8433 comdlg32: Expand initial directory path for file open dialog.

svn path=/trunk/; revision=74891
2017-06-04 01:52:26 +00:00
Amine Khaldi
92e558732b [UXTHEME_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74890
2017-06-04 01:52:19 +00:00
Amine Khaldi
3145e7c7c1 [SHELL32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74889
2017-06-04 01:52:12 +00:00
Amine Khaldi
980868b1f9 [PSDK] Add missing GPFIDL_FLAGS.
svn path=/trunk/; revision=74888
2017-06-04 01:51:57 +00:00
Amine Khaldi
e024f8f37b [PSDK] Add missing IID_CDefView.
svn path=/trunk/; revision=74887
2017-06-04 01:51:51 +00:00
Amine Khaldi
fca7431a53 [SETUPAPI_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74886
2017-06-04 01:51:43 +00:00
Amine Khaldi
6c88bfb14d [SERVICES_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74885
2017-06-04 01:51:25 +00:00
Amine Khaldi
f0f266a71d [SECUR32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74884
2017-06-04 01:51:16 +00:00
Amine Khaldi
f743323efa [PSDK] Update sspi.h. CORE-13362
svn path=/trunk/; revision=74883
2017-06-04 01:51:07 +00:00
Amine Khaldi
4a981826c1 [MSVCRT_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74882
2017-06-04 01:50:58 +00:00
Amine Khaldi
05343d6328 [GDI32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74881
2017-06-04 01:50:46 +00:00
Amine Khaldi
ed4906ee50 [REG_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74880
2017-06-04 01:50:37 +00:00
Amine Khaldi
7bd43aa322 [WSCRIPT_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74879
2017-06-04 01:50:30 +00:00
Amine Khaldi
8f32e01d63 [WS2_32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74878
2017-06-04 01:50:24 +00:00
Amine Khaldi
0c663413f5 [PSDK] Add missing AI_DISABLE_IDN_ENCODING.
svn path=/trunk/; revision=74877
2017-06-04 01:50:16 +00:00
Amine Khaldi
dd3b6e0e8d [INCLUDE/WINE] Update winternl.h. CORE-13362
svn path=/trunk/; revision=74876
2017-06-04 01:50:07 +00:00
Amine Khaldi
3e7b57d242 [WINSPOOL_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74875
2017-06-04 01:50:00 +00:00
Amine Khaldi
8e8a5efa43 [WINMM_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74874
2017-06-04 01:49:55 +00:00
Amine Khaldi
4c2c978917 [XMLLITE_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74873
2017-06-04 01:49:50 +00:00
Amine Khaldi
17e927e7e5 [XMLLITE] Sync with Wine Staging 2.9. CORE-13362
707ab55 xmllite/writer: Fix IID argument handling in CreateXmlWriter().
d1e1457 xmllite/reader: Fix IID argument handling in CreateXmlReader().
a68e51c xmllite/writer: Preserve original encoding name spelling in writer output.
ef023c3 xmllite: Recognize us-ascii encoding.
9506e7d xmllite: Return local name stored in namespace for prefixed namespace attribute values.
1b9b791 xmllite: Allocate value in reader_add_attr.
daf0504 xmllite: Allow reading from allocated strings in ReadValueChunk.
f862222 xmllite: Store allocated copy of local name in attribute struct and use that instead of StringValue_LocalName.
004d615 xmllite: Don't use StringValue_LocalName for element nodes.
6917e2a xmllite: Clear all parser values in SetInput.
291ffdd xmllite: Don't fail in readerinput_detectencoding if input buffer has 3 bytes.
536ed3f xmllite: Return empty value for end element and none nodes.
48fff1b xmllite: Replace crln in input buffer with nl.
2b5203b xmllite: Fixed ReadValueChunk implementation.
a3d7806 xmllite: Fixed buffer handling in reader_parse_reference.
68aeee4 xmllite: Return WC_E_SYNTAX if there is unexpected data in the end of the stream.
253f233 xmllite/reader: Return same string for local and qualified names for attributes when appropriate.
d7057a3 xmllite/reader: For elements without a prefix return same string for both local and qualified names.
1e015f1 xmllite/reader: Always return local name from element structure.
876de4a xmllite/reader: Reset reader nesting depth on error.
ec9e05c xmllite/reader: Enter error state on parsing error.
b115e96 xmllite/reader: Improve returned position for whitespace text nodes.
9685fec xmllite/reader: Improve line number updating when switching to the next line.
79a6567 xmllite/reader: Fix position methods return values in closed reader state.
62a41d0 xmllite/reader: Return correct error for multiple colons in qualified name.
3b83a44 xmllite/reader: Explicitly return empty string as qualified name for some node types.
52f9193 xmllite/reader: Explicitly return empty static string as local name for nodes without names.
1ccc1f2 xmllite/reader: Return static empty string as xml declaration node value.
65e62c3 xmllite/reader: Fix reader position returned for xml declaration node.
6cf9524 xmllite/reader: Improve returned reader position for elements and attributes.
e1c31e1 xmllite/reader: Remove redundant parameter.
d3319f6 xmllite/reader: Return prefixes from namespace stack.
b57589a xmllite/reader: Return qualified element names from the stack, instead of input buffer.
3ae1043 xmllite/reader: Return local element names from the stack, instead of input buffer.
3697bd9 xmllite/reader: Return empty string for namespace uri for some nodes.
63c489f xmllite/reader: Fix GetValue() for comments.
71a0733 xmllite/reader: Enforce maximum element depth limit.
ce84b20 xmllite/reader: Return qualified names for attributes.
3fe5f25 xmllite/reader: Fix prefix returned after moving back to element.
70028b7 xmllite/reader: Return empty value for elements.
7c44c65 xmllite/reader: Return proper name for xml declaration PI.
8f0c235 xmllite/reader: Improve the way nesting level returned by GetDepth() is updated.
073c43a xmllite/reader: Implement IsEOF().
b188079 xmllite/reader: Reset node type to XmlNodeType_None on EOF.
0cbd938 xmllite/reader: Always return node type from Read().
80cf883 xmllite/reader: Improve input stream encoding detection.
5b78cc9 xmllite/writer: Fix Release() trace.
9c988e7 xmllite/writer: Implement WriteString().
107615d xmllite/reader: Fix writing back resolved character reference value.
05956e6 xmllite: Fix CreateXmlReaderInputWithEncodingName spec file entry.
d369857c xmllite: Add __WINE_ALLOC_SIZE attributes to heap_xxx() functions.

svn path=/trunk/; revision=74872
2017-06-04 01:49:43 +00:00
Amine Khaldi
6f73f34dab [WSHOM.OCX] Sync with Wine Staging 2.9. CORE-13362
2619bdb wshom: Fix IWshShell3::Invoke() call to use correct implementation pointer.

svn path=/trunk/; revision=74871
2017-06-04 01:49:32 +00:00
Amine Khaldi
ac024d1cda [WMIUTILS] Sync with Wine Staging 2.9. CORE-13362
b16f08b wmiutils: Simplify and standardize the heap_xxx() declarations.

svn path=/trunk/; revision=74870
2017-06-04 01:49:25 +00:00
Amine Khaldi
2e2012f926 [WINTRUST] Sync with Wine Staging 2.9. CORE-13362
e420549 wintrust: Verify image hash in WinVerifyTrust. (v2)
f1dfc53 wintrust: Fix CryptCATAdminAcquireContext spec file entry.

svn path=/trunk/; revision=74869
2017-06-04 01:49:20 +00:00
Amine Khaldi
2464924026 [WININET_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74868
2017-06-04 01:49:09 +00:00
Amine Khaldi
8743767965 [PSDK] Update winhttp.h and wininet.h. CORE-13362
svn path=/trunk/; revision=74867
2017-06-04 01:49:03 +00:00
Amine Khaldi
6e2403e911 [WININET] Sync with Wine Staging 2.9. CORE-13362
05c23c9 wininet: Use isspaceW() instead of isspace() for WCHARs.
f9d1b16 wininet: Return failure when handling http redirect without hostname.
4ca5f42 wininet: Allow to set INTERNET_OPTION_HTTP_DECODING on sessions and connections.
7d8cf31 wininet: Don't use returned read size if read failed in gzip_read.
2952c63 wininet: Get rid of no longer needed get_avail_data from data stream implementations.
295291b wininet: Always use non-blocking reads in HTTP_ReceiveRequestData.
fd0ac40 wininet: Get rid of no longer needed blocking_mode_t.
18f9d03 wininet: Get rid of no longer needed BLOCKING_WAITALL.
7eaadab wininet: Merge InternetReadFile and InternetReadFileEx implementations.
a546e8a wininet: Reimplemented InternetQueryDataAvailable on top of async_read.
0880874 wininet: Rewrite InternetReadFileEx for http protocol to make use of non-blocking reads.
98bcd00 wininet: Rewrite asynchronous read to try to fill whole buffer and not buffer additional data unless requested.
c140a70 wininet: Propagate WSAEWOULDBLOCK from read_http_stream.
f42a2cc wininet: Pass blocking mode to HTTPREQ_Read.
67b5677 wininet: Propagate WSAEWOULDBLOCK result from content decoding reads.
36f6387 wininet: Forward InternetGetConnectedState to Ex function.
7b42dc4 wininet: Improved netconn_drain_content.
6caecb6 wininet: Handle query parameters for HTTPS urls in InternetOpenUrlW.
e9be490 wininet: Fix some more spec file entries.

svn path=/trunk/; revision=74866
2017-06-04 01:48:55 +00:00
Amine Khaldi
25cdf28c16 [WINHTTP_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74865
2017-06-04 01:48:43 +00:00
Amine Khaldi
77b7db7a3b [WINHTTP] Sync with Wine Staging 2.9. CORE-13362
2fa86fd winhttp: Always drain content before sending the next request.
6b6ffb3 winhttp: Ignore unknown schemes in WinHttpQueryAuthSchemes.
08603e5 winhttp: Fix a memory leak in insert_header (Valgrind).
be78574 winhttp: Cookie attributes are case-insensitive.
8595cc5 winhttp: Parse cookie attributes.

svn path=/trunk/; revision=74864
2017-06-04 01:48:31 +00:00
Amine Khaldi
036e6ad687 [WINDOWSCODECS_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74863
2017-06-04 01:48:23 +00:00
Amine Khaldi
28942a7e09 [PSDK] Update wincodecsdk.idl. CORE-13362
[WINDOWSCODECS] Sync with Wine Staging 2.9. CORE-13362

00d3b89 windowscodecs: Simplify a bit comparison of two PROPVARIANTs.
5ea8f41 windowscodecs: Implement IWICMetadataQueryReader::GetContainerFormat.
8890f2e windowscodecs: Implement WICMapSchemaToName.
dd7fa09 windowscodecs: Implement WICMapShortNameToGuid.
4cf250c windowscodecs: Implement WICMapGuidToShortName.
bb57e0c windowscodecs: Fix 32bppRGB to 32bppRGBA conversion.
b1037a9 windowscodecs: Add support for 32bppRGB, 32bppRGBA and 32bppPRGBA to format converter.
4e2cdd5 windowscodecs: Tolerate partial reads in the IFD metadata loader.
213b395 windowscodecs: Add support for 16bpp RGBA format to TIFF decoder.
2133dd1 windowscodecs: Add support for 4bpp RGBA format to TIFF decoder.
41827e1 windowscodecs: Add support for 32bppCMYK and 64bppCMYK formats to TIFF decoder.
306b4d3 windowscodecs: Add support for 128bppRGBAFloat format to TIFF decoder.
74f105d windowscodecs: Add support for 12bpp RGB format to TIFF decoder.
76bbf38 windowscodecs: Add support for 3bps RGB format to TIFF decoder.
2103e19 windowscodecs: Add support for 16bppGray and 32bppGrayFloat formats to TIFF decoder.
150fc32 windowscodecs: Avoid redundant checks when reading a TIFF tile.
266e4ec windowscodecs: Fail earlier in TIFF decoder's Initialize method for unsupported pixel formats.
b7306a4 windowscodecs: Fix the SupportsTransparency flag value for various pixel formats.
35483da include: Fix typos in WICPersistOptions enumeration names.
2d5c861 windowscodecs: Fixed loading png from streams.
fdccccb windowscodecs: Fix IWICImagingFactory_CreateDecoderFromFileHandle_Proxy spec file entry.
376b075 windowscodecs: Remove dead assignment (clang).
b0d04e6 wincodecs: Simplify property name allocation.
5107ef7 wincodecs: Implement FilterOption property for PNG encoder.
6283014 wincodecs: Trigger conversion to target format in WriteSource().

svn path=/trunk/; revision=74862
2017-06-04 01:48:14 +00:00
Amine Khaldi
83d3b7e46f [PSDK] Add missing SHCreateMemStream() declaration.
svn path=/trunk/; revision=74861
2017-06-04 01:47:59 +00:00
Amine Khaldi
f4bd80599a [PSDK] Update wincodec.idl. CORE-13362
svn path=/trunk/; revision=74860
2017-06-04 01:47:54 +00:00
Amine Khaldi
6ad85c01c6 [WBEMPROX] Sync with Wine Staging 2.9. CORE-13362
3ca407e wbemprox: Add Vendor field in Win32_ComputerSystemProduct.
b3f98ab wbemprox: Add DriverDate for Win32_VideoController.
65473a8 wbemprox: Add InstalledDisplayDrivers for Win32_VideoController.
b062c6c wbemprox: Add Status for Win32_VideoController.
32707e5 wbemprox: Add ConfigManagerErrorCode for Win32_VideoController.
9f81263 wbemprox: Provide DeviceID, Location and PortName for printers.
66e3c97 wbemprox: Also free data for tables that don't have a fill function (Valgrind).
34f77a6 wbemprox: Simplify and standardize the heap_xxx() declarations.

svn path=/trunk/; revision=74859
2017-06-04 01:47:48 +00:00
Amine Khaldi
4e1fa50310 [WBEMDISP_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74858
2017-06-04 01:47:40 +00:00
Amine Khaldi
50f8a9e9fa [WBEMDISP] Sync with Wine Staging 2.9. CORE-13362
a392e14 wbemdisp: Implement ISWbemProperty::get_Value.
6721725 wbemdisp: Implement ISWbemPropertySet::Item.
cb2660b wbemdisp: Implement ISWbemObject::get_Properties_.
a11aed3 wbemdisp: Invoke the generic methods and properties as well as the dynamic ones.
66edb81 wbemdisp: Search for the generic methods and properties as well as the dynamic ones.
c1242a2 wbemdisp: Add missing methods to the ISWbemObjectVtbl.
64be3a2 wbemdisp: Simplify and standardize the heap_xxx() declarations.

svn path=/trunk/; revision=74857
2017-06-04 01:47:30 +00:00
Amine Khaldi
d8eaddca44 [VERSION_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74856
2017-06-04 01:47:23 +00:00
Amine Khaldi
c0c77a27b3 [VERSION] Sync with Wine Staging 2.9. CORE-13362
7811de1 version: Add support for FILE_VER_GET_LOCALISED flag.

svn path=/trunk/; revision=74855
2017-06-04 01:47:19 +00:00
Amine Khaldi
126ab550af [VBSCRIPT_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74854
2017-06-04 01:47:13 +00:00
Amine Khaldi
43c14906aa [VBSCRIPT] Sync with Wine Staging 2.9. CORE-13362
4ecc00f vbscript: Allow colons at the end of first line of loops.
8ab8a92 vbscript: Add __WINE_ALLOC_SIZE attributes to heap_xxx() functions.

svn path=/trunk/; revision=74853
2017-06-04 01:47:08 +00:00
Amine Khaldi
0a4d3b5257 [USP10_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74852
2017-06-04 01:47:02 +00:00
Amine Khaldi
100b1d6e92 [USP10] Sync with Wine Staging 2.9. CORE-13362
30e8768 usp10: Validate substition record sequence indices in GSUB_apply_ContextSubst().
ebe75cb usp10: Simplify the "sr_2" assignments in GSUB_apply_ContextSubst().
6c13170 usp10: Range check glyph counts in GSUB_apply_ContextSubst().
c5619be usp10: Validate positioning record sequence indices in GPOS_apply_ContextPos().
82d36ba usp10: Simplify the "pr_2" assignment in GPOS_apply_ContextPos().
1b02c1a usp10: Range check glyph counts in GPOS_apply_ContextPos().
d1ca880 usp10: Validate substition record sequence indices in GSUB_apply_ChainContextSubst().
34a9400 usp10: Validate positioning record sequence indices in GPOS_apply_ChainContextPos().
9694aeb usp10: Avoid special handling if the substitution count is 0 in GSUB_apply_ChainContextSubst().
f7b943e usp10: Range check glyph counts in GSUB_apply_ChainContextSubst().
24943fe usp10: Simplify the chaining context table assignments in GSUB_apply_ChainContextSubst().
02316e6 usp10: Rename the chaining context tables in GSUB_apply_ChainContextSubst() to something more descriptive.
0389768 usp10: Return early if the number of positioning operations is 0 in GPOS_apply_ChainContextPos().
7dfe9b9 usp10: Range check glyph counts in GPOS_apply_ChainContextPos().
f6c0146 usp10: Simplify the chaining context table assignments in GPOS_apply_ChainContextPos().
fb3ea0a usp10: Rename the chaining context tables in GPOS_apply_ChainContextPos() to something more descriptive.
04e5466 usp10: Handle invalid arguments in ScriptIsComplex().
4553871 usp10: Check if corresponding headers are present before accessing their feature lists in _initialize_feature_cache.
63bcfa3 usp10: Get rid of the code duplication between GSUB_initialize_feature_cache() and GPOS_expand_feature_cache().
9b0f3f1 usp10: Get rid of some code duplication in GPOS_expand_feature_cache().
0ffd5b4 usp10: Double the languages array size when growing it in GPOS_expand_language_cache().
218be44 usp10: Double the scripts array size when growing it in GPOS_expand_script_cache().
9a15753 usp10: Introduce a helper function to lookup a language in a LoadedScript structure.
2a0ffc9 usp10: Introduce a helper function to lookup a script in the script cache.
213d358 usp10: Avoid LPVOID.
1403087 usp10: Avoid LPCVOID.
a204e58 usp10: Avoid LPWSTR.
cdd47c3 usp10: Avoid LPCWSTR.
af617aa usp10: Avoid LPBYTE.
34c2f74 usp10: Avoid LPWORD.
ab8ec60 usp10: Avoid LPPOINT.
ba66b62 usp10: Avoid LPOUTLINETEXTMETRICW.
df21247 usp10: Make the script cache parameter to get_opentype_script() const.
c8f87ad usp10: Make the script cache parameter to GPOS_apply_MarkToBase() const.
cd9db34 usp10: Pass const metrics to GPOS_convert_design_units_to_device().
c3dc9ed usp10: Use heap_free() instead of HeapFree().
6a0e5bb usp10: Use heap_alloc() instead of HeapAlloc().
77e5a2f usp10: Use heap_alloc_zero() instead of HeapAlloc() with HEAP_ZERO_MEMORY.
3c704c2 usp10: Use bsearch() to lookup the script range in get_char_script().
a523b46 usp10: Introduce an enumeration for script types.
502d239 usp10: Do not fall back to presentation form B if the contextual feature exists in ContextualShape_Arabic().
f13dea5 usp10: Properly determine the glyph run direction when shaping Script_Arabic.
c94a5fd usp10: Take the script direction into account when applying OpenType features.
1727dd4 usp10: Use USP10_FindGlyphInLogClust() in UpdateClusters().
bab506e usp10: Use memmove() in GSUB_apply_LigatureSubst().
66df220 usp10: Make feature tables const.
b32fb23 usp10: Fix ScriptGetProperties spec file entry.
1a42ee3 usp10: Add __WINE_ALLOC_SIZE attributes to heap_xxx() functions.
892393b usp10: Filter out DeltaFormat == 0 too, valid range is [1, 3].
66dce1e usp10: Introduce an enumeration for GSUB lookup types.
fefd151 usp10: Ignore device tables with invalid delta format.
b6d541c usp10: Iterate in visual order in GPOS_apply_feature().
6fec9b1 usp10: Return the logical offset in GPOS_apply_lookup().
8d15667 usp10: Return the logical offset in GPOS_apply_ChainContextPos().
2210196 usp10: Return the logical offset in GPOS_apply_ContextPos().
6e84358 usp10: Return the logical offset in GPOS_apply_PairAdjustment().
61e8a38 usp10: Introduce an enumeration for GPOS lookup types.
4b22953 usp10: Properly get glyph widths for OpenType fonts in ScriptPlaceOpenType().

svn path=/trunk/; revision=74851
2017-06-04 01:46:51 +00:00
Amine Khaldi
83eaf4cbac [URLMON_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74850
2017-06-04 01:46:38 +00:00
Amine Khaldi
a905c2dc5b [URLMON] Sync with Wine Staging 2.9. CORE-13362
700010f urlmon: Fix some spec file entries.
c1ae3db urlmon: Add __WINE_ALLOC_SIZE attributes to heap_xxx() functions.
9c4ac7f urlmon: Add a __WINE_ALLOC_SIZE attribute to heap_alloc().

svn path=/trunk/; revision=74849
2017-06-04 01:46:26 +00:00
Amine Khaldi
f41d8818ce [SHLWAPI_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74848
2017-06-03 22:40:14 +00:00
Amine Khaldi
4a2db60d45 [SHLWAPI] Sync with Wine Staging 2.9. CORE-13362
98d0fa9 shlwapi: Use isalnumW() instead of isalnum() for WCHARs.
dfb846c shlwapi: Fixed error handling in StrRetToBufW.

svn path=/trunk/; revision=74847
2017-06-03 22:39:50 +00:00
Amine Khaldi
e80a0f88e0 [SCRRUN_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74846
2017-06-03 22:39:28 +00:00
Amine Khaldi
f3782aaf23 [SCRRUN] Sync with Wine Staging 2.9. CORE-13362
f601660 scrrun: Added DateLastModified property for IFile.

svn path=/trunk/; revision=74845
2017-06-03 22:38:57 +00:00
Amine Khaldi
1866b31f5e [RSAENH_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74844
2017-06-03 22:38:34 +00:00
Amine Khaldi
81bce5b365 [RSAENH] Sync with Wine Staging 2.9. CORE-13362
e705dfc rsaenh: Don't import a public key to a key container.

svn path=/trunk/; revision=74843
2017-06-03 22:38:03 +00:00
Amine Khaldi
3a2d3f54c7 [RICHED20_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74842
2017-06-03 22:37:05 +00:00
Amine Khaldi
5c6a327cb8 [RICHED20] Sync with Wine Staging 2.9. CORE-13362
d4b1938 riched20: Only write out non-default pattern colours.
5f3772a riched20: Don't compare the colours if the old and new states are both auto.
6bcf4d6 riched20: Add linefeeds after the colortbl and generator groups.
8b79854 riched20: Remove a hack that should be longer be needed.
3d291dd riched20: Write the char format for the end-of-paragraph marker.

svn path=/trunk/; revision=74841
2017-06-03 22:36:44 +00:00
Amine Khaldi
35e1e225d6 [REGEDIT_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74840
2017-06-03 22:36:19 +00:00
Amine Khaldi
4d8caff209 [QUARTZ_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74839
2017-06-03 22:36:05 +00:00
Amine Khaldi
8454158975 [PSAPI_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74838
2017-06-03 22:35:45 +00:00
Amine Khaldi
16a6deef46 [PROPSYS_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74837
2017-06-03 22:35:33 +00:00
Amine Khaldi
c547bb4ae4 [PROPSYS] Sync with Wine Staging 2.9. CORE-13362
090b4f2 propsys: Add support for VT_LPSTR and VT_LPWSTR to PropVariantCompareEx. (v2)
99758d9 propsys: Add support for VT_LPSTR to PropVariantChangeType. (v2)
43fa646 propsys: Make VT_FILETIME handling by PropVariantChangeType more implicit.
55b3752 propsys: Add support for VT_BSTR to PropVariantChangeType.
fc00aec propsys: Add support for VT_LPWSTR and VT_BSTR to PropVariantToStringAlloc.
aa841b3 propsys: Add support for VT_I1 and VT_UI1 to PropVariantChangeType.
8e273c8 propsys: Fix PSGetPropertyDescriptionListFromString spec file entry.
6df21d4 propsys: Use snprintf in PROPVAR_ConvertFILETIME.

svn path=/trunk/; revision=74836
2017-06-03 22:35:14 +00:00
Amine Khaldi
24ff00e99b [PDH] Sync with Wine Staging 2.9. CORE-13362
88c4d33 pdh: Add __WINE_ALLOC_SIZE attributes to heap_xxx() functions.

svn path=/trunk/; revision=74835
2017-06-03 22:35:01 +00:00
Amine Khaldi
28c0ee0f60 [OPENGL32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74834
2017-06-03 22:34:42 +00:00
Amine Khaldi
9b660289c6 [OLEDLG] Sync with Wine Staging 2.9. CORE-13362
0028360 oledlg: Use W-functions to access window property.

svn path=/trunk/; revision=74833
2017-06-03 22:34:33 +00:00
Amine Khaldi
2f788a0264 [OLEAUT32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74832
2017-06-03 22:34:23 +00:00
Amine Khaldi
09236d66df [OLEAUT32] Sync with Wine Staging 2.9. CORE-13362
6e7179e oleaut32: Make OleLoadPicture load DIBs using WIC decoder.
1762f89 oleaut32: Use VariantChangeTypeEx to convert to VT_BOOL.
c260de0 oleaut32: Remove dead code.
efc86ec oleaut32: Fix parse error when converting non-ascii string to VT_DATE.
f506ffc oleaut32: Use VariantInit() rather than open coding it.
c082edb oleaut32: Remove redundant call to VariantClear().
7fb4809 oleaut32: Implement GetAltMonthNames().
d90fcb4 oleaut32: Fix OleLoadPictureEx spec file entry.

svn path=/trunk/; revision=74831
2017-06-03 22:34:09 +00:00
Amine Khaldi
82997f0e3b [OLE32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74830
2017-06-03 22:33:48 +00:00
Amine Khaldi
e1f8933518 [OLE32] Sync with Wine Staging 2.9. CORE-13362
9cc976a ole32: Fix compilation with recent versions of gcc.
2e36326 ole32: Synthesize dibs or bitmaps as appropriate.
e27708f ole32: Create CF_DIB and CF_BITMAP entries when either is cached.
20a8f1a ole32: Implement IOleCache_EnumCache().
f9b0f60 ole32: Check the cache entry's stgmedium for the unloaded state.
8fc1a4c ole32: OleUninitialize() does not release the reference to the clipboard's source dataobject.
1d2860e ole32: Fix up the dib's resolution on loading.
e7bb4ba ole32: Don't cache the BITMAPFILEHEADER.
fc49d98 ole32: Set the advise flags in CreateEntry().
77d1eba ole32: Use the helper function to copy the clipboard's FORMATETC.
9ee30d7 ole32: Use the helper function to copy the datacache's FORMATETC.
11db491 ole32: Add a helper to copy FORMATETC structures.
b399baf ole32: Add CoRegisterSurrogate/Ex stubs.
87dba2b ole32: Zero STGMEDIUM before calling IDataObject::GetData.
c7e6fe6 ole32: Added GlobalOptions object stub implementation.
fd09c37 ole32: Use generic class factory for StdComponentCategoriesMgr object.
076c782 ole32: Use generic class factory for pointer moniker.
961c3dc ole32: Use generic class factory for class moniker.
947c9ba ole32: Use generic class factory for composite moniker.
b05fd46 ole32: Use generic class factory for anti moniker.
dee6463 ole32: Use generic class factory for item moniker.
cf7883f ole32: Added generic class factory implementation and use it for file moniker.

svn path=/trunk/; revision=74829
2017-06-03 22:33:33 +00:00
Amine Khaldi
3152f3df52 [ODBCCP32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74828
2017-06-03 22:33:08 +00:00
Amine Khaldi
20c0e9f71f [ODBCCP32] Sync with Wine Staging 2.9. CORE-13362
c92189c odbccp32: Handle ODBC_CONFIG_DRIVER request in SQLConfigDriver/W.
3b5a870 odbccp32: Look in LOCAL_MACHINE for the driver.
764ee72 odbccp32: Implement SQLConfigDriver/W.
e7afcb9 odbccp32: Implement SQLRemoveTranslator/W.
d687fc8 odbccp32: Implement SQLInstallTranslator.
3136bed odbccp32: Implement SQLRemoveDriver/SQLRemoveDriverW.
27482bc odbccp32: Implement SQLInstallDriverEx.
093d870 odbccp32: Fix some spec file entries.
65b6cf1 odbccp32: Add a __WINE_ALLOC_SIZE attribute to heap_alloc().

svn path=/trunk/; revision=74827
2017-06-03 22:32:52 +00:00
Amine Khaldi
37f0182a2b [PSDK] Update sql.h and sqlucode.h. CORE-13362
[ODBC32] Sync with Wine Staging 2.9. CORE-13362

0dd43e9 odbc32: Made ODBC function signatures 64-bit compliant.

svn path=/trunk/; revision=74826
2017-06-03 22:32:33 +00:00
Amine Khaldi
df088c988e [NTPRINT_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74825
2017-06-03 22:32:11 +00:00
Amine Khaldi
8890301a84 [NETAPI32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74824
2017-06-03 22:31:54 +00:00
Amine Khaldi
fd26e762c0 [MSXML3_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74823
2017-06-03 22:31:39 +00:00
Amine Khaldi
09bc8f6843 [MSXML3] Sync with Wine Staging 2.9. CORE-13362
d7d5d93 msxml3: Improve error handling (Coverity).
cebed39 msxml3: Added support for setting IResponse as xsl processor output.
ea9b797 msxml3: Support IPersistStream* as IXSLProcessor output.
ba018b5 msxml3/saxreader: Handle NULL interface input in parse().
8bc68f3 msxml3: Don't QI for IPersistStream in internal_parse.
135e98a msxml3: Add __WINE_ALLOC_SIZE attributes to heap_xxx() functions.

svn path=/trunk/; revision=74822
2017-06-03 22:31:11 +00:00
Amine Khaldi
a99ab25ade [MSVFW32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74821
2017-06-03 22:30:54 +00:00
Amine Khaldi
7a5517640f [MSTASK_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74820
2017-06-03 22:30:32 +00:00
Amine Khaldi
4988f293f8 [MSI_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74819
2017-06-03 22:30:19 +00:00
Amine Khaldi
69571f3303 [MSI] Sync with Wine Staging 2.9. CORE-13362
f6ced24 msi: Avoid using isspace()/isdigit() for WCHARs.
635457b msi: Add MsiGetPatchFileListA/W stubs.
b956b1f msi: Set patch property Uninstallable.
f3adb4a msi: Properly handle DWORD registry values in MsiGetPatchInfoEx.
d94653d msi: Apply feature selection to the whole feature subtree.
d12728a msi: Avoid zero size allocations (Valgrind).
b53957d msi: Use the correct type when calculating feature cost.
64c0625 msi: Implement MsiGetComponentPathExA/W.
5aa2d48 msi: Fix some more spec file entries.

svn path=/trunk/; revision=74818
2017-06-03 22:29:55 +00:00
Amine Khaldi
04488bf33d [MSCTF_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74817
2017-06-03 22:29:38 +00:00
Amine Khaldi
18ce9d2c37 [MSCMS] Sync with Wine Staging 2.9. CORE-13362
cd55d5d mscms: Fix some spec file entries.

svn path=/trunk/; revision=74816
2017-06-03 22:29:30 +00:00
Amine Khaldi
e798892743 [MPR_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74815
2017-06-03 22:29:16 +00:00
Amine Khaldi
9f53283069 [MLANG_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74814
2017-06-03 22:29:06 +00:00
Amine Khaldi
3f34a77f7b [MCIAVI32] Sync with Wine Staging 2.9. CORE-13362
c59dcfa mciavi32: Implement MCI_BREAK.
d3c25df mciavi32: Trace MCIAVI_CreateWindow.
1b57f07 mciavi32: Report version as 1.1.

svn path=/trunk/; revision=74813
2017-06-03 22:28:56 +00:00
Amine Khaldi
dac59d58ed [JSCRIPT_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74812
2017-06-03 22:28:34 +00:00
Amine Khaldi
96d090509e [JSCRIPT] Sync with Wine Staging 2.9. CORE-13362
59c39fa jscript: Added new debug channel printing details and backtrace of unwinded exceptions.
60232cc jscript: Always jump to finally block from OP_pop_exept when available.
685cd43 jscript: Pass finally offset instead of catch ident to OP_push_except.
8bd99c3 jscript: Ensure that OP_pop_except is called with proper stack depth.
622eb72 jscript: Added new opcode to enter catch block and use it to setup the scope.
b7bb166 jscript: Simplify pop_to_stat implementation.
1731629 jscript: Add __WINE_ALLOC_SIZE attributes to heap_xxx() functions.

svn path=/trunk/; revision=74811
2017-06-03 22:28:19 +00:00
Amine Khaldi
7a8fa2cc0e [IMM32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74810
2017-06-03 22:28:03 +00:00
Amine Khaldi
60751dbf95 [INETCOMM_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74809
2017-06-03 22:27:55 +00:00
Amine Khaldi
acfef1de4a [INETCOMM] Sync with Wine Staging 2.9. CORE-13362
dcc545b inetcomm: Fixed buffer leak on error path (Coverity).

svn path=/trunk/; revision=74808
2017-06-03 22:27:45 +00:00
Amine Khaldi
8de656fc77 [IEFRAME] Sync with Wine Staging 2.9. CORE-13362
2bb8458 ieframe: Return DISP_E_UNKNOWNNAME in IShellUIHelper2::GetIDsOfNames.
bd8bd97 ieframe: Fix IEWinMain spec file entry.
f499395 ieframe: Add __WINE_ALLOC_SIZE attributes to heap_xxx() functions.

svn path=/trunk/; revision=74807
2017-06-03 22:27:36 +00:00
Pierre Schweitzer
fb9fc24487 [UDFS]
Don't use perf prints

svn path=/trunk/; revision=74806
2017-06-03 21:56:32 +00:00
Pierre Schweitzer
52d2b0fff1 [UDFS]
Revert r74780: it indeed works here, but when the problem happens in other places (it does!)
where it cannot be solved that way, we're doomed. It will be required to find an appropriate solution...

CORE-4375

svn path=/trunk/; revision=74805
2017-06-03 21:50:29 +00:00
Pierre Schweitzer
6045d865f8 [UDFS]
Attempt to fix MSVC build

CORE-4375

svn path=/trunk/; revision=74804
2017-06-03 21:47:53 +00:00
Hermès Bélusca-Maïto
d144147237 [NTDLL][USER32]: Stub out two APIs that are called by Win32 dlls:
- ntdll.dll: RtlConvertUiListToApiList(), which is a helper used by netapi32.dll;
- user32.dll: GetWinStationInfo() (that just calls into win32k), which is called by e.g. winmm.dll .

svn path=/trunk/; revision=74803
2017-06-03 20:26:26 +00:00
Pierre Schweitzer
c3265cc215 [UDFS]
Make the driver really less verbose by introducing two macros UDFPrint and UDFPrintErr
So far, because of sed -i, almost all KdPrint became UDFPrint. It would be interesting
to promote some to UDFPrintErr (if someone motivated ;-))

CORE-4375

svn path=/trunk/; revision=74802
2017-06-03 20:09:21 +00:00
Pierre Schweitzer
9b036de80b [UDFS]
Fix broken code when UDF_DBG isn't set

CORE-4375

svn path=/trunk/; revision=74801
2017-06-03 19:56:50 +00:00
Amine Khaldi
6e19246ef7 [HTTPAPI] Sync with Wine Staging 2.9. CORE-13362
ef975ef httpapi: Add stub for HttpCreateServerSession.

svn path=/trunk/; revision=74800
2017-06-03 19:02:20 +00:00
Amine Khaldi
f239be2af0 [PSDK] Update http.h. CORE-13362
svn path=/trunk/; revision=74799
2017-06-03 19:02:15 +00:00
Amine Khaldi
c130169bb8 [HLINK] Sync with Wine Staging 2.9. CORE-13362
d5c3a31 hlink: Add __WINE_ALLOC_SIZE attributes to heap_xxx() functions.

svn path=/trunk/; revision=74798
2017-06-03 19:02:10 +00:00
Amine Khaldi
3f5b95bb92 [HHCTRL.OCX] Sync with Wine Staging 2.9. CORE-13362
e5a12b7 hhcrtl.ocx: Fix some spec file entries.

svn path=/trunk/; revision=74797
2017-06-03 19:02:05 +00:00
Amine Khaldi
20b08209f8 [GDIPLUS_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74796
2017-06-03 19:01:59 +00:00
Amine Khaldi
718178aa88 [GDIPLUS] Sync with Wine Staging 2.9. CORE-13362
11fc5c0 gdiplus: Prefer using pre-multiplied ARGB data in the scaler.
17162a9 gdiplus: Remove ceilf/floorf calls from bilinear scaler. (v2)
6bade0c gdiplus: Change multiplications by additions in the x/y scaler loops.
db49130 gdiplus: Change the order of x/y loops in the scaler.
9247b54 gdiplus: Set correct color space flags for grayscale images.
81ccd6b gdiplus: Force conversion of 8 bpp grayscale PNG images to 32 bpp BGRA.
4fe61f3 gdiplus: Ignore an externally set DC clipping region.
a188922 gdiplus: Ignore an externally set DC origin.
b8a8e1b gdiplus: Check SHADEBLENDCAPS only for printer devices.
c2a4f19 gdiplus: Fix compilation on systems that don't support nameless unions.
29a55bc gdiplus: Use software mode to draw semi-transparent lines when necessary.
c89de1d gdiplus: Use better naming for line alignment format field.
69b41e7 gdiplus: Fix generic string formats behavior.
a3f0a59 gdiplus: Avoid infinite recursion in flatten_bezier().
36c9ac3 gdiplus: Check for null in GdipGetFontHeight.
7f25431 gdiplus: Fix GdipCreateStreamOnFile spec file entry.
43e36d6 gdiplus: Simplify and standardize the heap_xxx() declarations.

svn path=/trunk/; revision=74795
2017-06-03 19:01:50 +00:00
Amine Khaldi
903c7855c9 [DBGHELP] Sync with Wine Staging 2.9. CORE-13362
d47c07d dbghelp: Avoid using isdigit() for WCHARs.
8d6cf80 dbghelp: Add support for char32_t type.
b316ac1 dbghelp: Add support for char16_t type.
74f05b8 dbghelp: Use the main module load address from the PEB.
329b176 dbghelp: Use debugstr_a() to trace a string that can be NULL.
4bbb252 dbghelp: Removed no longer needed psapi import.

svn path=/trunk/; revision=74794
2017-06-03 19:01:43 +00:00
Amine Khaldi
bbee494c2a [INCLUDE/WINE] Update mscvpdb.h. CORE-13362
svn path=/trunk/; revision=74793
2017-06-03 19:01:38 +00:00
Amine Khaldi
140dd73755 [CRYPTNET] Sync with Wine Staging 2.9. CORE-13362
9a47398 cryptnet: Fix CryptGetObjectUrl spec file entry.

svn path=/trunk/; revision=74792
2017-06-03 19:01:33 +00:00
Amine Khaldi
8d1170ce2b [PSDK] Update cvconst.h. CORE-13362
svn path=/trunk/; revision=74791
2017-06-03 18:44:01 +00:00
Amine Khaldi
4f1f6bb03e [CRYPT32_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74790
2017-06-03 18:37:38 +00:00
Amine Khaldi
a7d6502350 [CRYPT32] Sync with Wine Staging 2.9. CORE-13362
31943c4 crypt32: Add MS root CA 2010/2011.
148ece3 crypt32: Sort specfile.
71e6152 crypt32: Use isspaceW() instead of isspace() for WCHARs.

svn path=/trunk/; revision=74789
2017-06-03 18:37:28 +00:00
Amine Khaldi
fb184b034d [CABINET_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74788
2017-06-03 18:37:22 +00:00
Amine Khaldi
9260320d5c [CREDUI] Sync with Wine Staging 2.9. CORE-13362
dc0a49f credui: Use SetRectEmpty() instead of memset().

svn path=/trunk/; revision=74787
2017-06-03 18:37:18 +00:00
Amine Khaldi
59ae921bd1 [AMSTREAM_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74786
2017-06-03 18:37:13 +00:00
Amine Khaldi
cdafd8b213 [AVIFIL32] Sync with Wine Staging 2.9. CORE-13362
78c49a4 avifil32: Use SetRectEmpty() instead of memset().

svn path=/trunk/; revision=74785
2017-06-03 18:37:08 +00:00
Amine Khaldi
02b8adbe36 [ADVPACK_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74784
2017-06-03 18:37:03 +00:00
Amine Khaldi
f91f6781d9 [ADVPACK] Sync with Wine Staging 2.9. CORE-13362
a059696 advpack: Sort specfile.
c0b3703 advpack: Don't trace the contents of an output buffer (Valgrind).
31c1895 advpack: Fix some spec file entries.
2ed059a advpack: Add a __WINE_ALLOC_SIZE attribute to heap_alloc().

svn path=/trunk/; revision=74783
2017-06-03 18:36:59 +00:00
Amine Khaldi
3e73825c04 [QUARTZ] Sync with Wine Staging 2.9. CORE-13362
1f765fb quartz: Remove an unnecessary if.

svn path=/trunk/; revision=74782
2017-06-03 18:36:47 +00:00
Pierre Schweitzer
53c317d86d [UDFS]
Our current storage stack iteration considers that any CDROM is read-only and forces it.
Reflect that fact in UDFS; we cannot assume that our device won't be readonly.

CORE-4375

svn path=/trunk/; revision=74781
2017-06-03 18:29:44 +00:00
Pierre Schweitzer
bcd5f02d0f [UDFS]
HIde a bug in UDFQueueDelayedClose() by removing the boolean storing the fact
that VCB resource was (or not) acquired.
If you debug it, you see that in finally block, value is set to false on exit
without any reason: it is always acquired!
Given it's always acquired, just drop the boolean, but this doesn't explain the
root cause of this bug....

Here it helps avoiding deadlocks on directory listing on a DVD formatted with UDF

CORE-4375

svn path=/trunk/; revision=74780
2017-06-03 18:12:25 +00:00
Amine Khaldi
61e603ee5a [DPLAYX_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74779
2017-06-03 18:06:05 +00:00
Amine Khaldi
755627e213 [DPLAYX] Sync with Wine Staging 2.9. CORE-13362
2bb3636 dplayx: Skip over unknown DataTypes guids in EnumAddressTypes.

svn path=/trunk/; revision=74778
2017-06-03 18:05:58 +00:00
Amine Khaldi
d52d8cb667 [DMUSIC] Sync with Wine Staging 2.9. CORE-13362
40a4a5c dmusic: Fail in CreatePort() if SetDirectSound() wasn't called.
62bf207 dmusic: Remove the port from the ports list on the port destruction.
3b4909f dmusic: Set the dsound pointer to NULL on an error path.
829ef41 dmusic: Fix compilation on systems that don't support nameless structs or unions.
43b3f84 dmusic: Add dsound handling to the synth port Activate() method.
f968edb dmusic: Partially implement the synth IDirectMusicPort::SetDirectSound().
e8873b7 dmusic: Pass only the needed stuff to the DMPort create functions.
36a88d2 dmusic: Implement IDirectMusic8::SetDirectSound().
b75e8bc dmusic: Use more sensible and consistent field names for IDirectMusic8Impl.
950b8a9 dmusic: Avoid an intermediate copy in PackStructured().
7cd7f14 dmusic: Implement IDirectMusicBuffer::PackUnstructured().
4fbae8e dmusic: Use DMUS_EVENT_SIZE() to calculate the size of the message.

svn path=/trunk/; revision=74777
2017-06-03 18:05:52 +00:00
Amine Khaldi
6ab32d28bf [DINPUT] Sync with Wine Staging 2.9. CORE-13362
e87ccb8 dinput: Assume a 1-to-1 axes map when no axes match.
41b126b dinput: Handle username in EnumDevicesBySemantics.
967399e dinput: Keep username same between device objects.

svn path=/trunk/; revision=74776
2017-06-03 18:05:46 +00:00
Amine Khaldi
e1aaa10312 [DEVENUM_WINETEST] Sync with Wine Staging 2.9. CORE-13362
svn path=/trunk/; revision=74775
2017-06-03 17:29:09 +00:00
Amine Khaldi
81c8fd62b3 [DEVENUM] Sync with Wine Staging 2.9. CORE-13362
7d07768 devenum: Populate AudioCompressorCategory.
116743c devenum: Implement IMoniker::IsEqual().
ff0a25c devenum: Use RegQueryValueExW instead of RegQueryValueW.
05ed831 devenum: Implement IMoniker::GetClassID().

svn path=/trunk/; revision=74774
2017-06-03 17:29:04 +00:00
Amine Khaldi
15f8d4f061 [IEXPLORE] Sync with Wine Staging 2.9. CORE-13362
79d01be iexplore: Follow translation version info to detect native IE.

svn path=/trunk/; revision=74773
2017-06-03 17:28:59 +00:00
Amine Khaldi
6b4d06cee9 [XCOPY] Sync with Wine Staging 2.9. CORE-13362
373604f xcopy: Avoid using isdigit() for WCHARs.

svn path=/trunk/; revision=74772
2017-06-03 17:28:54 +00:00
Pierre Schweitzer
70740f2a14 [UDFS]
Fix broken KdPrint

svn path=/trunk/; revision=74770
2017-06-03 16:54:18 +00:00
Amine Khaldi
e1cb837969 [PSDK] Update asptlb.idl. CORE-13362
svn path=/trunk/; revision=74765
2017-06-03 15:44:58 +00:00
Mark Jansen
44616bacfb [SHELL32] CMenuDeskBar: Prevent destruction of the start menu when receiving a WM_CLOSE message. CORE-12028
svn path=/trunk/; revision=74764
2017-06-03 15:35:21 +00:00
Hermès Bélusca-Maïto
70cd488931 [HIVESYS]: Add some missing PnP classes... But as it says, "Device classes (this list is incomplete... and should be generated from .inf files during installation)" <-- the INFs in question are the INF hardware files in the media/inf directory.
svn path=/trunk/; revision=74761
2017-06-03 14:25:38 +00:00
Mark Jansen
eb88e1e349 [KERNEL32] Fix IsShimInfrastructureDisabled. CORE-13352
svn path=/trunk/; revision=74760
2017-06-03 13:06:32 +00:00
Pierre Schweitzer
63eb4b623a [KMTESTS:MM]
Test various sizes with MmMapLockedPagesSpecifyCache() to show that behavior is strictly identical.
This was designed/tested under W2K3.

CORE-8204

svn path=/trunk/; revision=74759
2017-06-03 10:29:39 +00:00
Thomas Faber
440e3c69e4 [KERNEL32_APITEST]
- Add tests for IsDBCSLeadByteEx. Patch by Katayama Hirofumi MZ.
ROSTESTS-281 #resolve

svn path=/trunk/; revision=74758
2017-06-03 07:05:31 +00:00
Thomas Faber
e98a0d8a85 [LOCALSPL]
- Fix out-of-bounds access in _LocalGetPrinterLevel5. Patch by Ivan Rodionov.
CORE-13356 #resolve

svn path=/trunk/; revision=74757
2017-06-03 06:46:34 +00:00
Peter Hater
21b16a63ed [MSWSOCK] Revert r74753 and r74755 as it showed regressions
svn path=/trunk/; revision=74756
2017-06-03 00:30:20 +00:00
Peter Hater
a59bc8597f [MSWSOCK] Rearrange the function places to avoid forward declarations and code formatting
svn path=/trunk/; revision=74755
2017-06-02 21:57:37 +00:00
Eric Kohl
95d15ef760 [NETAPI32]
- Implement NetShareEnum, NetShareEnumSticky, NetShareGetInfo and NetShareSetInfo. These functions call their counterparts in the server service.
- NetShareAdd: Fix the level check.

svn path=/trunk/; revision=74754
2017-06-02 21:56:17 +00:00
Peter Hater
d5ae9f5408 [MSWSOCK] Add wine debug messages on mswsock debug channel.
Better cleanup some failure paths.
Fix some error codes.
Add some error checks.
Add some comments.

svn path=/trunk/; revision=74753
2017-06-02 21:01:47 +00:00
Eric Kohl
daff560348 [NETAPI32]
- Implement NetShareAdd, NetShareCheck, NetShareDel and NetShareDelSticky. These functions call their counterparts in the server service.
- Add stubs for NetShareEnum, NetShareEnumSticky, NetShareGetInfo and NetShareSetInfo.
- Get rid of the NetShare wine stubs.

svn path=/trunk/; revision=74752
2017-06-02 20:02:49 +00:00
Pierre Schweitzer
8679f001d9 [KMTESTS:MM]
Add tests for MmMapLockedPagesSpecifyCache() functions, and more specifically for usermode mapping.
This was designed/tested under W2K3.

CORE-8204

svn path=/trunk/; revision=74751
2017-06-02 19:19:32 +00:00
Peter Hater
1611dc4086 [MSWSOCK] Call explicitly DnsQuery_W. Copy host aliases if available as answer from the query
svn path=/trunk/; revision=74750
2017-06-02 17:52:20 +00:00
Hermès Bélusca-Maïto
0f80ead8ec [USETUP]: Creating a registry key with zero access is just plainly invalid. Fix it. It was not caught before because, we never ever booted a 1st-stage setup with a valid mounted existing SYSTEM key (as Windows does).
svn path=/trunk/; revision=74742
2017-06-02 00:44:04 +00:00
Hermès Bélusca-Maïto
cead3c26ac [MKHIVE]: Fix string byte size vs. count in number of characters confusion in append_multi_sz_value(); this was already OK in wine's code. Should fix corrupted multi-string entries in the livecd registry hives, for example...
In addition, always open the hive file to be created in write mode only.
CORE-13347

svn path=/trunk/; revision=74740
2017-06-02 00:05:53 +00:00
Hermès Bélusca-Maïto
b03f8990c0 [MKHIVE]: Formatting changes only + sync back the names of the reg-inf functions with the ones where they are coming from (aka. Wine's setupapi/install.c).
svn path=/trunk/; revision=74739
2017-06-02 00:00:37 +00:00
Hermès Bélusca-Maïto
375355b9a6 [MKHIVE]: Implement CmpFileRead().
svn path=/trunk/; revision=74738
2017-06-01 23:54:08 +00:00
Pierre Schweitzer
b39d02678f [RDBSS]
Fix uninit var usage

CORE-13345
CORE-11327

svn path=/trunk/; revision=74737
2017-06-01 21:37:08 +00:00
Hermès Bélusca-Maïto
fce964935e [BUGCODES]: Move our MORAL_EXCEPTION_ERROR BSOD to where it should really belong (aka BSOD 0x9A) (see https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0x9a--system-license-violation why). BSOD 0x7C is however legit: BUGCODE_NDIS_DRIVER.
svn path=/trunk/; revision=74736
2017-06-01 20:20:25 +00:00
Hermès Bélusca-Maïto
07a0591894 [NTOS]: Better clean up behind ourselves on failure paths (aka. closing handles). These functions are clearly not written with correct cleanup-on-failure concept in mind...
svn path=/trunk/; revision=74735
2017-06-01 18:37:48 +00:00
Hermès Bélusca-Maïto
7d14e79c4c [NTOS]: Code formatting only.
svn path=/trunk/; revision=74734
2017-06-01 18:35:48 +00:00
Hermès Bélusca-Maïto
e5da5bc0d6 [NTOS]: Minor code formatting + don't leak a handle in case of failure, in CmpInitializeHardwareConfiguration().
svn path=/trunk/; revision=74733
2017-06-01 18:27:41 +00:00
Hermès Bélusca-Maïto
8538be9a1f [HAL]
Update the PCI hardware IDs database. Extracted from the pci.ids database from http://pci-ids.ucw.cz/ from 2017-05-25 03:15:02
Maintained by Albert Pool, Martin Mares, and other volunteers from the PCI ID Project.

svn path=/trunk/; revision=74732
2017-06-01 17:31:23 +00:00
Peter Hater
0c26c6fe3f [MSWSOCK] Unstub AcceptEx and GetAcceptExSockaddrs. Note that real implementation in msafd is not available, so result will still be FALSE
svn path=/trunk/; revision=74731
2017-06-01 15:25:25 +00:00
Peter Hater
cc95312078 [MSWSOCK] Change functions to be able to use control flags with DnsQuery.
Add host aliases to hostent if available and requested.
Only copy servent aliases if available and requested.

svn path=/trunk/; revision=74730
2017-06-01 15:22:06 +00:00
Thomas Faber
50313aa5c8 [ACPICA]
- Update to version 20170531
CORE-13348 #resolve

svn path=/trunk/; revision=74729
2017-06-01 10:54:48 +00:00
Peter Hater
3be9010b96 [MSAFD] Don't try to accept on non listening socket. Return WSAEINVAL
svn path=/trunk/; revision=74728
2017-06-01 09:41:19 +00:00
Peter Hater
d060749ca4 [MSWSOCK] Update network protocols. Patch by Marco Savelli. CORE-13320 #resolve
svn path=/trunk/; revision=74727
2017-06-01 09:00:32 +00:00
Hermès Bélusca-Maïto
c1d754ee9f [FREELDR/WINLDR]: Rework LoadModule() so that we can load custom kernels & hals via the /KERNEL= and /HAL= boot option switches.
svn path=/trunk/; revision=74725
2017-05-31 18:40:29 +00:00
Pierre Schweitzer
c6fc31e430 [RXCE]
Fix broken cast
By Thomas

svn path=/trunk/; revision=74724
2017-05-31 17:10:45 +00:00
Pierre Schweitzer
47a6faa9cd [DDK]
sed -i s/__volatile/volatile/g to fix build with VS2010

CORE-13345

svn path=/trunk/; revision=74723
2017-05-31 17:02:44 +00:00
Hermès Bélusca-Maïto
f51faa4a0f [NTOS]: Underline the fact that CmpGetRegistryPath (especially when being run in 1st-stage text mode) is just a big hack (introduced in r3794 and r3795). I however need to monitor its output for the moment...
svn path=/trunk/; revision=74709
2017-05-31 00:03:33 +00:00
Hermès Bélusca-Maïto
3ef498a4de [NTOS]: Minor fixes:
- Correctly specify the buffer size for RtlInitEmptyUnicodeString calls;
- Prefer using RtlAppendUnicodeStringToString instead of RtlAppendStringToString: both actually do the very same job on counted strings, but the former doesn't need the explicit PSTRING casts, and NULL-terminate the string buffer if possible (aka. if the available remaining length permits it, otherwise it doesn't add any NULL terminator, falling back to the default behaviour of RtlAppendStringToString).
- Remove a deprecated commented-out variable.

svn path=/trunk/; revision=74708
2017-05-31 00:01:31 +00:00
Pierre Schweitzer
7b67bd00c4 [NTDLL_VISTA]
Fix GCC build after r74706.
Patch by Thomas

svn path=/trunk/; revision=74707
2017-05-30 22:01:13 +00:00
Mark Jansen
c588ecb84f Fix the build for MSVC.
svn path=/trunk/; revision=74706
2017-05-30 21:48:04 +00:00
Pierre Schweitzer
038c2e6ca0 [KERNEL32_VISTA]
Add Kernel32 implementation for SRW locks and condition variables.
This is based on Wine implementation.

CORE-7546
CORE-8204

svn path=/trunk/; revision=74705
2017-05-30 21:39:50 +00:00
Pierre Schweitzer
379c7825ec [RTL]
Delete leftover

CORE-7546
CORE-8204

svn path=/trunk/; revision=74704
2017-05-30 21:36:43 +00:00
Pierre Schweitzer
296d09b486 [NTDLL_VISTA]
Create a new NTDLL library that exports some of the NTDLL Vista+ functions.
This new NTDLL includes at the time of commit:
- SRW locks implementation that was originally built in RTL but never used ;
- Condition variables implementation which is a new code in ReactOS trunk.

Condition variables is an implementation of Stephan Röger, with minor formatting
changes by Timo Kreuzer and various changes by myself.

CORE-7546
CORE-8204

svn path=/trunk/; revision=74703
2017-05-30 21:35:05 +00:00
Mark Jansen
29177f71b6 [KERNEL32] Do not use TEB->StaticUnicodeString in CreateProcessInternalA. CORE-10368
svn path=/trunk/; revision=74702
2017-05-30 20:57:45 +00:00
Mark Jansen
9a54d4a3a0 [KERNEL32_APITEST] Add test to show that we should not spoil TEB->StaticUnicodeString in CreateProcessA. CORE-10368
svn path=/trunk/; revision=74701
2017-05-30 20:55:15 +00:00
Thomas Faber
47ef0a440a [NTOS:IO]
- Fix key handle leak in PipCallDriverAddDevice
- Avoid double-close in failure case of IopAttachFilterDrivers
- Simplify closing handles, and use sensible variables names in IopAttachFilterDrivers
CORE-13336

svn path=/trunk/; revision=74700
2017-05-30 18:14:31 +00:00
Thomas Faber
23da2b0594 [NTOS:IO]
- Save an indentation level in IopAttachFilterDrivers
CORE-13336

svn path=/trunk/; revision=74699
2017-05-30 17:22:13 +00:00
Mark Jansen
9e82e9f1d6 [KERNEL32] Actually disable the shim engine while it is not ready yet.... CORE-10368
svn path=/trunk/; revision=74697
2017-05-29 21:14:15 +00:00
Thomas Faber
c4393987a1 [ACPI]
- Remove some dead code in acpi_system_add. CID 502179
- Define deviceName only in debug builds in Bus_AddDevice. CID 502180

svn path=/trunk/; revision=74696
2017-05-29 09:23:33 +00:00
Mark Jansen
8f2963ab01 [KERNEL32] Initial implementation for BaseCheckRunApp, calling into apphelp to check for compatibility fixes CORE-10368
svn path=/trunk/; revision=74693
2017-05-28 19:27:51 +00:00
Giannis Adamopoulos
2fa8800e5e [EXPLORER] -Implement the trick that makes the start button to get clicked when the user clicks on the corner of the screen.
svn path=/trunk/; revision=74692
2017-05-28 18:31:48 +00:00
Mark Jansen
440290e1cb [USER32_APITEST] Add more tests to validate messages sent during window creation / modifying of styles. CORE-12052
svn path=/trunk/; revision=74691
2017-05-28 17:40:48 +00:00
Benedikt Freisen
846f8450db [MSPAINT]
- When setting a file as tiled wallpaper, it will now indeed show up tiled instead of centered.
- All three options (tiled, centered, stretched) are working.  (non-bitmaps only in Vista and above)

CORE-12164 #resolve

svn path=/trunk/; revision=74690
2017-05-28 17:33:15 +00:00
Mark Jansen
9386daa570 [USER32_APITEST] Add tests to validate messages sent during window creation / modifying of styles. CORE-12052
svn path=/trunk/; revision=74689
2017-05-28 13:55:05 +00:00
Pierre Schweitzer
f61c6e1fbd [NTOSKRNL:MM]
Only warn for unimplemented in ExAllocatePoolWithTagPriority() when memory allocation fails. For the rest, the caller has the memory it asked for.
Side note: we could also warn when caller wants to use special pool.

CORE-13334
CORE-11327

svn path=/trunk/; revision=74688
2017-05-28 10:22:30 +00:00
Daniel Reimer
7bb4b752e1 [RAPPS]
Update 7-Zip to 16.04

svn path=/trunk/; revision=74687
2017-05-27 21:08:25 +00:00
Pierre Schweitzer
a6849e9613 [RDBSS]
Properly initialize pRdbssScavenger in RxDeviceObject to avoid NULL-ptr deref

CORE-11327

svn path=/trunk/; revision=74686
2017-05-27 20:20:27 +00:00
Pierre Schweitzer
683eaf0e00 [RXCE]
Make RxpTrackDereference()/RxpTrackReference() when they're noop.

CORE-11327

svn path=/trunk/; revision=74684
2017-05-27 17:41:58 +00:00
Pierre Schweitzer
5d1661ec2d [RDBSS]
[RXCE]
Try to make use of wrapper more 'properly'. Now, we use wrappers for ASSERT and memory management.
This allows us to allocate memory with low priority (which isn't supported by ReactOS yet :-().

Note that we go a bit farther than MS: we also define RxFreePoolWithTag() and make use of it.
This should make Thomas happy :-)

CORE-11327

svn path=/trunk/; revision=74683
2017-05-27 17:29:11 +00:00
Pierre Schweitzer
40f5fb3a68 [RXCE]
Implement FCB refcounting

CORE-11327

svn path=/trunk/; revision=74682
2017-05-27 16:50:29 +00:00
Pierre Schweitzer
e89be79709 [RXCE]
Implement operation verification, this is notably based on FatVerifyOperationIsLegal.

CORE-11327

svn path=/trunk/; revision=74681
2017-05-27 12:34:38 +00:00
Giannis Adamopoulos
d2dcb75417 [EXPLORER] -Make the taskbar grip get its size from the theme. This fixes one of the last theme related problems in explorer itself. Also simplify some theme drawing code.
svn path=/trunk/; revision=74680
2017-05-27 10:44:44 +00:00
Mark Jansen
31391c60b1 [SYSSETUP][UNATTENDED] Allow changing the resolution automatically. CORE-13315
svn path=/trunk/; revision=74679
2017-05-27 09:37:16 +00:00
Pierre Schweitzer
acc9f33775 [RXCE]
- Make RxpUndoScavengerFinalizationMarking() more smart: only warn about unimplemented if there's scavenger mark
- Implement FCB operations (release/acquire) tracker

CORE-11327

svn path=/trunk/; revision=74678
2017-05-27 09:36:42 +00:00
Giannis Adamopoulos
3972478a69 [EXPLORER] -Reload the theme data only when the orientation changes (we ended up reloading it every few seconds).
svn path=/trunk/; revision=74677
2017-05-27 09:09:01 +00:00
Pierre Schweitzer
7e486e2119 [RXCE]
Implement reference tracing

CORE-11327

svn path=/trunk/; revision=74676
2017-05-27 08:39:42 +00:00
Pierre Schweitzer
a89c82316c [RDBSS]
[RXCE]
[DDK]
Add an initial implementation of the RXCE and RDBSS libraries that are used to implement mini-redirectors
The associated headers are also added to DDK

The implementation is partial (really!) and is only working for read-only operations.

It leaks memory as hell (no refcounting implemented) and thus, objects freeing is not implemented.

It was tested with NFS41 driver. With such RDBSS, it's possible for the driver to mount a remote share, to list
files, to query their properties, to query volume properties, and finally to read files (with some corruption under
specific conditions).

Please refrain from committing in this (especially for modifying whitespaces or fixing comments...), this is still WIP
and under development, it would mess with my local changes!

In itself, it doesn't bring anything to ReactOS yet, as no mini redirector is available in ReactOS source tree.
This may come later on with NFS41.

More to follow...

CORE-11327

svn path=/trunk/; revision=74674
2017-05-26 20:52:18 +00:00
Peter Hater
fb1a1ab85e [MSAFD] Don't update shared state on close if we still have active references to the socket. Checked also by ws2_32:close API test CORE-12029
svn path=/trunk/; revision=74673
2017-05-26 15:27:45 +00:00
Peter Hater
1c9d856e91 [WS2_32_APITESTS] Add close tests ROSTESTS-279
svn path=/trunk/; revision=74672
2017-05-26 14:02:25 +00:00
Peter Hater
a6a53b4231 [WS2_32_APITESTS] Fix broadcast test ROSTESTS-278
svn path=/trunk/; revision=74671
2017-05-26 14:00:47 +00:00
Peter Hater
44162f7bd9 [WS2_32] Revert r74669
svn path=/trunk/; revision=74670
2017-05-26 13:44:01 +00:00
Peter Hater
c43028c6ab [WS2_32] Set last error on exit on some functions
svn path=/trunk/; revision=74669
2017-05-26 11:51:33 +00:00
Peter Hater
b2b645b014 [MSAFD] Add some parameters check for WSPBind. Inspired by results of bind test
svn path=/trunk/; revision=74668
2017-05-26 10:32:01 +00:00
Peter Hater
a09e47fe40 [WS2_32_APITESTS] Fix broadcast test ROSTESTS-278
svn path=/trunk/; revision=74667
2017-05-26 10:31:50 +00:00
Peter Hater
92ccd9c174 [WS2_32_APITESTS] Add rebind and bind to broadcast tests ROSTESTS-278
svn path=/trunk/; revision=74666
2017-05-26 09:02:08 +00:00
Pierre Schweitzer
0629afcaa5 [GDIPLUS]
Import Wine commit (by Vincent Povirk):
- b8a8e1bde9382897927945ec0b58b8a2fcfcfe59, Check SHADEBLENDCAPS only for printer devices.

In short, this avoids black boxes in GOG setup. This may help other software having rendering issues due to alpha layer.

svn path=/trunk/; revision=74665
2017-05-26 08:31:10 +00:00
Peter Hater
b2ba90c6b5 [WS2_32_APITESTS] Fix GCC build ROSTESTS-278
svn path=/trunk/; revision=74664
2017-05-26 07:11:13 +00:00
Peter Hater
4214877a10 [WS2_32_APITESTS] Improve bind test output ROSTESTS-278
svn path=/trunk/; revision=74663
2017-05-26 07:08:06 +00:00
Hermès Bélusca-Maïto
049b4bff68 [INCLUDEs:ARC]: Fix some structure members of LOADER_PARAMETER_EXTENSION and SETUP_LOADER_BLOCK. Add some documentation & links regarded these structures to document which members change/disappear starting some NT version.
Also, turn some Win32 LPSTR into NT' PSTR or PCHAR types.

svn path=/trunk/; revision=74662
2017-05-26 02:15:54 +00:00
Thomas Faber
a467407d5f [ACPICA]
- Use the compiler's native 64 bit math support instead of emulating it with 32 bit operations.
CORE-13316

svn path=/trunk/; revision=74658
2017-05-25 19:39:38 +00:00
Hermès Bélusca-Maïto
4ba7bf7dbe [SYSDM]: Fix a SendDlgItemMessage(LB_GETITEMDATA) call that missed the index of the list item being selected. This fixes setting the page file for the actual selected disk.
Caught by "cagey45" contributor on the forums: https://reactos.org/forum/viewtopic.php?f=9&t=16439 ; see also CORE-1151.

svn path=/trunk/; revision=74657
2017-05-25 18:36:45 +00:00
Thomas Faber
9187043762 [ACPICA]
- Fix our broken support for the Windows-GCC configuration (again) by providing proper implementations of ACPI_DIV_64_BY_32 and ACPI_SHIFT_RIGHT_64.
CORE-13316 #resolve

svn path=/trunk/; revision=74656
2017-05-25 18:27:30 +00:00
Peter Hater
27fe85a2cb [WS2_32_APITESTS] Set the size of addr when calling getsockname ROSTESTS-278
svn path=/trunk/; revision=74655
2017-05-25 15:57:38 +00:00
Eric Kohl
8e52193434 [BOOTDATA]
- Sort keyboard layouts and make them translatable.
- Remove quotation marks from service display names and descriptions and fix a typo.
CORE-11885

svn path=/trunk/; revision=74654
2017-05-25 15:53:10 +00:00
Peter Hater
a569e0aa3a [WS2_32_APITESTS] Remove compile warning disable for GCC. Thanks Thomas. ROSTESTS-278
svn path=/trunk/; revision=74653
2017-05-25 15:12:40 +00:00
Peter Hater
fe8ca04a83 [WS2_32] Dereference socket in case of parameter check failure. Thanks Thomas. ROSTEST-278
svn path=/trunk/; revision=74652
2017-05-25 14:51:16 +00:00
Peter Hater
44ac5bf123 [WS2_32_APITESTS] Add some bind API tests
svn path=/trunk/; revision=74651
2017-05-25 14:43:57 +00:00
Peter Hater
f732630141 [WS2_32] Add some parameters check for getsockname. Use value size for size check instead of type in bind. ROSTEST-278
svn path=/trunk/; revision=74650
2017-05-25 14:42:24 +00:00
Peter Hater
0e96026122 [WS2_32] Perform parameters check on bind. ROSTESTS-278
svn path=/trunk/; revision=74649
2017-05-25 12:34:33 +00:00
Hermès Bélusca-Maïto
7ee1b6a5f5 Code styling:
[NDK]: Make a #define value look less "magical".
[ARC]: Write "BaseDllName" using the regular case used in other parts of ReactOS' code.

svn path=/trunk/; revision=74644
2017-05-24 23:52:56 +00:00
Hermès Bélusca-Maïto
d452b9b684 [FSLIB]: Minor fixes:
- Stub and export VfatxChkdsk();
- Sync and fix the file code headers;
- In the libs, use NTAPI instead of WINAPI;
- Use 4-space indentation (instead of tabs).

svn path=/trunk/; revision=74643
2017-05-24 23:32:46 +00:00
Benedikt Freisen
bc7078eaf3 [MSPAINT]
- Determine and adapt to actual status bar height instead of assuming a fixed height.  This improves theme support.

svn path=/trunk/; revision=74642
2017-05-24 19:31:43 +00:00
Giannis Adamopoulos
c04750f246 [WIN32l:NTGDI] -Check the return value IntGetOutlineTextMetrics and stop using garbage from the pool in case of error. CORE-13089, CORE-12752
svn path=/trunk/; revision=74633
2017-05-23 09:40:07 +00:00
Giannis Adamopoulos
d7e4f26d1a [WIN32K] -Simplify the parameters passed to GetFontPenalty and FindBestFontFromList. Make SubstituteFontRecurse update a LOGFONT and get rid of some needless allocations.
svn path=/trunk/; revision=74630
2017-05-22 18:17:49 +00:00
Thomas Faber
bb1fb70eb3 [CMLIB]
- Fix an assert that only works by chance

svn path=/trunk/; revision=74628
2017-05-22 13:48:11 +00:00
Thomas Faber
ea547f81f4 [NTOS:MM]
- In MmDumpArmPfnDatabase, actually print all usage buckets to provide a complete and verifiable view of the database

svn path=/trunk/; revision=74627
2017-05-22 13:37:44 +00:00
Thomas Faber
d855861c41 [NTOS:MM]
- Make PFN tracing work... somewhat

svn path=/trunk/; revision=74626
2017-05-22 13:30:44 +00:00
Thomas Faber
b0da8bcfdf [CALC]
- Remove Czech koruna from currency conversions... their exchange rate is not a constant
- While here, add new Euro currencies, and improve the accuracy of some conversion rates

svn path=/trunk/; revision=74625
2017-05-22 13:13:45 +00:00
Thomas Faber
88a76ad2f0 [HHPCOMP]
- Avoid casting pointers to 'unsigned long'

svn path=/trunk/; revision=74624
2017-05-22 12:50:08 +00:00
Thomas Faber
945dd20eae [HAL]
- Correctly prepare the I/O port map for V86 mode by making HalpSavedIoMap actually point to it instead of to the parent structure. Fixes boot with video BIOS code that relies on I/O ports FF00 through FFFF.
CORE-13306 #resolve

svn path=/trunk/; revision=74623
2017-05-22 12:20:31 +00:00
Giannis Adamopoulos
7fe1fd0766 [WIN32K] -Reduce the ridiculous number of string allocations done by FindBestFontFromList and GetFontPenalty. CORE-13274
svn path=/trunk/; revision=74613
2017-05-21 16:47:07 +00:00
Mark Jansen
275c4e77d8 [WIN32SS] Improve IntGetFontLocalizedName by less strict matching on language id's. Patch by Katayama Hirofumi MZ. CORE-13239 #comment Thanks!
svn path=/trunk/; revision=74612
2017-05-21 12:24:57 +00:00
Mark Jansen
562561d422 [KERNEL32] Format the stack trace generated on an unhandled exception so that log2lines can parse it. CORE-13232 #resolve
svn path=/trunk/; revision=74611
2017-05-21 11:31:56 +00:00
Mark Jansen
9c22d4b0b8 [SHIMS] Add IgnoreDebugOutput shim CORE-10369
svn path=/trunk/; revision=74610
2017-05-20 20:22:25 +00:00
Mark Jansen
817f78086f [BOOTDATA] Create an empty HKLM\...\AppCompatFlags\Layers key to silence logging.
svn path=/trunk/; revision=74609
2017-05-20 20:06:46 +00:00
Mark Jansen
4f86a02439 [SLAYER] Remove the shell extension. CORE-13111 #resolve
svn path=/trunk/; revision=74608
2017-05-20 19:58:04 +00:00
Mark Jansen
153601c7a2 [WIN32SS] Reduce the amount of calls to IntGetFontLocalizedName, since this was identified as a source of recent slower drawing. CORE-13274
Thanks to Thomas, Giannis and Joachim.

svn path=/trunk/; revision=74607
2017-05-20 18:59:00 +00:00
Eric Kohl
019092990f [INF]
Make code page and language group names translatable.
CORE-11885

svn path=/trunk/; revision=74606
2017-05-20 13:46:48 +00:00
Thomas Faber
c1c815b13d [WIN32K:NTGDI]
- Simplify list walk in FindBestFontFromList

svn path=/trunk/; revision=74605
2017-05-20 12:11:08 +00:00
Eric Kohl
a51b9dd514 [INF]
Make language (locale) names translatable.
CORE-11885

svn path=/trunk/; revision=74604
2017-05-20 09:53:15 +00:00
Thomas Faber
c52bb16926 [HAL]
- Fix a broken DPRINT

svn path=/trunk/; revision=74603
2017-05-19 21:37:50 +00:00
Mark Jansen
f64b823282 [GDI32_APITEST] Improve GetFontResourceInfoW tests. Patch by Katayama Hirofumi MZ. ROSTESTS-269 #resolve #comment Thanks!
svn path=/trunk/; revision=74602
2017-05-19 20:26:49 +00:00
Mark Jansen
bbe72b0163 [APPHELP] Initial implementation of ApphelpCheckRunAppEx. CORE-10368
svn path=/trunk/; revision=74601
2017-05-19 20:13:08 +00:00
Thomas Faber
a9757a1ab0 [NTDLL:LDR]
- Fix logic error in LdrpInit that caused us to busy-wait instead of sleep. This makes LibreOffice start up in a few seconds instead of sitting around at 100% CPU for a minute or two.
CORE-13268 #resolve

svn path=/trunk/; revision=74600
2017-05-19 19:11:14 +00:00
Thomas Faber
8a30da51a0 [RTL]
- Do not change RTL_HANDLE_TABLE::CommittedHandles when committing a new page of handle entries. This value must always point to the beginning of the allocation, to correctly track the entire committed range. Fixes LibreOffice Writer (and ntdll_apitest) crash.
CORE-13271 #resolve

svn path=/trunk/; revision=74599
2017-05-19 18:22:46 +00:00
Thomas Faber
10e08033ca [NTDLL_APITEST]
- Add a test for RTL handle tables
CORE-13271

svn path=/trunk/; revision=74598
2017-05-19 18:05:12 +00:00
Hermès Bélusca-Maïto
48d95feba1 [SCSIPORT]: Fixes:
- In SpiScanAdapter(), after an SCSI INQUIRY command has succeeded and we are setting up a LUN extension structure,
  cache in its InquiryData member the inquiry data retrieved from the INQUIRY command (alternatively we might just cache
  a pointer to a valid "LunInfo" since the latter are also cached elsewhere).
- This allows SpiBuildDeviceMap(), which is called just after SpiScanAdapter(), to correctly report in the registry SCSI tree
  the correct Identifier and DeviceType values for the enumerated logical units.
- Use ExFreePoolWithTag in SpiScanAdapter().

svn path=/trunk/; revision=74597
2017-05-19 16:14:10 +00:00
Hermès Bélusca-Maïto
2e3ea31302 [SCSIPORT]: Code formatting only.
svn path=/trunk/; revision=74596
2017-05-19 16:08:40 +00:00
Hermès Bélusca-Maïto
87d9dfae0d [SCSIPORT]: Fixes + documentation:
- In SpiSendInquiry():
  * use ExFreePoolWithTag;
  * if IoBuildDeviceIoControlRequest() fails, exit correctly the loop so that the allocated buffers are cleaned up;
- In SpiBuildDeviceMap():
  * support new peripheral type names, as documented in the links in the comments;
  * fix the "CommunicationsPeripheral" name (communication'S') as documented, and as done in windows' scsiport driver.

svn path=/trunk/; revision=74595
2017-05-19 15:02:02 +00:00
Hermès Bélusca-Maïto
b00727337e [SCSIPORT]: Code formatting in the functions I'm going to touch next (in addition, add few "continue;" inside some loops so that I can reduce the indent level of code blocks).
svn path=/trunk/; revision=74594
2017-05-19 14:49:23 +00:00
Giannis Adamopoulos
5f36105c74 [UXTHEME] -Use and RTL handle table for HTHEME handles. In this way we can ensure that a value we take is valid even if it is non NULL. We can also detect leaks.
svn path=/trunk/; revision=74593
2017-05-19 11:02:44 +00:00
Giannis Adamopoulos
94f9c1a7c1 [UXTHEME] Greatly reduce the number of times we open the theme data for the non client area.
- Implement OTD_NONCLIENT for OpenThemeDataEx and OpenThemeDataFromFile.
- Open the WINDOW or the SCROLLBAR theme classes only when needed. Use OpenThemeDataEx instead of the internal MSSTYLES_OpenThemeClass. Cache the open theme in the WND_DATA for later use.

svn path=/trunk/; revision=74592
2017-05-19 10:01:50 +00:00
Ged Murphy
48014fdd4b Forgot to add the cmake changes
svn path=/trunk/; revision=74591
2017-05-19 09:46:41 +00:00
Ged Murphy
4466aba674 [FLTMGR]
- Add a rather messy header that I've been slowly building as I'm starting to understand the internals.
- Mostly taken from the MS PDBs and info gained from OSR and Alex Carp's blog. (https://fsfilters.blogspot.co.uk)

svn path=/trunk/; revision=74590
2017-05-19 09:42:00 +00:00
Ged Murphy
7a5211283a [FLTMGR]
- Implement FltCreateCommunicationPort, FltCloseCommunicationPort, FltCloseClientPort, and stub FltSendMessage
- Add two new object types for the server port and client ports
- Implement object type callbacks for closing and deleting these new ports
- Create the comms object and create the symbolic link (FltMgrMsg) to allow usermode to open a handle to the comms layer (aka FilterConnectCommunicationPort)
- Although untested, the comms layer objects should be mostly setup, and we should be able to open a connection from usermode.

svn path=/trunk/; revision=74589
2017-05-19 09:37:38 +00:00
Ged Murphy
fb1948e7d4 [FLTMGR}
- Implement FltAcquirePushLockExclusive, FltAcquirePushLockShared and FltReleasePushLock. Lifted from ntos' internal pushlock routines.
- Implement FltpObjectPointerReference and partially implement FltpObjectPointerDerference

svn path=/trunk/; revision=74588
2017-05-19 09:15:35 +00:00
Giannis Adamopoulos
a652c58c19 [UXTHEME] -Rename WND_CONTEXT to WND_DATA to avoid confusion with the DRAW_CONTEXT. The WND_DATA is information valid throughout the life of a window and DRAW_CONTEXT is information throughout a draw operation in the non client area of the window.
svn path=/trunk/; revision=74587
2017-05-19 08:45:49 +00:00
Ged Murphy
68bca6631d [FLTMGR]
- Add the missing IOCTLs that were added to fltlib

svn path=/trunk/; revision=74586
2017-05-19 08:21:41 +00:00
Hermès Bélusca-Maïto
6ab86eb6cc [NTOS]: Use the correct access rights for ZwOpenDirectoryObject call.
svn path=/trunk/; revision=74585
2017-05-18 23:46:44 +00:00
Hermès Bélusca-Maïto
2e25bf12d0 [NTOS]: Close an opened handle after usage.
svn path=/trunk/; revision=74584
2017-05-18 23:32:00 +00:00
Ged Murphy
4baf3f8e4f [FLTLIB]
- Implement FilterConnectCommunicationPort
- Add the remaining IOCTLs fltlib sends to the fltmgr

svn path=/trunk/; revision=74583
2017-05-18 22:06:49 +00:00
Eric Kohl
e53736f6e0 [INTL]
- Add custom draw function for the codepages listview.
- User gray text color for codepages that cannot be uninstalled.
CORE-13242

svn path=/trunk/; revision=74582
2017-05-18 21:56:24 +00:00
Thomas Faber
17c95d5279 [VIDEOPRT]
- Guard Ke386CallBios calls against concurrent execution.
CORE-13214

svn path=/trunk/; revision=74581
2017-05-18 21:29:24 +00:00
Giannis Adamopoulos
7fd7537957 [UXTHEME] -Remove a debug print that was never meant to be committed.
svn path=/trunk/; revision=74580
2017-05-18 17:53:33 +00:00
Giannis Adamopoulos
313744b524 [UXTHEME] -Apply some suggestions by Thomas.
svn path=/trunk/; revision=74579
2017-05-18 17:15:22 +00:00
Peter Hater
a1a782be93 [MSTSC] Addendum to r74577. CORE-13263
svn path=/trunk/; revision=74578
2017-05-18 08:57:26 +00:00
Peter Hater
2796bd5d20 [MSTSC] Fix BSOD when we can't acquire context from CryptoAPI. CORE-13263 #resolve
svn path=/trunk/; revision=74577
2017-05-18 08:47:30 +00:00
Thomas Faber
1338881e3b [BOOTLIB]
- Avoid uninitialized ComputeHash variable in BlImgLoadImageWithProgress2
CORE-13265 #resolve

svn path=/trunk/; revision=74571
2017-05-17 16:06:24 +00:00
Peter Hater
be8b65c8a9 [MSTSC] Fix parsing of settings. Patch by Stas'M. Thanks. CORE-13223
svn path=/trunk/; revision=74568
2017-05-17 10:53:54 +00:00
Peter Hater
988b6396aa [MSTSC] Send computer name as client name when available. Patch by Stas'M. Thanks. CORE-13237
svn path=/trunk/; revision=74567
2017-05-17 10:47:39 +00:00
Hermès Bélusca-Maïto
4ed5e28c51 [FORMAT]: Use a better variable type for the media flag.
svn path=/trunk/; revision=74566
2017-05-16 20:17:18 +00:00
Hermès Bélusca-Maïto
dddd4b38f6 [SHELL32]: Fix a FIXME: Recognize the media type for formatting, by calling GetDriveTypeW(). Based on what format.com does too.
svn path=/trunk/; revision=74565
2017-05-16 20:16:43 +00:00
Peter Hater
a31e72a3f9 [MSTSC] Fix unwanted change
svn path=/trunk/; revision=74564
2017-05-16 18:01:31 +00:00
Peter Hater
973f7314b1 [MSTSC] Fix adding module name and IP to logon packet. Patch by Stas'M. Minor modification by me. Thanks. CORE-13234
svn path=/trunk/; revision=74563
2017-05-16 17:56:51 +00:00
Hermès Bélusca-Maïto
819142c996 Addendum to r74559: specify 'void' function aka. doesn't take any parameter. In C, a function whose prototype is () means "take an arbitrary number of args".
svn path=/trunk/; revision=74562
2017-05-16 17:45:52 +00:00
Peter Hater
f5c285da13 [MSTSC] Enable taking settings folder using SHGetFolderLocation instead of using "c:\". Patch by Stas'M. Thanks CORE-13225
svn path=/trunk/; revision=74561
2017-05-16 17:37:48 +00:00
Peter Hater
450b66d358 [MSTSC] Fix image corruption in 24bpp mode CORE-13224
svn path=/trunk/; revision=74560
2017-05-16 17:32:19 +00:00
Peter Hater
44f1cf17c7 [ACPI] Implement creating volatile registry keys for ACPI tables CORE-12942
svn path=/trunk/; revision=74559
2017-05-16 17:26:12 +00:00
Peter Hater
8eede74d89 [MSTSC] Switch most MSTSC from internal "ssl" functions to CryptoAPI and implement/enable certificate functions CORE-13259
svn path=/trunk/; revision=74558
2017-05-16 17:20:56 +00:00
Peter Hater
688f2cec04 [MSTSC] Fix build
svn path=/trunk/; revision=74557
2017-05-16 17:03:20 +00:00
Peter Hater
e4bc2f39da [MSTSC] Bring MSTSC closer to latest rdesktop (1.83) CORE-13258
svn path=/trunk/; revision=74556
2017-05-16 16:37:29 +00:00
Eric Kohl
4021832267 [INTL]
Advanced page: Show code pages again.
- Use SetupFindFirstLine and SetupFindNextLine to enumerate all code pages.
- Use heap memory functions instead of global memory functions.
- Get rid of TCHAR.
- Rename LPCPAGE to PCPAGE.
- Hack: Do not fail if EnumSystemCodePages returns FALSE. 

svn path=/trunk/; revision=74555
2017-05-15 20:02:48 +00:00
Giannis Adamopoulos
6ac34f176c [UXTHEME] -ThemeDrawCaptionText: Try to avoid a heap allocation when getting the window caption.
svn path=/trunk/; revision=74552
2017-05-15 16:05:14 +00:00
Giannis Adamopoulos
98917d7d98 [UXTHEME] -Simplify ThemeDrawCaptionText.
svn path=/trunk/; revision=74551
2017-05-15 15:34:43 +00:00
Alex Ionescu
ba88179c67 BL Library now works 100% in paging, protected mode. A picture is worth a thousand commits: http://i.imgur.com/Zx2nQ6x.jpg
[BOOTLIB]: Add support for protocol open/close/lookup while paging and protected mode is enabled.
[BOOTLIB]: Implement support for dozens of UEFI functions while under protected mode.
[BOOTLIB]: Fix bugs in existing UEFI functions which were switching to _protected_ mode instead of _real mode_ before making the UEFI call.
[BOOTLIB]: Free dynamic descriptor in MmMdFreeDescriptor.
[BOOTLIB]: Implement BlHtDelete.
[BOOTLIB]: Implement re-initialize-all path in DsppInitialize.
[BOOTLIB]: Fix small bug in BlDisplayInvalidateOemBitmap
[BOOTLIB]: Fix bigger bug in BlDisplayGetOemBitmap :)

svn path=/trunk/; revision=74546
2017-05-15 01:38:49 +00:00
Alex Ionescu
fe15b28371 Virtual memory works baby! Virtual Heap at 0x80000000 fully enabled. Next up, EFI Protocols with Paging Enabled.
[BOOTLIB]: Fix dumb bug in BlMmIsTranslationEnabled which would always return FALSE.
[BOOTLIB]: Fix dumber bug in MmDefInitializeTranslation which was freeing the page directories and self-map pages even in the success path. Causing us to zero out paging structures...
[BOOTLIB]: Cleanup and extend MmMdDbgDumpList for internal use, and add MmMdListPointerToName as another debug function.
[BOOTLIB]: Add a few more checkpoints in unimplemented paths.

svn path=/trunk/; revision=74545
2017-05-14 16:07:21 +00:00
Pierre Schweitzer
4875f5476e [MUP]
Split MUP into two parts; MUP on one side, DFS on the second side.
This will allow using headers in other parts

svn path=/trunk/; revision=74544
2017-05-14 10:15:43 +00:00
James Tabor
5e9d1bc628 [NtGDI]
- Implement internal functions for setting and retrieving DC origin. Related to CORE-13110.
- Code fix ups.

svn path=/trunk/; revision=74543
2017-05-14 01:00:27 +00:00
Alex Ionescu
d4534e81e1 [BOOTLIB]: Implement MmMdTruncateDescriptors
[BOOTLIB]: Implement MmPaTruncateMemory and call it during paging initialization to remove > 4GB memory.c
[BOOTLIB]: Implement BlpMmInitializeConstraints if those BCD options are used.

svn path=/trunk/; revision=74542
2017-05-14 00:39:30 +00:00
Alex Ionescu
920b985227 [BOOTLIB]: Complete implementation of MmMdRemoveRegionFromMdlEx
svn path=/trunk/; revision=74541
2017-05-14 00:11:48 +00:00
Thomas Faber
b6e4109ff1 [MKHIVE]
- Fail when something goes wrong instead of pretending everything's peachy.
CORE-13241 #resolve

svn path=/trunk/; revision=74540
2017-05-13 22:47:59 +00:00
Timo Kreuzer
698c2abb16 [NTOSKRNL] Improve S-List-Fault detection in KiTrap0EHandler to handle usermode faults as well.
svn path=/trunk/; revision=74539
2017-05-13 20:07:39 +00:00
Thomas Faber
4185903012 [CMAKE]
- Only call mkhive once, as it always generates all 6 binary hives (and if you don't give it all inf files, some of the hives will end up empty).
- Remove no longer needed dependency of efisys on bcd_hive
CORE-13241

svn path=/trunk/; revision=74537
2017-05-13 19:54:51 +00:00
Alex Ionescu
29d82352a3 [BOOTLIB]: Separate free and zero memory, and code vs data runtime data, as newer bootlibs do.
[BOOTLIB]: Fix bugs in MmMdpHasPrecedence and cleanup.
[BOOTLIB]: Fix bug in MmMdFreeDescriptor.
[BOOTLIB]: Cleanup MmMdpSaveCurrentListPointer.
[BOOTLIB]: Fix bug in MmMdpCoalesceDescriptor.
[BOOTLIB]: Fix multiple bugs in MmMdAddDescriptorToList, and cleanup.

svn path=/trunk/; revision=74536
2017-05-13 19:32:26 +00:00
Mark Jansen
c7afd6f90c [APPHELP][SHIMLIB] Forward some events to loaded shims. CORE-11329
svn path=/trunk/; revision=74535
2017-05-13 18:49:27 +00:00
Mark Jansen
b4e46f9021 [NDK][RTL] Make the Name argument in RtlQueryEnvironmentVariable_U const.
svn path=/trunk/; revision=74534
2017-05-13 17:26:59 +00:00
Giannis Adamopoulos
e4832e1f99 [UXTHEME] -Fix the tab background pattern hack when the background pattern is smaller than the window that we are trying to paint. CORE-13147, CORE-13192.
There is still a bug where the pattern doesn't change after a theme change.

svn path=/trunk/; revision=74522
2017-05-12 12:44:49 +00:00
Mark Jansen
3305b84402 [SHELL32] Add stub for SHEnumerateUnreadMailAccountsW, needed by Thunderbird. Found by Joachim Henze. CORE-13229
svn path=/trunk/; revision=74521
2017-05-11 20:20:47 +00:00
Alex Ionescu
676adf3c06 Fully working x86 paging support!
[BOOTLIB]: Fix a critical bug in BlpArchSwitchContext which was not switching to Firmware mode once paging was enabled.
[BOOTLIB]: Fix a critical bug in OslMain which was incorrectly setting BL_LIBRARY_INITIALIZATION_COMPLETED instead of BL_LIBRARY_FLAG_REINITIALIZE_ALL and causing all sorts of failure paths.
[BOOTLIB]: MmDefInitializeTranslation now turns on paging.
[BOOTLIB]: Implement TrpGenerateMappingTracker and BlpArchEnableTranslation
[BOOTLIB]: BlMmMapPhysicalAddressEx now works with paging enabled, and correctly finds mapped memory to use from the virtual MDLs.
[BOOTLIB]: MmPapAllocateRegionFromMdl now handles virtual allocations from MmMdlMappedUnallocated.
[BOOTLIB]: MmPapAllocatePagesInRange now handles BlMemoryKernelRange (KSEG0) allocations.
[BOOTLIB]: MmMdFindSatisfyingRegion now handles virtual descriptors as well, and handles alignment better.

svn path=/trunk/; revision=74519
2017-05-10 14:38:34 +00:00
Colin Finck
a366e71f50 [PRINTING]
SetDefaultPrinterW needs to fail with ERROR_INVALID_PRINTER_NAME if the input parameter is invalid. Also add a test for that.

svn path=/trunk/; revision=74518
2017-05-10 13:03:08 +00:00
Giannis Adamopoulos
643b7c9da9 [SHELL32_APITEST] -Add tests for Control_RunDLLW.
svn path=/trunk/; revision=74517
2017-05-10 10:06:02 +00:00
Hermès Bélusca-Maïto
3acad0e9e5 [USETUP]: Fix the primary/extended partitions creation checks introduced in r63392 : indeed this is if there are *already* 4 (primary) partitions in the table that we cannot create new primary/extended partitions.
Otherwise with the old (broken) checks, we allowed creating more than 4 partitions, and then we overflowed over memory and corrupted the partition list structures.

svn path=/trunk/; revision=74516
2017-05-09 22:09:06 +00:00
Hermès Bélusca-Maïto
af645ee7a2 [FREELDR]: Report the correct number of BIOS (hard) disk drives detected, that is, without any possible extra boot drive that went enumerated afterwards.
This fixes the list of disks enumerated in HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\MultifunctionAdapter\0\DiskController\0\DiskPeripheral\
and we now behave in this regards similarly to Windows 2003 & co.
I thank Lesan Ilie for reporting & testing, and Serge Gautherie and Peter Hater for reviewing.
This fixes a bug introduced in commit r59079.
CORE-13131

svn path=/trunk/; revision=74515
2017-05-09 19:33:46 +00:00
Mark Jansen
423102807d [SDK] Add enum for PEB.AppCompatFlagsUser
svn path=/trunk/; revision=74514
2017-05-09 18:15:22 +00:00
Colin Finck
5b6e082869 [PRINTING]
- Implement GetDefaultPrinterA/W and SetDefaultPrinterA/W in winspool.drv. Also add tests for these functions.
- Set our "Dummy Printer on LPT1" as the default printer in the user registry.
- Return meaningful values for DeviceNotSelectedTimeout and TransmissionRetryTimeout in PRINTER_INFO_5 in localspl.

The Print dialog now preselects "Dummy Printer on LPT1" in all applications.
One more task done from the list at https://reactos.org/wiki/Printing :)

svn path=/trunk/; revision=74513
2017-05-09 15:44:42 +00:00
Hermès Bélusca-Maïto
f06734e55d [USETUP]: Improve the bootsector validity check performed in IsThereAValidBootSector:
- Check for the first 3 bytes (and not 4) of the bootsector to not be zero (that's our criterium for a "valid instruction"). Therefore, a bootsector starting with "00 00 00 xx" (with xx the first byte of a volume identifier) is detected as invalid (because the BIOS won't be able to run it anyways) and therefore, needs to be overwritten.
- Check that its last 2 bytes are the valid 0xAA55 signature.
These improvements were suggested by Serge Gautherie and Peter Hater.
CORE-4870 CORE-12672 CORE-13188
- Move a DPRINT1 around.

svn path=/trunk/; revision=74512
2017-05-09 15:31:53 +00:00
Giannis Adamopoulos
16e06b89aa [DESK.CPL] -Addendum to 74506 which was a bit rushed. Make it possible to apply a theme that was opened by double click. Also add the active theme in the list of themes if it was not enumerated in the themes directory.
svn path=/trunk/; revision=74511
2017-05-09 08:13:49 +00:00
Thomas Faber
a465b60e7f [SHELL32]
- Fix AddCommasW

svn path=/trunk/; revision=74510
2017-05-09 07:45:30 +00:00
Hermès Bélusca-Maïto
0c9cd421ee [DISK]: Small fixes:
- Check for malformed disk identifier, which must be at least 9 WCHARs long (as done by disk_new);
- Prevent possible memory leaks (missing ExFreePool's) + closing registry key.
Investigated by Lesan Ilie during tests; as part of CORE-13131.
- Make one of our hacks more readable (by me).
(We also note that this driver uses the ExAllocate/FreePool functions in the old-school way).

svn path=/trunk/; revision=74509
2017-05-08 21:34:07 +00:00
Giannis Adamopoulos
4bb2162111 More build fixes.
svn path=/trunk/; revision=74508
2017-05-08 19:08:30 +00:00
Giannis Adamopoulos
8b566eee47 Fix build.
svn path=/trunk/; revision=74507
2017-05-08 19:02:49 +00:00
Giannis Adamopoulos
bd209c59d1 [DESK.CPL] -Implement opening msstyles files.
svn path=/trunk/; revision=74506
2017-05-08 18:45:35 +00:00
Robert Naumann
ac91514ccd [EXPLORER] Some style suggestions by Mark Jansen. Thanks
svn path=/trunk/; revision=74505
2017-05-08 17:46:55 +00:00
Hermès Bélusca-Maïto
a3842a814c [CONSOLE.CPL]: Fix the console window preview:
- turn it into a custom control;
- supports dynamic preview area depending on the actual current monitor screen resolution;
  (note that on ReactOS, the WM_DISPLAYCHANGE is not correctly sent, see CORE-13212, therefore this functionality won't show up yet)
- supports correct rescaling of the console preview drawn in the preview area;
- supports dependence of the console preview with respect to the chosen font character dimensions.
The code is there, it may be a little bit improved in the future.
CORE-13196 #resolve

Other additions:
- Add a few space between the console preview text window border and the text sample;
- PaintText and PaintStaticControls do not need to return anything.

svn path=/trunk/; revision=74504
2017-05-08 17:33:33 +00:00
Hermès Bélusca-Maïto
9e97728d4f [CONSOLE.CPL]: Minor modifications:
- Use "hDlg" (as done in the rest of the code) instead of "hwndDlg";
- Refresh the console window preview whenever a dimension or a position was changed.

svn path=/trunk/; revision=74503
2017-05-08 17:24:57 +00:00
Hermès Bélusca-Maïto
c24fbddd42 [CONSOLE.CPL]: Simplify the color selection code by factorizing common parts.
svn path=/trunk/; revision=74502
2017-05-08 17:19:07 +00:00
Robert Naumann
e8476bec2a [EXPLORER] Addendum to r74500. Those 2 commits belong to CORE-11498
svn path=/trunk/; revision=74501
2017-05-08 15:50:07 +00:00
Robert Naumann
a0360cc9e8 [EXPLORER]
- Load and save "Lock Taskbar", "Hide inactive icons", and "Group similar taskbar buttons". Verified on Win2k3 via "Nirsoft RegFromApp".
- use a loader function for registry values.
- save the "show seconds" setting together with the other explorer settings instead of a ROS specific key.
- Add some documentation comments.

svn path=/trunk/; revision=74500
2017-05-08 15:27:33 +00:00
Mark Jansen
5c8991ddbd [WIN32SS] Fix font names not including style info (Bold etc). Patch by Katayama Hirofumi MZ. CORE-12179 #comment Thanks!
svn path=/trunk/; revision=74499
2017-05-08 14:53:30 +00:00
Thomas Faber
8600730e9c [SHELL32]
- Avoid leaking the list items on destruction of CEnumIDListBase
CORE-13194

svn path=/trunk/; revision=74498
2017-05-08 10:59:27 +00:00
Thomas Faber
0db63068ac [USER32]
- Avoid a memory leak in User32EnumWindows in case the window count is zero.
CORE-13194

svn path=/trunk/; revision=74497
2017-05-08 08:29:17 +00:00
Thomas Faber
ba1fcb6554 [NTOS:IO]
- Use pool tagging

svn path=/trunk/; revision=74496
2017-05-08 06:54:35 +00:00
Hermès Bélusca-Maïto
55bf6ea8ff [NTOS]: Addendums to r74491 and r74493:
- Free the FullServiceName buffer if PnpRootCreateDevice failed (erroneously committed in r74494, see pnpmgr.c line 1080);
- No need to close InstanceHandle if the IopCreateDeviceKeyPath call failed, since in this case the registry handle wasn't opened. CORE-13207
- Don't assert on Buffer allocation but return a proper failure code in case of failure. CORE-13208
These are suggestions from Serge Gautherie + Lesan Ilie.

- Add a forgotten ZwClose call in the success code path of IopCreateDeviceKeyPath in IopQueryDeviceCapabilities (by me).

svn path=/trunk/; revision=74495
2017-05-08 00:58:45 +00:00
Hermès Bélusca-Maïto
32b595761c [NTOS]: Code formatting + free the memory in the reverse order from how it was allocated.
svn path=/trunk/; revision=74494
2017-05-08 00:51:44 +00:00
Hermès Bélusca-Maïto
837c766030 [NTOS]: Capture the counted BaseDllName unicode string into a local NULL-terminated buffer before calling wcsrchr on it (actually I think it would be better to create & use a similar function that takes counted strings in input).
Also use 'L' prefix for wide characters and UNICODE_NULL for string terminator.
Patch by Lesan Ilie.
CORE-13208 #resolve

svn path=/trunk/; revision=74493
2017-05-07 18:15:12 +00:00
Hermès Bélusca-Maïto
2b8120a968 [NTOS]: Code formatting changes only.
svn path=/trunk/; revision=74492
2017-05-07 18:12:18 +00:00
Hermès Bélusca-Maïto
0b299f6798 [NTOS]: Fix a potential memory leak.
- If one of the ZwSetValueKey function fails, 'Node->ServiceName.Buffer' is leaked. 
- Also use 'L' prefix for wide characters.
Patch by Lesan Ilie, thanks!
- Use "P(C)WSTR" instead of win32 "LP(C)WSTR" string pointer types (by me).
CORE-13207 #resolve

svn path=/trunk/; revision=74491
2017-05-07 17:50:18 +00:00
Thomas Faber
cf595e72fa [NTDLL]
- Implement user-mode version of RtlWalkFrameChain (mostly as a copy of the kernel version). Now RtlCaptureStackBackTrace actually, you know, captures stack back-traces.

svn path=/trunk/; revision=74490
2017-05-06 17:51:26 +00:00
Thomas Faber
8550143bab [KMTESTS:RTL]
- Add a test for RtlWalkFrameChain and RtlCaptureStackBackTrace

svn path=/trunk/; revision=74489
2017-05-06 15:29:56 +00:00
Eric Kohl
d4b437e4ee [INTL]
- Get rid of the individual getter funtions. Use GetSelectedComboBoxIndex for all CBS_DROPDOWNLIST comboboxes and GetSelectedComboBoxText for all CBS_DROPDOWN comboboxes.
- Check the relevant settings only!
- Rename SetXxxSettings to GetXxxSettings because it is a getter function.
- Handle the bogus WM_COMMAND/EN_CHANGE message that is sent when the IDC_SECONDYEAR_EDIT edit control is initialized. Controls should NEVER send notifications when they are modified programmatically! :-/

svn path=/trunk/; revision=74488
2017-05-06 14:41:50 +00:00
Eric Kohl
3ac350cfe0 [INTL]
Changed locale options doesn't reload correctly before next reboot.
- Added SetNumberSetting, SetCurrencySetting, SetDateSetting and SetTimeSetting functions to get and check values.
- Don't directly change pGlobalData.
- Post WM_WININICHANGE after all changes have been applied.
Based on a patch by Katayama Hirofumi MZ.
CORE-10170

svn path=/trunk/; revision=74487
2017-05-06 13:43:03 +00:00
Thomas Faber
80aa7fd7f9 [WIN32K:NTGDI]
- Avoid using floating point operations in kernel mode.
CORE-10893

svn path=/trunk/; revision=74486
2017-05-06 12:18:21 +00:00
Thomas Faber
26344e7671 [MMSYS]
- Simplify code by using windowsx.h. Patch by Katayama Hirofumi MZ.
CORE-12903

svn path=/trunk/; revision=74485
2017-05-06 10:14:29 +00:00
Thomas Faber
3dfda10ed9 [MMSYS]
- Make browse dialog title and filter localizable. Based on a patch by Katayama Hirofumi MZ.
CORE-12903

svn path=/trunk/; revision=74484
2017-05-06 09:27:32 +00:00
Thomas Faber
9ef60ad5b0 [MMSYS]
- Pass byte counts to RegQueryValueEx instead of character counts. Based on a patch by Katayama Hirofumi MZ.
CORE-12903

svn path=/trunk/; revision=74483
2017-05-06 08:43:56 +00:00
Thomas Faber
96e7761203 [MMSYS]
Patch by Katayama Hirofumi MZ:
- Use _countof where appropriate
- Prefer sizeof(variable) to sizeof(TYPE)
CORE-12903

svn path=/trunk/; revision=74482
2017-05-06 08:22:50 +00:00
Thomas Faber
ef84fa90a8 [COMCTL32]
- Fix heap memory leak in BUTTON_DrawTextCallback
CORE-13190

svn path=/trunk/; revision=74481
2017-05-05 19:23:04 +00:00
Giannis Adamopoulos
a6f1faa394 [COMCTL32] Toolbar: Use DrawThemeText when themes are enabled. CORE-12789
svn path=/trunk/; revision=74480
2017-05-05 10:55:12 +00:00
Giannis Adamopoulos
16989d664d [SHELL32] -CMenuDeskBar: Handle WM_NCPAINT and paint the border with the correct color when it has the flat style.
svn path=/trunk/; revision=74479
2017-05-05 09:01:15 +00:00
Thomas Faber
5d5f53ae61 [KERNEL32_APITEST]
- Fix a broken test name. APITests can not have names already used by Wine tests!  ... they should be named after APIs, anyway...

svn path=/trunk/; revision=74478
2017-05-04 16:45:42 +00:00
Hermès Bélusca-Maïto
720092b8e7 [NDK]: Guard the Bitmap API prototypes in a NTOS_MODE_USER, so that a driver that includes both wdm.h and ndk/rtlfuncs.h for whatever reason does not include twice the bitmap API.
This in particular fixes compilation under x64 due to the fact that, in x64, one of these API is declared (force)inline and the compiler complained that this function already had a body.

svn path=/trunk/; revision=74477
2017-05-04 16:12:52 +00:00
Hermès Bélusca-Maïto
00c641a9ec [USBD.SYS]: Exports:
- The three C-decorated exports _USBD_CreateConfigurationRequestEx@8, _USBD_ParseConfigurationDescriptorEx@28 and _USBD_ParseDescriptors@16 are only exported in the i386 version of the driver (not present in x64, checked on WinXP x64).
  This fixes warnings in ReactOS x64 compilation.
- Add (commented out) the remaining exports (without their parameters) that need to be implemented and exported.

svn path=/trunk/; revision=74476
2017-05-04 15:46:09 +00:00
Hermès Bélusca-Maïto
3849c29490 [KERNEL32_APITEST]: Internationalization console tests by Katayama Hirofumi MZ.
Passes on Win2k3 (either are skipped because either Russian or Japanese locales or codepages are absent, or are passed OK), but not on ReactOS yet. They are committed as reference for future work.
CORE-12451

svn path=/trunk/; revision=74475
2017-05-04 15:39:50 +00:00
Giannis Adamopoulos
21c885f66d [BROWSEUI_APITEST] -Add tests for SHExplorerParseCmdLine for CORE-12882.
svn path=/trunk/; revision=74474
2017-05-04 15:15:45 +00:00
Giannis Adamopoulos
afa3aa776e [SHELL32_APITEST] -Add some tests for SHParseDisplayName for CORE-12882.
svn path=/trunk/; revision=74473
2017-05-04 15:05:10 +00:00
Hermès Bélusca-Maïto
d1760301d4 [CONSOLE.CPL]: Spanish translation update by Javier Fernandez, thanks!
CORE-13187 #resolve

svn path=/trunk/; revision=74472
2017-05-04 14:21:41 +00:00
Hermès Bélusca-Maïto
982c3c6f8d [CONSOLE.CPL]: Fix the console props color buttons (was broken by r74468). Noted by Katayama Hirofumi MZ, thanks!
CORE-13186 #resolve

svn path=/trunk/; revision=74471
2017-05-04 14:18:14 +00:00
Thomas Faber
8faff50ad8 [RAPPS]
- Display download URL in information panel. Patch by Alexander Shaposhnikov.
CORE-12442 #resolve

svn path=/trunk/; revision=74470
2017-05-04 07:09:18 +00:00
Hermès Bélusca-Maïto
f13d997b76 [CONSOLE.CPL]: Rewrite the way we deal with console font samples in the console properties dialog:
- Remove the font helper functions that were already moved into concfg/font.c in r74462, and use the latter instead.
- Use a double list for listing the available font sizes for a given face:
  * a ListBox for raster fonts;
  * a ComboBox for TrueType fonts, allowing the user to specify a custom size.
  The raster ListBox is wrapped using the LIST_CTL structure so that we can use
  the bisection functions on it.
- Allow the user to specify TrueType font size either in pixels or in points. Raster font sizes however are always in pixels.
- Try to remember the nearest font size across different selected face changes.
- Try to support custom-sized TrueType fonts (using the ComboBox's edit field). May need more improvements!
- Retrieve the correct character cell height & width size in pixels when selecting a font (especially when it's a TrueType one).
- We now support bold console fonts too, see CORE-13122 (thanks Katayama!).
- Remove the commented-out "temporary code for future reference".
- Use a global cached font "hCurrentFont" that gets initialized when the console properties applet is created,
  so that we now can have a correct font in the screen samples when one directly views e.g. the "Color" tab,
  without going first in the "Font" tab. This current font is of course updated whenever one changes the font settings.

Tested with success on Windows 2003, Windows 7 and on ReactOS.

CORE-13122 CORE-13182 #resolve

svn path=/trunk/; revision=74469
2017-05-03 23:56:35 +00:00
Hermès Bélusca-Maïto
2dfccd0635 [CONSOLE.CPL]: Minor code refactoring (cont.):
- Use 'hDlg' for the dialog window handle variable (instead of hwndDlg), as already done in other parts of the code;
- Use our regular formatting for function prototypes;
- Use explicit unicode functions;

In addition:
- Correctly check for the dialog controls notifications (within WM_COMMAND message);
- Update the current code page when the code page combobox selection changes, but only notify the property sheet of the change when the combobox contents is validated (either the user pressed ENTER in some way, or the combobox lost its focus).

svn path=/trunk/; revision=74468
2017-05-03 23:05:25 +00:00
Giannis Adamopoulos
ec320d1e33 [SHELL32] -CMenuBand: Correctly get the setting for flat menus. CORE-8925
svn path=/trunk/; revision=74467
2017-05-03 21:49:38 +00:00
Hermès Bélusca-Maïto
74f6803499 [CONSOLE.CPL]: Minor code refactoring:
- Move the bisection functions into their own source file, and make them a bit more general so that they can be used on other types of list structures than win32 combo-boxes.
- Adjust the code in options.c to reflect those changes.

svn path=/trunk/; revision=74466
2017-05-03 20:35:12 +00:00
Hermès Bélusca-Maïto
bc1e2dbb92 [CONSOLE.CPL]: Harmonize most of the resources (sizes of dialog controls for some dialogs), and add some new controls in the font dialog that will be used soon.
To translators: Please check that I haven't broken any translations! :)
CORE-13182

svn path=/trunk/; revision=74465
2017-05-03 20:23:12 +00:00
Hermès Bélusca-Maïto
259a8515b0 [CONSRV]: Improvements for console font support (part 2):
- Use the font functions from the concfg library (see r74462) to create a new console font & retrieve its metrics, inspired by the suggestions from Katayama Hirofumi MZ in CORE-12451 and CORE-13122;
- Use string-safe functions to copy the font names into the fixed-size buffers;
- Use explicit UNICODE calls to GetObject and CreateFontIndirect.
Related to CORE-13182.

svn path=/trunk/; revision=74464
2017-05-03 20:13:23 +00:00
Hermès Bélusca-Maïto
c1934a3a17 [CONSRV]: Use string-safe functions to copy the font names into the fixed-size buffers.
svn path=/trunk/; revision=74463
2017-05-03 19:57:28 +00:00
Hermès Bélusca-Maïto
8928ef6200 [CONCFG]: Diverse improvements/additions for the console configuration library. CORE-13182
- Use string-safe functions to copy the font names into the fixed-size buffers;
- Modify some default settings;
- Add a set of console font manipulation functions, to be used later by both the console applet console.cpl and by CONSRV.
  Some of these functions come from r74365 with minor improvements (see CORE-12451 too), others are based from a patch
  by Katayama Hirofumi MZ from CORE-13122, and the rest are needed for an upcoming commit for console.cpl.
- Add PCH support in concfg.
- Minor code formatting: Use our regular formatting for function prototypes.

svn path=/trunk/; revision=74462
2017-05-03 19:47:18 +00:00
Colin Finck
02ae08f9cb [ISOHYBRID]
Patch all our ISOs (bootcd, bootcdregtest, livecd, hybridcd) with isohybrid in order to make them bootable from HDDs or any kind of USB drives.
The added MBR at the beginning of each ISO doesn't cause any harm for normal CD booting anymore after my patch in r74460.
There is also no need for the dedicated isohybrid targets anymore.

Our ISOMBR master boot record now successfully loads our ISOBOOT boot sector. ISOBOOT loads FreeLdr and indicates that we're booting from HDD, so that FreeLdr can successfully load the kernel.
We then bugcheck in the kernel with either 0x0000007B (INACCESSIBLE_BOOT_DEVICE) using bootcd or 0x0000006B (PROCESS1_INITIALIZATION_FAILED) using livecd.
Testcase is:
  qemu-system-i386 -m 512 -hda bootcd_or_livecd.iso

Needs more investigation, but these are separate bugs and I consider CORE-12648 fixed.

svn path=/trunk/; revision=74461
2017-05-03 15:32:33 +00:00
Colin Finck
11cbbbb746 [FREELDR]
Set BootPartition (DH) to 0xFF in isoboot.S when booting from CD.
Then check for that 0xFF value in FreeLdr to unambiguously detect CD booting instead of using BIOS functions (which don't work reliably on broken BIOSes) or checking for an MBR (which doesn't work on hybrid ISOs).

CORE-12692

svn path=/trunk/; revision=74460
2017-05-03 14:53:57 +00:00
Giannis Adamopoulos
895f97e0a2 [UXTHEME] -Use GdiDrawStream in UXTHEME_DrawImageGlyph and UXTHEME_DrawImageBackground.
svn path=/trunk/; revision=74457
2017-05-03 11:13:23 +00:00
Giannis Adamopoulos
a5cc32eb36 [GDI32] -Add a public undocgdi.h file to keep the definitions for undocumented exports. For now it only contains GdiDrawStream.
svn path=/trunk/; revision=74452
2017-05-03 10:55:54 +00:00
Pierre Schweitzer
335b3f2e4e [NTOSKNRL]
Misc fixes in NtQueryDirectoryFile():
- Don't leak auxbuffer
- Don't allow two completion routines

svn path=/trunk/; revision=74451
2017-05-02 21:32:20 +00:00
Thomas Faber
e6825b17d8 [FASTFAT]
- Add support for FILE_DELETE_ON_CLOSE
CORE-6931 #resolve

svn path=/trunk/; revision=74450
2017-05-02 19:33:14 +00:00
Thomas Faber
1d1755e8f5 [NTOS:MM]
- Avoid a file object reference leak in MmCreateSection.
CORE-6931

svn path=/trunk/; revision=74449
2017-05-02 17:18:37 +00:00
Giannis Adamopoulos
4c8ca6f0a4 [SHELL32] -CDefView: Hide the drag image at drop.
svn path=/trunk/; revision=74448
2017-05-02 14:01:07 +00:00
Thomas Faber
8403189f6c [NTOS:MM]
- When mapping a view of the physical memory section, don't check for BaseAddress/SectionOffset alignment. Instead, prevent user mode mappings of views beyond the highest physical page. Fixes flakiness in kmtest:MmSection
CORE-13113 #resolve

svn path=/trunk/; revision=74447
2017-05-02 11:11:39 +00:00
Thomas Faber
b89db46b1f [KMTESTS:MM]
Add some more tests for physical memory sections:
- Show that any alignment for SectionOffset/ViewSize is allowed. It will get automatically fixed up to page alignment
- Show that kernel mode can map views beyond the highest physical page, but user mode cannot
CORE-13113

svn path=/trunk/; revision=74446
2017-05-02 09:02:10 +00:00
Thomas Faber
2ec8bd97ab [NTOS:IO]
- Print the error status and message in IoRaiseInformationalHardError
CORE-13174 #resolve

svn path=/trunk/; revision=74445
2017-05-02 08:18:30 +00:00
Pierre Schweitzer
dd512f56a9 [CMD]
Fix and simplify implementation of "IF EXIST":
- Don't make any difference between wildcard search and normal search
- This fixes handling DOS devices search (ie, IF EXIST C:\ReactOS\NUL now works)
- This fixes handling pagefile.sys without requiring specifing rights
- Also fix handling directory search, terminated with a \

CORE-11784

svn path=/trunk/; revision=74444
2017-05-01 21:14:38 +00:00
Giannis Adamopoulos
3e2f6b9d2c [COMCTL32] Fix use of uninitialized variable.
svn path=/trunk/; revision=74443
2017-05-01 18:56:03 +00:00
Eric Kohl
a8f63ddb13 [INTL]
Added initialization of IDC_CURRENCYGRPNUM.
Patch by Katayama Hirofumi MZ.
CORE-10170

svn path=/trunk/; revision=74442
2017-05-01 17:05:31 +00:00
Giannis Adamopoulos
cb488db9b7 [BROWSEUI] Don't leak the image lists created by CAddressBand and CToolsBand.
svn path=/trunk/; revision=74441
2017-05-01 13:43:22 +00:00
Giannis Adamopoulos
4bc905e4fd [COMCTL32] -ImageList: Don't leak the DC returned by saturate_image.
svn path=/trunk/; revision=74440
2017-05-01 13:40:57 +00:00
Eric Kohl
3b40688aba [TRANSLATION]
Japanese NLS info.
Patch by Katayama Hirofumi MZ.
CORE-13164

svn path=/trunk/; revision=74439
2017-05-01 13:09:31 +00:00
Giannis Adamopoulos
35fecb20bc [COMCTL32] -Rebar: Fix a region handle leak when themes are enabled.
svn path=/trunk/; revision=74438
2017-05-01 12:44:24 +00:00
Giannis Adamopoulos
f23a970e84 [EXPLORER] CTrayClockWnd: Fix a leak of font handles. CORE-13155
svn path=/trunk/; revision=74437
2017-05-01 09:35:03 +00:00
Thomas Faber
3dfa093f63 [NTOS:IO]
- Fix some extremely broken casts

svn path=/trunk/; revision=74436
2017-04-30 19:24:53 +00:00
Thomas Faber
adae348b32 [WIN32K]
- Check for null members when cleaning up DCs and brushes. Fixes crashes in some failure cases when running out of GDI handles.
CORE-13155

svn path=/trunk/; revision=74435
2017-04-30 18:41:56 +00:00
Eric Kohl
a526c712b5 [INTL]
- Get rid of alloca, malloc and free.
- Always check the return values of HeapAlloc.
- Rename fUserLocaleChanged to bUserLocaleChanged and fGeoIdChanged to bGeoIdChanged.
- Use WCHAR instead of TCHAR.
- Fix indentation and coding style.
- Remove setupreg.c because it is an unused copy of misc.c.

svn path=/trunk/; revision=74434
2017-04-30 15:39:41 +00:00
Colin Finck
30d5e8f413 [LOCALSPL] [SPOOLSV] [WINSPOOL]
- Refactor the code returning PRINTER_INFO_* yet another time to support both EnumPrinters and GetPrinter calls.
- Implement support for PRINTER_INFO_1 through PRINTER_INFO_9 as well as the mostly unknown PRINTER_INFO_STRESS (level 0) structure and return as much information as we can.
- Implement GetPrinterW / LocalGetPrinter.

The Printers Shell folder in Explorer now shows our "Dummy Printer on LPT1" and we pass all 291 winspool:EnumPrinters API tests :)

svn path=/trunk/; revision=74433
2017-04-30 15:12:53 +00:00
Pierre Schweitzer
f10b1d9976 [KERNEL32_APITEST]
- Refactor a bit tests, to split more logically tests
- Fix a bug in tests
- Add new tests for MountMgr showing our storage stack doesn't behave as expected

svn path=/trunk/; revision=74432
2017-04-30 11:43:04 +00:00
Eric Kohl
f62dd8e937 [BOOTDATA]
Make service display names and descriptions translatable.
CORE-11855

svn path=/trunk/; revision=74431
2017-04-29 17:17:10 +00:00
Pierre Schweitzer
3d271a9794 [CDFS]
Fix returned data handling on directory enumeration.
Patch by Giannis Adamopoulos

CORE-13143

svn path=/trunk/; revision=74430
2017-04-28 19:32:44 +00:00
Giannis Adamopoulos
996f952333 [COMCTL32] -Add v5 and v6 manifests in livecd.
svn path=/trunk/; revision=74429
2017-04-28 17:11:46 +00:00
James Tabor
a1290edbe7 [NtGDI]
- Use internal function for setting brush origin. Related to CORE-13110.

svn path=/trunk/; revision=74422
2017-04-27 19:20:09 +00:00
James Tabor
4535174660 [NtGDI]
- Update DC attributes while internally setting brush origin. Related to CORE-13110.

svn path=/trunk/; revision=74421
2017-04-27 17:53:03 +00:00
Mark Jansen
06850c5772 [WIN32SS] Fix returning an uninitialized variable. Patch by Victor Martinez Calvo. CID 1341417, CORE-11027 #comment Thanks!
svn path=/trunk/; revision=74420
2017-04-27 15:37:08 +00:00
Thomas Faber
b9b174c0fa [GDI32]
- Fix last error value returned from GdiSelectPen for invalid DCs. Fixes the last test failure in gdi32:gdiobj. Patch by Katayama Hirofumi MZ.
CORE-13132 #resolve

svn path=/trunk/; revision=74419
2017-04-27 08:59:29 +00:00
Thomas Faber
27142f2af0 [EVENTVWR]
- Avoid two cases of uninitialized variable use in GetEventUserName. Based on a patch by Víctor Martínez Calvo. CID 1401250
CORE-12798 #resolve

svn path=/trunk/; revision=74418
2017-04-27 00:23:04 +00:00
Thomas Faber
b206e0eb2a [EVENTVWR]
- Make user name caching actually work
CORE-12798

svn path=/trunk/; revision=74417
2017-04-27 00:17:08 +00:00
Hermès Bélusca-Maïto
01a6b1023f [CMD]: Improvements for the CHCP command.
- Display the informative CP-change message on stdout, using the *output* code page (and not the input CP);
- Correctly update the local codepage cache;
- Display the informative CP-change message when the CP change succeeded;
- Add source comments + informative TODO for what remains to be done.

svn path=/trunk/; revision=74416
2017-04-26 22:29:07 +00:00
Eric Kohl
f25d0ce422 [BOOTDATA]
Make the timezone names translatable.
CORE-11855

svn path=/trunk/; revision=74415
2017-04-26 21:21:02 +00:00
Hermès Bélusca-Maïto
053db1af86 [KERNEL32]: Add/update localized codepage display names.
- Slightly update the description of CP 28599;
- Add descriptions for CPs 28600, 28603, 28604 and 28606;
- Add CP 856 "OEM - Hebrew PC" (which differs from OEM Hebrew CP 862).
Note that while we also have codepages 424, 878 and 1006, I don't add their description because:
- CP 424 is actually CP 20424 "IBM EBCDIC - Hebrew" on Windows (documented in the resource files);
- CP 878 is actually CP 20866 "Russian - KOI8" on Windows (documented in the resource files);
- CP 1006 seems to be "IBM Arabic" according to Wine, but I don't know its corresponding number on Windows.

svn path=/trunk/; revision=74414
2017-04-26 20:31:54 +00:00
Hermès Bélusca-Maïto
4f80d030e6 [KERNEL32]: Little improvements/fixes for GetCPInfoExW and GetGeoInfoW:
- Rework GetLocalisedText helper such that it looks more like LoadStringW. Also, if the string is not found (either because there is no associated string table, or because its resource length is zero), then return zero.
  Otherwise we return the correct number of characters copied into the user buffer, not counting the NULL terminator.
  This fixes the blank strings showing in the list of codepage user-friendly names in the console properties dialog.
- Simplify the code of NLS_GetGeoFriendlyName: we can directly use the user-provided buffer to retrieve the string.
Addendum to r65157.
CORE-13130 #resolve

svn path=/trunk/; revision=74413
2017-04-26 17:38:57 +00:00
Hermès Bélusca-Maïto
46f402da90 [KERNEL32]: Add the Brunei in the list of localized countries.
Translators, please localize the name!

svn path=/trunk/; revision=74412
2017-04-26 17:10:51 +00:00
Giannis Adamopoulos
79aeba8939 [UXTHEME] -Fix some resource leaks.
svn path=/trunk/; revision=74411
2017-04-26 13:55:19 +00:00
Hermès Bélusca-Maïto
403ef47169 [COMMAND]: Disable COMMAND.COM debugging messages by default.
Disable again this #define if you want to get the dbg messages back.
CORE-10710

svn path=/trunk/; revision=74410
2017-04-26 13:41:43 +00:00
Thomas Faber
701f62c3ac [USBOHCI]
- Not building before committing is also a hack
CORE-9224

svn path=/trunk/; revision=74409
2017-04-26 10:54:34 +00:00
Thomas Faber
1bb6977402 [USBEHCI][USBOHCI]
- Touch the virtual address of DMA buffers before calling MmGetPhysicalAddress on them. This ensures page directories are correctly set up for the current process context, and fixes random DMA operation failures ("MM:MmGetPhysicalAddressFailed"). This is not a hack -- using MmGetPhysicalAddress for DMA in the first place is.
CORE-9224 #resolve

svn path=/trunk/; revision=74408
2017-04-26 10:53:32 +00:00
Giannis Adamopoulos
43e13595cf [UXTHEME] -Implement the tab background texture. NOTE: A hack was used to go around the problem that SetBrushOrgEx doesn't really work. CORE-12978
svn path=/trunk/; revision=74407
2017-04-26 09:28:35 +00:00
Giannis Adamopoulos
e9846d6f9c [COMCTL32]
- Button, Trakbar: Send WM_CTLCOLORBTN or WM_CTLCOLORSTATIC and use their return value to paint the control despite the fact that DrawThemeParentBackground was called as well.
Part of the fix for CORE-12978

svn path=/trunk/; revision=74406
2017-04-25 11:19:22 +00:00
Hermès Bélusca-Maïto
83e0dd0595 [CONSOLE.CPL]: Simplify some parts of font.c code.
- Use a helper function "AddFontToList" to add font names into the font list;
- Use string-safe functions where needed.

svn path=/trunk/; revision=74405
2017-04-24 17:01:07 +00:00
Thomas Faber
384affe098 [WIN32K:ENG]
- In PDEVOBJ_vRefreshModeList, restore the current mode pointer, ppdev->pdmwDev, to a valid value.
CORE-13097 #resolve

svn path=/trunk/; revision=74404
2017-04-24 16:28:04 +00:00
Thomas Faber
e395d953b3 [USER32]
Fix heap corruption in EnumDisplaySettingsExA/W:
- Do not overwrite the user-provided buffer size in dmDriverExtra
- Fix broken pointer arithmetic
CORE-13097

svn path=/trunk/; revision=74403
2017-04-24 15:04:00 +00:00
Hermès Bélusca-Maïto
b5171111fb [ACCESS]: Fix french el-typo, noticed by Kyle Katarn. Thanks!
CORE-12482

svn path=/trunk/; revision=74402
2017-04-24 11:17:10 +00:00
Thomas Faber
9b4e4d42ed [WININET]
- Silence Firefox/Safari debug spam
CORE-12853 CORE-12128 CORE-11135

svn path=/trunk/; revision=74401
2017-04-24 10:07:39 +00:00
Thomas Faber
6eec01d1f5 [NTOS:MM]
- In MiFlushTbAndCapture, only print a fixme if we actually need to do something.
CORE-12074 #resolve

svn path=/trunk/; revision=74400
2017-04-24 09:45:03 +00:00
Thomas Faber
8fde80eacd [CONSOLE]
- Fix build
CORE-12451

svn path=/trunk/; revision=74399
2017-04-24 07:19:41 +00:00
Hermès Bélusca-Maïto
b6f13160b2 [CONSOLE.CPL]: Addendum to r74397: Fix a cast.
svn path=/trunk/; revision=74398
2017-04-24 00:32:10 +00:00
Hermès Bélusca-Maïto
34a71f27fc [CONSOLE.CPL]: Add a list of available code pages in the console properties dialog.
Display a list of available code pages, as done on Windows (NT/2k/2k3/Vista/7/8, when a CJK language is selected, and as always done on Windows 10 for all languages).
But contrary to Windows, do not limit this list to only CJK + CP-437 codepages, but list *all* the available CPs, retrieved from the registry. These CPs are also those available when using the "chcp" or "mode con cp" commands.
And contrary to Windows (where this is done only for the general console properties), always allow the user to view or change the code page even from the console properties dialog.

[CONSRV]: Support changing the current code page from the console properties dialog.

CORE-12451

svn path=/trunk/; revision=74397
2017-04-24 00:24:34 +00:00
Eric Kohl
d1ad859a6e [SYSETUP]
Update the shown date and time on the Date and Time page until the user changes the date or time.
CORE-11896

svn path=/trunk/; revision=74396
2017-04-23 21:56:36 +00:00
Thomas Faber
20689dba23 [CRYPTNET]
- Fix ROS-Diff. Spotted by CRLF.
CORE-13117 #resolve

svn path=/trunk/; revision=74395
2017-04-23 17:59:25 +00:00
Eric Kohl
f83d61cce0 [SERVMAN]
- Make a copy of the service list where service and display name strings are separately allocated. We need this to update the service names rather than reload the list when the display name is changed.
- Write the display name, description or binary path to the registry when the user changed them.
- Disable the Edit button after it has been clicked.
- Do not add the service name to the argument vector in the call to StartServiceW. Services.exe already add the service name to the vector.
CORE-12743

svn path=/trunk/; revision=74394
2017-04-23 17:39:26 +00:00
Colin Finck
ceaed9f1ec [LOCALSPL]
Implement all corner cases of handling the Name parameter in EnumPrinters. This can be done in a common way for all levels.
Fixes more tests.

svn path=/trunk/; revision=74393
2017-04-23 15:00:26 +00:00
Giannis Adamopoulos
4414132a97 [NTOSKRNL] CcPurgeCacheSection: Check if SharedCacheMap is NULL. Change suggested by ThFabba. CORE-13115
svn path=/trunk/; revision=74392
2017-04-23 11:12:48 +00:00
Thomas Faber
1f03a83d50 [NTOS:MM]
- In NtMapViewOfSection, check for address alignment after validating the handles. This fixes the tests from the previous commit, but is also necessary because information about the section object is necessary to avoid the alignment checks for physical memory sections.
CORE-13113

svn path=/trunk/; revision=74391
2017-04-23 09:38:45 +00:00
Thomas Faber
6e74416198 [KMTESTS:MM]
- Show that NtMapViewOfSection validates section and process handles before checking base address alignment
CORE-13113

svn path=/trunk/; revision=74390
2017-04-23 08:10:46 +00:00
Thomas Faber
e570b43842 [NTOS:MM]
- Check for ROS section object before accessing the AllocationAttributes member in NtMapViewOfSection, since ARM3 sections use a different structure.
CORE-13113

svn path=/trunk/; revision=74389
2017-04-23 07:24:44 +00:00
Mark Jansen
20756892b7 [ACPPAGE] Implement custom compatibility mode selection + Expand paths CORE-10375
svn path=/trunk/; revision=74388
2017-04-22 17:11:52 +00:00
Mark Jansen
7edfd6a3a9 [ACPPAGE] Update translations based on slayer. CORE-10375
Translators, please check your language, some text was changed!

svn path=/trunk/; revision=74387
2017-04-22 15:20:25 +00:00
Thomas Faber
a8b7dd40e2 [KMTESTS:MM]
- Enable MEM_RESERVED test in SimpleErrorChecks() since it no longer asserts. Patch by Serge Gautherie.
ROSTESTS-109 #resolve

svn path=/trunk/; revision=74386
2017-04-21 08:08:57 +00:00
Hermès Bélusca-Maïto
e21e3e4e03 [INPUT.CPL]
- Remove an unneeded header inclusion;
- Fix a sizeof invocation;
- RegEnumKeyExW and RegEnumValueW take their fourth parameter (size of key / value name, resp.) as a size in number of *characters* (and not in number of bytes);
- Add a missing RegCloseKey call in LocaleList_Create.

svn path=/trunk/; revision=74385
2017-04-21 00:22:39 +00:00
Thomas Faber
1836858f0a [NTOS:KE]
- Reset DebugDpcTime before calling timer DPC routines. Avoids spurious "DPC routine > 1 sec" break-ins.

svn path=/trunk/; revision=74384
2017-04-20 17:36:40 +00:00
Thomas Faber
ec2dddf4cb [NTOS:MM]
- Avoid reference leaks in failure cases of MmCreateCacheSection
CORE-6931

svn path=/trunk/; revision=74383
2017-04-20 08:58:45 +00:00
Thomas Faber
599c80f8f2 [VGADDI]
- Fix buffer overflow in DIB_BltFromVGA. A byte fits two pixels.

svn path=/trunk/; revision=74382
2017-04-20 07:30:01 +00:00
Eric Kohl
e9940a928b [TRANSLATION]
Romanian resources maintenance
Patch by Ștefan Fulea.
CORE-13099

svn path=/trunk/; revision=74381
2017-04-19 22:10:00 +00:00
Mark Jansen
fd91fe3337 [SHELL32] Fix for BuildPathsList, this solves some problems showing while copying folders. Patch by 'Gleb'. CORE-8434
svn path=/trunk/; revision=74380
2017-04-19 18:45:33 +00:00
Giannis Adamopoulos
5db681f766 [SHELL32] -CDesktopBrowser: Clone the pidl passed to SHOpenNewFrame as it will later free it itself. This was masked by a hacky cast.
svn path=/trunk/; revision=74379
2017-04-19 16:24:59 +00:00
Thomas Faber
ef27450876 [NTOS:MM]
- Never use special pool for prototype PTEs. Avoids "(PointerPte >= (PMMPTE)MmPagedPoolStart) && (PointerPte <= (PMMPTE)MmPagedPoolEnd)" assertion failure in MiDecrementShareCount.
CORE-11474

svn path=/trunk/; revision=74378
2017-04-19 14:40:53 +00:00
Thomas Faber
a909a0807a [KERNEL32_WINETEST]
- Improve the test_GetVolumePathNamesForVolumeNameW hack to avoid a stack buffer underrun.
CORE-11474

svn path=/trunk/; revision=74377
2017-04-19 14:08:51 +00:00
Thomas Faber
85f31b899e [OPENGL32]
- Fix uninitialized variable use in IntGetIcdData
CORE-11474

svn path=/trunk/; revision=74376
2017-04-19 13:16:30 +00:00
Thomas Faber
424bbf064b [KMTESTS:OB]
- After ObCreateObject+ObInsertObject a handle close is enough to destroy the object, so do not dereference it in addition. Fixes use after free.
CORE-11474

svn path=/trunk/; revision=74375
2017-04-19 12:21:57 +00:00
Thomas Faber
eff26a3a92 [KMTESTS:NPFS]
- Remove tests that cause pool buffer overflows. NtQueryVolumeInformationFile does not validate buffer length for kernel mode callers, so passing an invalid length is not a good test.
CORE-11474

svn path=/trunk/; revision=74374
2017-04-19 11:46:34 +00:00
Thomas Faber
497a20b8a0 [WS2_32][DNSAPI]
- Avoid stack buffer overflow in ParseV4Address
CORE-11474

svn path=/trunk/; revision=74373
2017-04-19 11:14:18 +00:00
Thomas Faber
77ec221feb [GDI32]
- Use the number of WCHARs, not the number of ANSI chars in GetCharABCWidthsA. Fixes stack corruption when running gdi32_winetest:font
CORE-11474

svn path=/trunk/; revision=74372
2017-04-19 10:33:58 +00:00
Eric Kohl
ae3886b65f [VARIOUS]
Updating Turkish Translation
Patch by Erdem Ersoy.
CORE-12362

svn path=/trunk/; revision=74371
2017-04-18 17:47:08 +00:00
Thomas Faber
202ae322fb [USER32]
- In RealSystemParametersInfoA/SPI_GETDESKWALLPAPER, write the ansi wallpaper path directly into the user's buffer instead of using an allocation (and overrunning it). Fixes crash when running user32_winetest:sysparams with DPH.
Tangential to CORE-13097

svn path=/trunk/; revision=74370
2017-04-18 14:31:33 +00:00
Giannis Adamopoulos
fc00a030f4 [USER32] -CallWindowProc: Call PreWndProc and PostWndProc hooks for dialog messages if the message is not hooked for PreDefDlgProc and PostDefDlgProc.
svn path=/trunk/; revision=74369
2017-04-18 12:35:57 +00:00
Hermès Bélusca-Maïto
3d8292ede6 [CONCFG]: Addendum for r74366: Initialize the console settings information codepage with the current OEM codepage, and read the optional console "CodePage" DWORD registry setting.
CORE-12451

svn path=/trunk/; revision=74368
2017-04-17 23:31:48 +00:00
Hermès Bélusca-Maïto
aac777cc7f [CONCFG]: Use 'Success' boolean variable instead of an obscure 'RetVal'.
svn path=/trunk/; revision=74367
2017-04-17 23:28:41 +00:00
Hermès Bélusca-Maïto
417e293fac [CONSOLE.CPL]: Paint the text samples using the correct character set (derived from the current code page).
This e.g. fixes display for the backslash symbol in CJK languages (that should appear as the Chinese "yuan" / Japanese "yen" currency symbol ¥, or the Korean "won" currency symbol ₩).
CORE-12451

svn path=/trunk/; revision=74366
2017-04-17 23:26:07 +00:00
Hermès Bélusca-Maïto
35fae98753 [CONSOLE.CPL]: Add support for Asian fonts & CJK codepage in the console properties dialog.
Based on a patch by Katayama Hirofumi MZ.
CORE-12451

svn path=/trunk/; revision=74365
2017-04-17 23:21:13 +00:00
Eric Kohl
de6836080a [AT]
Applied hotfix for russian translation.
Patch by Sergey Stopkin.
CORE-12961

svn path=/trunk/; revision=74364
2017-04-17 22:28:42 +00:00
Eric Kohl
ad372d31e3 [NEWDEV]
When the driver installation fails, set the CONFIGFLAG_FAILEDINSTALL flag only if the user checked the 'Do not show this dialog anymore' checkbox.
CORE-13095

svn path=/trunk/; revision=74363
2017-04-17 22:20:44 +00:00
Eric Kohl
f7928467e7 [NETID]
Load, display and store the computer description.
Patch by Grzegorz Araminowicz.
- Moved most of the code into separate functions and got rid of its deeply nested structure.
- Added some notification code, so that the Apply button gets enabled when the user changes the description.
CORE-12337

svn path=/trunk/; revision=74362
2017-04-17 21:05:02 +00:00
Thomas Faber
97a27e2c87 [KMTESTS:MM]
- Add some missing newlines and skip()s

svn path=/trunk/; revision=74361
2017-04-17 20:37:26 +00:00
Thomas Faber
602f37c6ae [WIN32K]
Fix automatic resolution change when resizing the VirtualBox window. Based on a patch by Ismael Ferreras Morezuelas.
- Provide a function, PDEVOBJ_vRefreshModeList, to reload the list of display modes
- Call PDEVOBJ_vRefreshModeList from UserEnumDisplaySettings to get an updated list of modes each time
CORE-6742 #resolve

svn path=/trunk/; revision=74360
2017-04-17 20:25:55 +00:00
Thomas Faber
670ebb242c [WIN32K:ENG]
- Split populating the display mode list out from EngpRegisterGraphicsDevice, into its own function, EngpPopulateDeviceModeList. Based on a patch by Ismael Ferreras Morezuelas.
CORE-6742

svn path=/trunk/; revision=74359
2017-04-17 19:44:32 +00:00
Thomas Faber
4677d6bfe0 [NTOS:CC]
- Respect the TruncateSize parameter in CcUninitializeCacheMap. Avoids "freeing dirty VACB" messages for cache views beyond the end of the file.
CORE-12893 #resolve

svn path=/trunk/; revision=74358
2017-04-17 18:37:12 +00:00
Thomas Faber
25db42d246 [NTOS:CC]
- Simplify CcSetFileSizes by using CcPurgeCacheSection
CORE-12893

svn path=/trunk/; revision=74357
2017-04-17 18:13:17 +00:00
Hermès Bélusca-Maïto
ef88fe7a1a [CONSOLE.CPL]: Code formatting only (in preparation of a subsequent commit).
svn path=/trunk/; revision=74356
2017-04-17 17:45:18 +00:00
Thomas Faber
73e2aff9c5 [NTOS:CC]
- Implement CcPurgeCacheSection
CORE-12893

svn path=/trunk/; revision=74355
2017-04-17 17:29:10 +00:00
Thomas Faber
880f06c728 [FASTFAT]
- On rename/move, flush parent directory data from cache instead of purging it.
CORE-12893

svn path=/trunk/; revision=74354
2017-04-17 16:54:28 +00:00
Mark Jansen
4923220ed0 [WIN32SS] Add full name support in FontFamilyFillInfo. Patch by Katayama Hirofumi MZ. CORE-10876
svn path=/trunk/; revision=74353
2017-04-17 16:08:38 +00:00
Mark Jansen
7a5cfecf02 [WIN32SS] Add extra logging to failed SURFACE_AllocSurface calls. CORE-13036
svn path=/trunk/; revision=74352
2017-04-17 15:48:56 +00:00
Colin Finck
8c0a8b2873 [ISOHYBRID]
Don't include inttypes.h, which isn't available on MSVC < 2013. Add the 4 needed typedefs to reactos_support_code.h instead.
Fixes CORE-13031

svn path=/trunk/; revision=74351
2017-04-17 13:49:46 +00:00
Colin Finck
daf94f98b0 [WINSPOOL]
Added tests for some more basic and newly discovered corner cases of EnumPrintersW.

svn path=/trunk/; revision=74350
2017-04-17 13:40:51 +00:00
Eric Kohl
60f3172c4f [SERVMAN]
Track changes to the general and and recovery pages.
CORE-12743

svn path=/trunk/; revision=74349
2017-04-17 12:48:51 +00:00
Eric Kohl
dd0e23b691 Avoid attempts to reinstall a driver on reboot when a previous attempt has already failed.
[NEWDEV]
Set the CONFIGFLAG_FAILEDINSTALL flag in the new hardware wizards welcome page and remove it only when the driver was successfully installed.

[UMPNPMGR]
Do not invoke the device installer if the devices CONFIGFLAG_FAILEDINSTALL flag is set.

svn path=/trunk/; revision=74348
2017-04-17 11:34:08 +00:00
Mark Jansen
1313fd5c76 [BROWSEUI] Port some IAutoComplete changes from wine + fix a memory leak. This allows the dropdown to show with ACO_AUTOSUGGEST and an empty input.
svn path=/trunk/; revision=74347
2017-04-17 09:35:08 +00:00
Giannis Adamopoulos
43527efc13 [BROWSEUI] -Remove a couple of lines that shouldn't have been committed.
svn path=/trunk/; revision=74346
2017-04-17 09:15:45 +00:00
Giannis Adamopoulos
f24e5deac9 [BROWSEUI] -CBandSiteMenu: Add preliminary support for adding and removing bands in the taskbar. If a class was registered in the CATID_DeskBand category it will be shown in the menu and selecting it can add it or remove it from the taskbar. Showing the two built in ones (quick launch and desktop) is not implemented yet.
svn path=/trunk/; revision=74345
2017-04-17 09:02:49 +00:00
Eric Kohl
789449896d [WINMINE]
Fix vertical aligment of the digits in mines.bmp.
Patch by Andre Semaki.
CORE-12777

svn path=/trunk/; revision=74344
2017-04-16 22:42:38 +00:00
Eric Kohl
77d8a7f5ee [SHELL]
Update russian translation.
Patch by amber.
CORE-12525

svn path=/trunk/; revision=74343
2017-04-16 22:00:46 +00:00
Eric Kohl
bb2c79c089 [MEDIA/RAPPS]
Update russian translation.
Patch by amber.
CORE-12525

svn path=/trunk/; revision=74342
2017-04-16 21:57:41 +00:00
Eric Kohl
5830fef205 [OPENGLCFG]
Add russain translation.
Patch by amber.
CORE-12525

svn path=/trunk/; revision=74341
2017-04-16 21:53:37 +00:00
Eric Kohl
49455e979d [NET]
Update russian translation.
Patch by amber.
CORE-12525

svn path=/trunk/; revision=74340
2017-04-16 21:48:43 +00:00
Eric Kohl
21862af108 [LSASRV]
Update the russian translation.
Patch by amber.
CORE-12525

svn path=/trunk/; revision=74339
2017-04-16 21:45:43 +00:00
Eric Kohl
d8187f248b [AT]
Fix outdated russian translation.

svn path=/trunk/; revision=74338
2017-04-16 21:42:09 +00:00
Eric Kohl
e70a305963 [HIVECLS]
Update russian translation.
Patch by amber.
CORE-12525

svn path=/trunk/; revision=74337
2017-04-16 21:33:56 +00:00
Eric Kohl
c2e52c6046 [FONTVIEW]
Update the russain translation.
CORE-12525

svn path=/trunk/; revision=74336
2017-04-16 21:30:29 +00:00
Eric Kohl
28877f472f [SHELL32]
Translate folder options.
CORE-12525

svn path=/trunk/; revision=74335
2017-04-16 21:26:05 +00:00
Eric Kohl
b026b17386 [NEWDEV]
Fix control sizes in russian dialogs.
CORE-12525

svn path=/trunk/; revision=74334
2017-04-16 21:21:36 +00:00
Eric Kohl
cc01ed0b73 [AT]
Added RU translation to the AT command.

[BLACKSHADE]
Added RU translation to the blackshade theme.
CORE-12961

svn path=/trunk/; revision=74333
2017-04-16 20:57:30 +00:00
Eric Kohl
54083aff00 [DESK]
Added en-GB to desk.cpl.
CORE-13014

svn path=/trunk/; revision=74332
2017-04-16 20:39:37 +00:00
Eric Kohl
40b6e1c065 [USETUP]
base/setup/usetup/it-IT translation patch.
CORE-12999 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=74331
2017-04-16 20:22:03 +00:00
Giannis Adamopoulos
fa68145452 [SHLWAPI_UNDOC.H] -Fix definition of IUnknown_SetOwner.
svn path=/trunk/; revision=74330
2017-04-16 19:35:19 +00:00
Giannis Adamopoulos
f3a4314827 [EXPLORER] -If rshell is present and CBandSiteMenu_CreateInstance or CBandSite_CreateInstance are exported, use them instead of using the one provided by the system. Now we can start developing CBandSite and CBandSiteMenu on windows to implement support for taskbar toolbars.
svn path=/trunk/; revision=74329
2017-04-16 19:29:27 +00:00
Colin Finck
12e208e27a Fix GCC build, part 4/X (losing my optimism)
svn path=/trunk/; revision=74328
2017-04-16 15:51:44 +00:00
Colin Finck
82c97261bf Fix GCC build (3/3) :)
svn path=/trunk/; revision=74327
2017-04-16 15:44:22 +00:00
Colin Finck
1cfc77902c Fix GCC build (2/2)
svn path=/trunk/; revision=74326
2017-04-16 15:37:31 +00:00
Colin Finck
b0864955dd Fix GCC build
svn path=/trunk/; revision=74325
2017-04-16 14:30:07 +00:00
Colin Finck
cb609f0b17 [LOCALSPL]
- Refactor LocalEnumPrinters to make it ready for supporting additional levels.
- Correctly handle all passed flags for Level 1 queries to the Local Print Provider.
- Introduce strsafe functions to LocalEnumPrinters in a way that actually makes the code smaller. To be done in other parts too.
- Use PackStrings in LocalEnumPrinters to simplify the code.
- Return the correct 3 strings in the Description field of Level 1 queries. That also introduces the "Location" field.
- Remove debug spam in _OpenEnvironment.

[SPOOLSV]
- Make use of the newly implemented AlignRpcPtr/UndoAlignRpcPtr. Fixes a test.

[WINSPOOL]
- Dismiss invalid levels already in EnumPrintersW and zero the input buffer here (but not in localspl). Verified by a test.

EnumPrintersW for Level 1 should be fully supported now.

svn path=/trunk/; revision=74324
2017-04-16 14:12:01 +00:00
Colin Finck
c860e2b80d [SPOOLSS]
Add ASSERTs, improve documentation and the variety of tests for AlignRpcPtr/UndoAlignRpcPtr.
Based on comments by Serge Gautherie.

svn path=/trunk/; revision=74323
2017-04-16 10:36:16 +00:00
Thomas Faber
c447bed85d [NTOS:CC]
- Rename ROS_SHARED_CACHE_MAP::RefCount to OpenCount. One step closer to the real SHARED_CACHE_MAP.
CORE-8065

svn path=/trunk/; revision=74322
2017-04-16 08:50:20 +00:00
Mark Jansen
c873907550 Fix copypasta error, spotted by Thomas.
svn path=/trunk/; revision=74320
2017-04-15 22:18:29 +00:00
Thomas Faber
3f79f9922f [UNIATA]
- Update to version 0.46e3 (and fix up the version numbers)
- Un-"fix" insignificant typo corrections that only serve to make syncing harder
CORE-13032 #resolve
CORE-11894 CORE-11277 CORE-12909

svn path=/trunk/; revision=74319
2017-04-15 20:24:43 +00:00
Thomas Faber
21cb633c9e [RTL]
- In Wait_thread_proc, prioritize the cancel event over the wait object. This avoids executing the callback again after RtlDeregisterWait has been called.
Fixes ThemeStartCallback being called twice, causing a double free.
CORE-13074 #resolve

svn path=/trunk/; revision=74318
2017-04-15 17:39:49 +00:00
Eric Kohl
6de65ddcea [SCHEDSVC]
Insert a job into the start list when it is loaded or added. Remove it from the start list when it gets deleted. The start list is sorted by start time.

svn path=/trunk/; revision=74317
2017-04-15 10:33:29 +00:00
Mark Jansen
5657d83d0e [WIN32SS] Addendum to r74312 and r74309, fix some bad memory leaks. CORE-10876
Thanks Giannis and Thomas :)

svn path=/trunk/; revision=74316
2017-04-14 21:22:18 +00:00
Eric Kohl
645f25c4dd [SCHEDSVC]
Calculate the next start time of a job and store it in the job object. DaysOfMonth and DaysOfWeek are not taken into account yet.

svn path=/trunk/; revision=74315
2017-04-14 21:16:37 +00:00
Giannis Adamopoulos
2769768c33 [SHELLUTILS.H]
- Remove the ShellObjectCreator templates that allowed the caller to pass an arbitrary interface pointer. Leaving only the templates that take an void ** ppv parameter means that the callers are forced to use IID_PPV_ARG. This makes it less likely to have a pointer to an wrong interface. 
- Fix the callers to always use IID_PPV_ARG.
- Rewrite the ShellObjectCreator templates to create the objects using the ATL CreateInstance thus allowing internal ATL methods to be called.

[BROWSEUI]
-Let CBandSite_CreateInstance take an additional parameter for the outer object since CBandSite is aggregatable. Create the object using the ATL creator class.

svn path=/trunk/; revision=74314
2017-04-14 20:03:46 +00:00
Mark Jansen
569891558f [WIN32SS] Fix charset in font enumeration. Patch by Katayama Hirofumi MZ. CORE-10876
svn path=/trunk/; revision=74313
2017-04-14 18:32:07 +00:00
Mark Jansen
8b3bb3c44c [WIN32SS] Initial fixes for localized font enumeration. Patch by Katayama Hirofumi MZ. CORE-10876
svn path=/trunk/; revision=74312
2017-04-14 18:30:57 +00:00
Robert Naumann
05ad12aa18 [EXPLORER] Addendum to r74307: Fix copypasta CORE-11498
svn path=/trunk/; revision=74311
2017-04-14 18:25:05 +00:00
Mark Jansen
8e001f542a [WIN32SS] Count number of faces added instead of fonts in IntGdiLoadFontsFromMemory.
This fixes displaying embedded fonts in firefox.
CORE-13046 CORE-13056

svn path=/trunk/; revision=74310
2017-04-14 18:24:44 +00:00
Mark Jansen
246f24bd7f [WIN32SS] Cleanup fonts at process destruction + implement font memory reference counting.
Thanks to everyone involved in reviewing this code! (See CR-112)
CORE-13056

svn path=/trunk/; revision=74309
2017-04-14 18:22:57 +00:00
Mark Jansen
9bb6d0de5b [WIN32SS] Add missing \n to DPRINT1 Spotted by Thomas Schneider.
svn path=/trunk/; revision=74308
2017-04-14 18:20:13 +00:00
Robert Naumann
8bf97b3a3d [EXPLORER] start reworking some code for loading/saving settings implementation CORE-11498
- Rename the settings structure to something more meaningful for using it for all taskbar related settings
- define some default settings 
- check checkboxes with settings values in the properties window
- move saving the settings to an own function which will be implemented later

svn path=/trunk/; revision=74307
2017-04-14 18:08:34 +00:00
Eric Kohl
71817abc60 [AT]
Improve the time parser to handle 12-hour and 24-hour formats correctly.

svn path=/trunk/; revision=74306
2017-04-14 15:54:08 +00:00
Thomas Faber
389bdb30ca [NTOS:KE]
- Gracefully handle page faults during V86 code execution. This is a bit of a hack because with our limited use of V86 code it is unclear how a page fault can even occur.
CORE-12993 #resolve

svn path=/trunk/; revision=74305
2017-04-14 11:18:22 +00:00
Thomas Faber
8c82e4261d [NTOS:KE]
- Make decoding of the error code more obvious in KiTrap0EHandler
- Avoid or make explicit some signed/unsigned conversions

svn path=/trunk/; revision=74304
2017-04-14 10:39:07 +00:00
Thomas Faber
21b119daec [USBSTOR]
- Avoid MDL leak in USBSTOR_SendIrp. Patch by Lesan Ilie.
CORE-13061 #resolve

svn path=/trunk/; revision=74303
2017-04-14 10:24:41 +00:00
Thomas Faber
cb78e64537 [HIDCLASS]
Patch by Lesan Ilie:
- Avoid over-allocating the DEVICE_RELATIONS structure in HidClassPDO_CreatePDO
- Allocate device relations from paged pool
CORE-13052 #resolve

svn path=/trunk/; revision=74302
2017-04-14 09:55:17 +00:00
Thomas Faber
c022c746c8 [CABMAN]
- Fix leaks in ExtractFile and avoid double frees from failure cases of AddFile. Patch by Serge Gautherie.
CORE-7307 #resolve

svn path=/trunk/; revision=74301
2017-04-14 09:50:37 +00:00
Thomas Faber
0431372bc4 [ACPI]
- Ensure null termination of the method name passed to AcpiEvaluateObject in Bus_PDO_EvalMethod. Spotted by ReactCoder.
CORE-13068 #resolve

svn path=/trunk/; revision=74300
2017-04-14 09:32:47 +00:00
Robert Naumann
8acb3b7995 [CRT] remove a self assignment. CORE-8215 #resolve
svn path=/trunk/; revision=74299
2017-04-13 19:09:31 +00:00
Robert Naumann
84ae261e52 [UXTHEME] DrawNCPreview(): Fix copypasta
svn path=/trunk/; revision=74298
2017-04-13 17:41:27 +00:00
Colin Finck
a737c007e8 [SPOOLSS]
Implement the undocumented AlignRpcPtr and UndoAlignRpcPtr functions used by many Rpc* functions in spoolsv according to traced callchains.
I could reverse engineer them entirely using rohitab.com's API Monitor and black-box testing.
I also add documented tests covering all cases I found out. We now pass 17/17 tests on Windows Server 2003 and ReactOS.

Also const-ify a parameter in PackStrings.

svn path=/trunk/; revision=74297
2017-04-13 16:48:40 +00:00
Eric Kohl
6790e320bd [NTOS:OB]
- Move device map code into a separate file.
- Create and inherit device maps instead of using a single global device map.

svn path=/trunk/; revision=74296
2017-04-11 19:58:05 +00:00
Eric Kohl
6ca2243552 [SETUPAPI]
Implement CMP_GetServerSideDeviceInstallFlags().

svn path=/trunk/; revision=74295
2017-04-10 19:17:17 +00:00
Eric Kohl
46a9b5557e [UMPNPMGR]
Implement most of PNP_GetServerSideDeviceInstallFlags().

svn path=/trunk/; revision=74294
2017-04-10 19:12:17 +00:00
Giannis Adamopoulos
59cc29bd8e [RSHELL] -Link to shellbars and export CBandSite_CreateInstance and CBandSiteMenu_CreateInstance.
[SHELLMENU] -Remove second copy of CBandSite. It was originally added here to be tested in windows but now it is hosted in a proper static link.

svn path=/trunk/; revision=74293
2017-04-09 15:10:08 +00:00
Giannis Adamopoulos
026c7235f9 [BROWSEUI] -Move the following classes to a new static lib called shellbars: CBandSite, CBandSiteMenu, CBaseBar, CSHEnumClassesOfCategories.
- This will be linked to rshell in order to implement support for additional toolbars in the taskbar as well as floating toolbars.
- In the future more classes will be added in this static lib including: CISFBand (which implements a dockable toolbar that shows the contents of a shell folder), CQuickLinks (a special CISFBand), CDeskBarApp (a special CBaseBar that implements the floating host for toolbars) and perhaps more.

svn path=/trunk/; revision=74292
2017-04-09 13:51:39 +00:00
Sylvain Petreolle
35eb4001b2 [NTOS:MM]
Addendum to r74263:
- Really only warn once in MmLockPageableDataSection/MmUnlockPageableImageSection, not on every 256th call

svn path=/trunk/; revision=74291
2017-04-09 12:26:16 +00:00
Eric Kohl
d1fa8b8908 [SCHEDSVC]
Add missing file. Sorry!

svn path=/trunk/; revision=74290
2017-04-09 10:03:20 +00:00
Eric Kohl
7d242dfe4c [UMPNPMGR]
Use SendMessageW() to broadcast WM_DEVICECHANGE messages because BroadcastSystemMessageW() does not seem to work.

svn path=/trunk/; revision=74289
2017-04-09 08:51:03 +00:00
Eric Kohl
a1b2032688 [SCHEDSVC]
Implement storing and loading of jobs in the registry.

svn path=/trunk/; revision=74288
2017-04-09 08:47:10 +00:00
Mark Jansen
4e56b66072 [GDI32_APITEST] Add test for AddFontMemResourceEx. Uses PanosePitchTest.ttf from Katayama Hirofumi MZ. CORE-13046 CORE-13038 CORE-13053
svn path=/trunk/; revision=74287
2017-04-08 22:25:54 +00:00
Mark Jansen
ebbf3e1aa6 [WIN32SS] Addendum to r74285, actually leak the pointer used by Freetype, so that when it is accessed later, we have not freed it.
svn path=/trunk/; revision=74286
2017-04-08 19:06:46 +00:00
Mark Jansen
ba121aaf83 [WIN32SS] Implement NtGdiAddFontMemResourceEx and NtGdiRemoveFontMemResourceEx. CORE-13046
svn path=/trunk/; revision=74285
2017-04-08 17:32:45 +00:00
Thomas Faber
bc6b7e2b35 [LIBUSB]
- Silence some debug prints

svn path=/trunk/; revision=74284
2017-04-08 15:55:00 +00:00
Thomas Faber
97053d19c0 [NTOS:IO]
- Make debug prints about IopOpenRegistryKeyEx failure consistent

svn path=/trunk/; revision=74283
2017-04-08 09:26:42 +00:00
Mark Jansen
bbc430fc8c [WIN32SS] Use Panose info from freetype. Patch by Katayama Hirofumi MZ. CORE-13038
svn path=/trunk/; revision=74282
2017-04-07 22:30:20 +00:00
Mark Jansen
00e7f308a4 [USETUP] Improve CJK Font Substitutes settings. Patch by Katayama Hirofumi MZ. CORE-12956
svn path=/trunk/; revision=74281
2017-04-07 21:54:43 +00:00
Giannis Adamopoulos
0588697d7a [GDI32] -Implement GdiDrawStream.
- This is based on the prototype I found in a sample app on codeproject. I don't really know what the unknown parameters are for but I haven't found anything yet passing different values. Almost all of the code is from the drawing code from uxtheme with the only difference that in uxtheme UXTHEME_DrawImageBackground reads several values from the theme but his takes them as parameters. I don't see any reason to spend time understanding what these are for. I found what the draw flags are for by passing different values in the test application and trying to replicate the parameters that UXTHEME_DrawImageBackground need. I decided to keep the naming like that since it is almost verbatim wine code. At some point it should be moved to win32k however.
CORE-4420

svn path=/trunk/; revision=74280
2017-04-07 14:09:24 +00:00
Giannis Adamopoulos
afd47c09cf [SHSVCS] -Add the module that should host the theme service. Implement ThemeWaitForServiceReady and ThemeWatchForStart. These are already called by our msgina and are responsible for starting themes in the session.
svn path=/trunk/; revision=74279
2017-04-07 13:01:42 +00:00
Giannis Adamopoulos
3fb8c7bc13 [WIN32K] -Implement NtUserCalcMenuBar.
svn path=/trunk/; revision=74278
2017-04-05 21:07:44 +00:00
Thomas Faber
925499d1b6 [NTOS:IO]
- Remove broken casts

svn path=/trunk/; revision=74277
2017-04-05 14:00:03 +00:00
Giannis Adamopoulos
3419e8ae60 [WIN32K] -MENU_TrackMouseMenuBar: Use IntGetSystemMenu instead of get_win_sys_menu because the system menu have not been initialized yet (it is delay initialized). CORE-12801
svn path=/trunk/; revision=74276
2017-04-05 09:09:50 +00:00
Giannis Adamopoulos
e826abc369 [WIN32K] -NtGdiGetRegionData: prgn->rdh.nRgnSize is the size of kernel mode buffer for the region. After copying it to the caller we should set lpRgnData->rdh.nRgnSize to cjRects.
svn path=/trunk/; revision=74275
2017-04-04 10:07:07 +00:00
Robert Naumann
17ecb5786e [EXPLORER] Add modern start menu bitmap by Jared Smudde
svn path=/trunk/; revision=74274
2017-04-03 18:39:52 +00:00
Thomas Faber
ee47b6c3f0 [NTOS]
- Silence some more debug prints

svn path=/trunk/; revision=74273
2017-04-02 21:33:25 +00:00
Eric Kohl
048ad653f4 [SCHEDSVC]
Implement NetsJobEnum.

svn path=/trunk/; revision=74272
2017-04-02 20:47:48 +00:00
Eric Kohl
6900e149e5 [IDL]
atsvc.idl: Add missing 'string' attribute which fixes NetrJobEnum.

svn path=/trunk/; revision=74271
2017-04-02 20:32:07 +00:00
Daniel Reimer
4545bf4999 [RAPPS]
As long as we use the current "db" format, keep these ones alive.

svn path=/trunk/; revision=74270
2017-04-02 17:52:14 +00:00
Mark Jansen
702511c91e [RAPPS][RAPPS_NEW] Finally replace rapps with rapps_new.
CORE-13017 #resolve

svn path=/trunk/; revision=74269
2017-04-02 14:46:54 +00:00
Giannis Adamopoulos
fbfd0e502f [SHELL32] -CShellDispatch: Properly register Shell.Application. Implement CShellDispatch::ShutdownWindows. CORE-13010
svn path=/trunk/; revision=74268
2017-04-02 14:45:10 +00:00
Thomas Faber
29d8855a84 [NTOS:PNP]
- Silence debug prints about unhandled IRP_MN_QUERY_PNP_DEVICE_STATE

svn path=/trunk/; revision=74267
2017-04-02 14:41:17 +00:00
Thomas Faber
f80095f154 [I8042PRT][PCIIDEX]
- Silence debug prints about IRP_MN_QUERY_CAPABILITIES

svn path=/trunk/; revision=74266
2017-04-02 14:35:33 +00:00
Thomas Faber
ff51b80ac6 [HAL][NTOS:PNP]
- Silence some debug prints about unhandled PNP minor functions

svn path=/trunk/; revision=74265
2017-04-02 14:24:11 +00:00
David Quintana
a2c9b85f80 [blackshade.msstyle]
Replaced the mockup image with a more up-to-date version, and added the "source" .PSD file it was created from. Someday I'll get around to to turning this into the actual theme. Someday.

svn path=/trunk/; revision=74264
2017-04-02 11:32:31 +00:00
Thomas Faber
db2abeca16 [NTOS:MM]
- Really only warn once in MmSecureVirtualMemory/MmUnsecureVirtualMemory, not on every 256th call

svn path=/trunk/; revision=74263
2017-04-02 08:37:39 +00:00
Eric Kohl
0309c0644e [SCEDSVC]
- Implement a simple job list.
- Implement NetrJobAdd, NetrJobDel and NetrJobGetInfo.

svn path=/trunk/; revision=74262
2017-04-01 22:54:30 +00:00
Giannis Adamopoulos
77e85485aa [UXTHEME] -Implement painting the corner of the scrollbars.
svn path=/trunk/; revision=74261
2017-04-01 12:17:15 +00:00
Giannis Adamopoulos
837f2ae4cb [WIN32K] -Correct one parameter in NtUserPaintMenuBar and make it return the height of the menu bar.
[UXTHEME] -Pass the correct parameter to PaintMenuBar. Draw the edge of WS_EX_CLIENTEDGE even if the window has a themed frame.

svn path=/trunk/; revision=74260
2017-04-01 10:18:40 +00:00
Eric Kohl
15a480bb44 [UMPNPMGR]
Broadcast a WM_DEVICECHANGE message on device arrrival and removal.
CORE-12977

svn path=/trunk/; revision=74259
2017-04-01 08:07:39 +00:00
James Tabor
667ce623d5 [Win32SS]
- Patch by Alex Henrie : Translate WM_(NC)XBUTTONUP to WM_APPCOMMAND in DefWindowProc.
- Modified for ReactOS.

svn path=/trunk/; revision=74258
2017-04-01 02:01:59 +00:00
James Tabor
755636e921 [NtUser]
- Again, add more information from CORE-9667 thememenu.patch so it does not get lost.

svn path=/trunk/; revision=74257
2017-03-31 23:48:48 +00:00
Giannis Adamopoulos
bf3b8cd273 [WIN32K] -Store the flat menus setting and the drop shadow setting in the UserPreferencesMask registry value.
svn path=/trunk/; revision=74256
2017-03-31 22:27:13 +00:00
James Tabor
0258ba9082 [NtUser]
- Add additional information from CORE-9667 thememenu.patch so it does not get lost.

svn path=/trunk/; revision=74255
2017-03-31 21:57:20 +00:00
Giannis Adamopoulos
1b2b13846d [UXTHEME] -Get rid of the hack that partly draws the menu bar in uxtheme. This was added to hack around the fact that we didn't set the flat menus setting. Use PaintMenuBar instead.
svn path=/trunk/; revision=74254
2017-03-31 19:24:00 +00:00
Giannis Adamopoulos
c788005b8c [WIN32K] -Get the new value of SPI_SETFLATMENU from pvParam.
svn path=/trunk/; revision=74253
2017-03-31 19:04:31 +00:00
Giannis Adamopoulos
5e8714cdca [DESK.CPL] -Load the TMT_FLATMENUS property from the theme and use SPI_SETFLATMENU to set it.
svn path=/trunk/; revision=74252
2017-03-31 18:18:19 +00:00
Giannis Adamopoulos
4daf6ffcbc [WIN32K] -Stub NtUserPaintMenuBar. I'm still not sure about the last parameter and its return value.
svn path=/trunk/; revision=74251
2017-03-31 18:05:27 +00:00
Giannis Adamopoulos
2a507824c6 [WIN32K] -Update the prototype of NtUserPaintMenuBar here as well.
svn path=/trunk/; revision=74250
2017-03-31 17:17:35 +00:00
Giannis Adamopoulos
cf6d69d369 [SDK] -Add the prototype of PaintMenuBar and update the prototype of NtUserPaintMenuBar.
svn path=/trunk/; revision=74249
2017-03-31 16:55:20 +00:00
Giannis Adamopoulos
b1b089e5fe Fix gcc build.
svn path=/trunk/; revision=74248
2017-03-31 11:33:53 +00:00
Giannis Adamopoulos
55bba159b9 [UXTHEME] -Implement painting windows with WS_MINIMIZE. Such windows are minimized mdi windows.
svn path=/trunk/; revision=74247
2017-03-31 11:26:20 +00:00
Thomas Faber
9cac6ddd71 [USBEHCI][USBOHCI][USBUHCI]
- Avoid leaking CUSBRequest::m_CompletionEvent. Based on a patch by ReactCoder.
CORE-12984 #resolve

svn path=/trunk/; revision=74246
2017-03-31 09:16:45 +00:00
Thomas Faber
34de8c3bdb [USBSTOR]
- Addendum to r73892: Don't free the output buffer on success in USBSTOR_SendIrp. Spotted (again) by curiousone
CORE-12970 #resolve

svn path=/trunk/; revision=74245
2017-03-31 09:02:43 +00:00
Giannis Adamopoulos
463dc9b8bd [UXTHEME} -Fix usage of uninitialized variable. CORE-11204
svn path=/trunk/; revision=74244
2017-03-29 20:50:56 +00:00
Robert Naumann
b295df005d [EXPLORER] -implement showing the start menu preview
svn path=/trunk/; revision=74243
2017-03-29 18:37:06 +00:00
Hermès Bélusca-Maïto
73dff0f128 [NDK][XDK]: Add some forgotten RTL bitmap functions.
svn path=/trunk/; revision=74242
2017-03-29 16:36:13 +00:00
Giannis Adamopoulos
7fc8752aed [UXTHEME] -Draw the background glyph inside the content margins. CORE-6000
svn path=/trunk/; revision=74241
2017-03-29 10:01:00 +00:00
Giannis Adamopoulos
f1421e61ad [UXTHEME] -Slightly improve the width of the caption buttons by scaling it based on the height of the caption buttons. CORE-6000
svn path=/trunk/; revision=74240
2017-03-28 21:31:16 +00:00
Eric Kohl
f754176cb8 [TRANSLATIONS]
Minor corrections in Uzbek.
Patch by Kudratov Olimjon.
CORE-12907 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=74239
2017-03-28 18:28:05 +00:00
Giannis Adamopoulos
878152ec5b [EXPLORER] -Remove a debug print that wasn't supposed to be committed.
svn path=/trunk/; revision=74238
2017-03-28 10:22:54 +00:00
Giannis Adamopoulos
9ca6144945 [EXPLORER] -Try to fix a crash in explorer. CORE-12991
svn path=/trunk/; revision=74237
2017-03-28 09:28:06 +00:00
Thomas Faber
0c6d37d9fa [NTOS:KE]
- Addendum to r74235.
CORE-12985

svn path=/trunk/; revision=74236
2017-03-27 20:23:37 +00:00
Thomas Faber
10236225d3 [NTOS:KE]
- Make sure to disable interrupts each iteration of the idle loop, since IdleFunction can leave them enabled.
CORE-12985 #resolve

svn path=/trunk/; revision=74235
2017-03-27 20:16:59 +00:00
Giannis Adamopoulos
73696326a3 [UXTHEME] -Fix drawing the themed scrollbar. CORE-12933
svn path=/trunk/; revision=74234
2017-03-27 19:56:36 +00:00
Hermès Bélusca-Maïto
81d33af127 [SETUPAPI]: Partly sync parser.c with Wine Staging 2.2. CORE-9397 CORE-12823
Fixes all but 2 tests in setupapi_winetest:parser.

e8aa851 setupapi: Fix parsing of inf files containing garbage at the beginning of the file.

svn path=/trunk/; revision=74233
2017-03-27 16:29:50 +00:00
Eric Kohl
e52d910948 [LSASRV]
Implement LsarpLookupPrivilegeDisplayName. Reading the resource strings is still buggy.
CORE-12976 #comment Please retest!

svn path=/trunk/; revision=74232
2017-03-26 20:45:48 +00:00
Giannis Adamopoulos
3092ec5137 [EXPLORER]: Fix most problems with the size of the taskbar. (Most problems when run in windows. Running on ros still isn't perfect.)
- CTaskSwitchWnd: Use the height of the start button as minimum height in horizontal mode.
- CTrayClockWnd: Actually process WM_THEMECHANGED message.
- CTaskSwitchWnd: Use SM_CYSIZE as the height of the buttons of the toolbar.
- CStartButton: Simplify calculating the minimum size of the button.
- CTrayWindow: Don't use IsThemeActive. Checking if OpenThemeData returned non null is enough.

svn path=/trunk/; revision=74231
2017-03-26 16:46:55 +00:00
Eric Kohl
fec280223d [LSASRV]
Add privilege display name resource strings.
CORE-12976

svn path=/trunk/; revision=74230
2017-03-26 14:02:39 +00:00
Eric Kohl
8ec42ffc99 [STOBJECT]
Fix a typo (wrong resource id).

svn path=/trunk/; revision=74229
2017-03-25 14:33:18 +00:00
Eric Kohl
587b5a7dcc [STOBJECT]
Implement the power schemes popup menu.

svn path=/trunk/; revision=74228
2017-03-25 13:35:41 +00:00
Eric Kohl
2a258f8902 [MMSYS]
Show and hide the volume systray icon.

svn path=/trunk/; revision=74227
2017-03-23 20:07:29 +00:00
Eric Kohl
3bce3e3e48 [POWERCFG]
Show and hide the power systray icon.

svn path=/trunk/; revision=74226
2017-03-23 20:00:54 +00:00
Eric Kohl
a9265410de [STOBJECT]
Implement code to show and hide the power and volume icons in the notification area aka systray.
Control panel applications send WM_USR+220 messages to the systray window in order to show or hide an icon in the systray. The wParam parameter identifies the icon: 1=power, 4=volume. The lParam parameter indicates the new icon status: 0:show, 1:hide.
Control panel applications also send WM_USER+221 messages to the systray window in order to retrieve the current status of a systray icon. The wParam parameter identifies the icon, just like in the WM_SUER+220 messages. The lParam parameter is ignored. The return value indicates the status of the icon: 1:visible, 0:hidden.

svn path=/trunk/; revision=74225
2017-03-23 19:51:53 +00:00
Giannis Adamopoulos
b8b7eedce2 [EXPLORER]: Simplify the creation of the tray band site and the tasks band.
- CTrayBandSite: Rename its constructor to CTrayBandSite_CreateInstance. Let the CTrayWindow create the CTasksBand and pass it to the constructor. Use a standard com interface to see if the tasks band was added while loading and don't use an explorer specific interface for it. Make CTrayBandSite::_Init a bit clearer.
- CTrayWindow: Implement the IOleWindow interface and create the CTaskBand before creating the CTrayBandSite. Then use standard com interfaces to get their respective HRND.
- CTaskBand: Rename its constructor to CTaskBand_CreateInstance. Remove a hack that was using its IOleWindow to act like the IOleWindow of the CTrayWindow during the creation of the CTrayBandSite. This is possible since the IOleWindow of the CTrayWindow is passed to the SetDeskBarSite method of CTrayBandSite.

svn path=/trunk/; revision=74224
2017-03-23 15:39:34 +00:00
Thomas Faber
0cd03197e2 [AT]
- Fix MSVC build

svn path=/trunk/; revision=74223
2017-03-22 23:35:50 +00:00
Eric Kohl
7b87ca6c5e [AT]
- Confirm deleting all jobs.
- Fix typos in resources and add missing usage text.

svn path=/trunk/; revision=74222
2017-03-22 21:59:06 +00:00
Giannis Adamopoulos
fafcbebc79 [EXPLORER]
- Simplify the mess with the font handling in explorer. Make it respond to changes in the system metrics and use the correct fonts.
- Make CheckTrayWndPosition resize the taskbar based on the optimal size that the rebar returns.
- Without losing my sanity (yet), I managed to make it have exactly the same size as windows explorer when I run it in windows with the classic theme.
- Themes still aren't sized perfectly. Running on ros shows lots of bugs in our common controls.

svn path=/trunk/; revision=74221
2017-03-22 01:09:45 +00:00
Eric Kohl
8f792acdab [AT]
- Retrieve the users short day names instead of hardcoded day names.
- Fix resources.

svn path=/trunk/; revision=74220
2017-03-21 20:32:54 +00:00
Daniel Reimer
1b82948d08 [FONTSUB]
Added German Translation
DIALOG -> DIALOGEX
Windows -> system (not yet done in japanese translation...)

svn path=/trunk/; revision=74219
2017-03-21 16:00:05 +00:00
Eric Kohl
4603f5333e [AT]
- Implement the DaysOfWeek parser and display code.
- ParseDaysOfMonth: Handle a failure case.
- Fix display bugs.

svn path=/trunk/; revision=74218
2017-03-20 22:55:08 +00:00
Sebastian Gasiorek
340d80290d [NTGDI] Add missing LPtoDP in GreExtTextOutW (TA_UPDATECP). Fixes CORE-12218 without breaking CORE-11415
svn path=/trunk/; revision=74217
2017-03-20 22:40:52 +00:00
Kamil Hornicek
e06db72a02 [TRANSLATIONS]
- Shorten some strings to make MSVC happy.

svn path=/trunk/; revision=74216
2017-03-20 22:23:33 +00:00
Daniel Reimer
e0d0a0da5e Maybe fix MSVC build
svn path=/trunk/; revision=74215
2017-03-20 20:36:49 +00:00
Daniel Reimer
ed8ab11d0f [Root CA]
Updated Root certificates
+ "LuxTrust Global Root 2" (1479 bytes)
+ "Amazon Root CA 4" (502 bytes)
+ "Amazon Root CA 3" (442 bytes)
+ "Amazon Root CA 2" (1349 bytes)
+ "Amazon Root CA 1" (837 bytes)
+ "AC RAIZ FNMT-RCM" (1415 bytes)
- "Root CA Generalitat Valenciana" (1679 bytes)
- "Buypass Class 2 CA 1" (855 bytes)
- "RSA Security 2048 v3" (869 bytes)

svn path=/trunk/; revision=74214
2017-03-20 20:12:57 +00:00
Daniel Reimer
cf1f4ee72a [OPENGLCFG]
Add German translation

svn path=/trunk/; revision=74213
2017-03-20 20:05:11 +00:00
Kamil Hornicek
3230cffd7b Somehow this wasn't committed. Sorry.
svn path=/trunk/; revision=74212
2017-03-20 12:16:45 +00:00
Kamil Hornicek
f3b4ed1f59 [RAPPS]
- Move Mesa 3D to "Libraries"
- Clarify what this library is for and how to use it.
- Add Czech translation.

[OPENGLCFG]
- Add Czech translation.

svn path=/trunk/; revision=74211
2017-03-20 12:02:10 +00:00
Kamil Hornicek
0457d0515e [NTOS:KD64]
- Fix a copy-pasta.
- Spotted by Sumanai. Thanks!
CORE-12952

svn path=/trunk/; revision=74210
2017-03-20 10:21:11 +00:00
Kamil Hornicek
249a485fb2 [RAPPS]
- Add a custom build of the Mesa 3D Graphics Library. This build contains mesa, gallium and llvmpipe. It provides an enormous performance boost over the software implementation present in opengl32.
- This is meant for platforms with missing, outdated or broken HW OpenGl acceleration.
- Thanks Daniel for helping with the Rapps stuff!

svn path=/trunk/; revision=74209
2017-03-19 22:27:59 +00:00
Kamil Hornicek
3ac876a570 [OPENGLCFG]
- Add a simple applet to set a custom OGL ICD or force the use of the built in software implementation.
- It can be used to set the DEBUGCHANNEL to +opengl,+wgl to make obtaining debug info more user friendly.

svn path=/trunk/; revision=74208
2017-03-19 22:20:51 +00:00
Kamil Hornicek
ad61fd2df2 [OPENGL32]
Disclaimer: This code is ReactOS specific and is the complete opposite of what Windows does (tm):
- Add the option to override the default OpenGL driver by a custom driver or to force the use of the built-in software implementation.
- This will allow some more flexibility when running games / apps that depend on OGL.
- This code needs a special entry in the registry so opengl32 behaves as usual by default.

svn path=/trunk/; revision=74207
2017-03-19 22:15:58 +00:00
Amine Khaldi
2d7b980fca [FREETYPE] Update to v2.7.1. Patch by Katayama Hirofumi MZ, verified by me. CORE-12949
svn path=/trunk/; revision=74206
2017-03-19 17:53:42 +00:00
Amine Khaldi
f7de731248 [VERSION_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74205
2017-03-19 17:23:26 +00:00
Amine Khaldi
651bfe32bc [PSDK] Import verrsrc.h and update winver.h accordingly. CORE-12823
svn path=/trunk/; revision=74204
2017-03-19 17:22:09 +00:00
Amine Khaldi
fea16f685a [VERSION] Sync with Wine Staging 2.2. CORE-12823
8e1335b version: Ignore flag values in Ex functions.

svn path=/trunk/; revision=74203
2017-03-19 17:16:33 +00:00
Eric Kohl
bf9276fb38 [AT]
- Replace ARRAYSIZE() by _countof().
- Implement parsing of days per month schedule information for the /every and /next options.
- Print days per month schedule information.

svn path=/trunk/; revision=74202
2017-03-19 17:15:59 +00:00
Amine Khaldi
5dc0efe009 [WINTRUST_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74201
2017-03-19 17:12:49 +00:00
Amine Khaldi
9a66f98d08 [PSDK] Update wintrust.h. CORE-12823
svn path=/trunk/; revision=74200
2017-03-19 17:11:45 +00:00
Amine Khaldi
cc68e066fd [WINTRUST] Sync with Wine Staging 2.2. CORE-12823
e141d4a wintrust: Use return value of sprintf() instead of calling strlen().

svn path=/trunk/; revision=74199
2017-03-19 17:09:31 +00:00
Amine Khaldi
9883b9f952 [WINHTTP_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74198
2017-03-19 17:05:35 +00:00
Amine Khaldi
1d323c7f36 [WINHTTP] Sync with Wine Staging 2.2. CORE-12823
6053db9 winhttp: Fix handling of Accept headers.
c43dd19 winhttp: Add __WINE_ALLOC_SIZE attributes to heap_xxx() functions.
5b9beca winhttp: Fix some spec file entries.
542998e winhttp: Accept NULL buffer for size queries in WinHttpCreateUrl.
ec35394 winhttp: Handle EINTR from connect and poll.
613e239 winhttp: Use return value of sprintf() instead of calling strlen() and simplify code.

svn path=/trunk/; revision=74197
2017-03-19 17:04:32 +00:00
Amine Khaldi
557197382e [URLMON_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74196
2017-03-19 16:58:47 +00:00
Amine Khaldi
8b55390e8d [URLMON] Sync with Wine Staging 2.2. CORE-12823
1b04cf1 urlmon: Remove 'stub' from implemented functions trace message.
8f23a89 urlmon: Fix FindMimeFromData spec file entry.
32671b1 urlmon: Added Seek implementations for streams using cache file.
aa2ed73 urlmon: Correctly handle INTERNET_STATUS_REQUEST_COMPLETE notification with no data available.
22b4599 urlmon: Fix buffer overflow in parse_canonicalize.

svn path=/trunk/; revision=74195
2017-03-19 16:57:50 +00:00
Amine Khaldi
4fba105205 [USP10_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74194
2017-03-19 16:54:04 +00:00
Amine Khaldi
e210d0be7d [USP10] Sync with Wine Staging 2.2. CORE-12823
d00f731 usp10: Itemise ZWSP like ZWNJ and ZWJ.
721fbf6 usp10: Explicitly check for zero-width control characters in ScriptShapeOpenType().
7e6a4b2 usp10: Fix LB27 rule that should check for prefix, not suffix.
c4626bb usp10: Fixed LB30 condition, breaking after CP class.
0c14195 usp10: Apply 'ccmp' before Arabic contextual shaping.
e2d4cf9 usp10: Fix next index for RTL MultipleSubst.
0401bdf usp10: Change GSUB_E_NOGLYPH value.
10e9adf usp10: Fix Contextual Shaping for Languages with RTL write order.
961e1e6 usp10: Fix ScriptRecordDigitSubstitution spec file entry.
aae5a83 usp10: Implement Chaining Context Substitution Format 2: Class-based Chaining Context Glyph Substitution.
b98a70a usp10: Implement Contextual Positioning Subtable: Format 2.
5e6b2c0 usp10: Implement GSUB Context Substitution types 1 and 2.
c705eca usp10: A spelling fix in a comment.

svn path=/trunk/; revision=74193
2017-03-19 16:53:04 +00:00
Eric Kohl
29e234b3a2 [AT]
Fix duplicate resource string.

svn path=/trunk/; revision=74192
2017-03-19 00:43:26 +00:00
Sebastian Gasiorek
0c9274d5bf import EGA palette fix from Wine
svn path=/trunk/; revision=74191
2017-03-19 00:35:48 +00:00
Eric Kohl
a9d1e30a2a [AT]
Implement the AT command:
- The /every and /next options are not supported yet.
- The 12 hour time format cannot be parsed yet.

svn path=/trunk/; revision=74190
2017-03-19 00:11:31 +00:00
Pierre Schweitzer
e49ac92a99 [MUP]
Properly define magic values for CCB and DFS

svn path=/trunk/; revision=74189
2017-03-18 14:03:45 +00:00
Mark Jansen
6261af5945 [USETUP] Split font substitution settings for CJK languages. Patch by Katayama Hirofumi MZ. CORE-9615
svn path=/trunk/; revision=74188
2017-03-18 13:28:57 +00:00
Mark Jansen
fd3b70fc42 [APPLICATIONS/SYSUTILS] Add a font substitutes editor. Patch by Katayama Hirofumi MZ. CORE-12749 #resolve #comment Thanks!
svn path=/trunk/; revision=74187
2017-03-18 13:01:18 +00:00
Mark Jansen
5d11d1699c [REGEDIT] Fix regedit not showing it's main window when loading view settings fail. CORE-12749
svn path=/trunk/; revision=74186
2017-03-18 12:54:43 +00:00
Mark Jansen
7c59b923ac [SDK] Add WM_CONTEXTMENU handler to WindowsX.h CORE-12749
svn path=/trunk/; revision=74185
2017-03-18 12:24:16 +00:00
Thomas Faber
648f8eb5ff [BOOTLIB]
- Avoid an uninitialized variable in BlpDisplayReinitialize. Patch by Victor Martinez Calvo. CID 1363648.
CORE-11692 #resolve

svn path=/trunk/; revision=74184
2017-03-17 14:11:03 +00:00
Eric Kohl
e17745ee73 [FONTVIEW]
Implement fontview /p parameter support.
Patch by amber. Patch was slightly modified by me in order to open the print dialog automatically.
CORE-12944 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=74183
2017-03-16 23:36:08 +00:00
Sebastian Gasiorek
c3297be6ce [DXG] Implement DxDdCanCreateSurface and DxDdCanCreateD3DBuffer. Reorganisation of code - put functions in the same filenames as in ntddraw CORE-4490
svn path=/trunk/; revision=74181
2017-03-16 14:37:27 +00:00
Sebastian Gasiorek
8d823dd58d [DXG] implement DxDdGetDriverInfo, DxDdQueryDirectDrawObject, DxDdReenableDirectDrawObject, fix DirectDrawLocal assignment in intDdCreateDirectDrawLocal CORE-4490
svn path=/trunk/; revision=74180
2017-03-16 12:20:36 +00:00
Sebastian Gasiorek
c04d8c58e7 [DXG] DdHmgLock - use PLONG instead of PBYTE.
svn path=/trunk/; revision=74179
2017-03-16 09:59:15 +00:00
Mark Jansen
0ad21ab1b8 [WIN32SS] Improve font substitutes by adding support for charset + loading the substitutes at boot. Patch by Katayama Hirofumi MZ. CORE-12902 #resolve #comment Thanks!
svn path=/trunk/; revision=74178
2017-03-15 20:38:45 +00:00
Mark Jansen
447c0daf7d [ATL][ATL_APITEST] Allow CString to be initialized with a resource ID + add tests for this. Patch by Katayama Hirofumi MZ. CORE-12917 #resolve #comment Thanks!
svn path=/trunk/; revision=74177
2017-03-15 19:17:44 +00:00
Ged Murphy
14e5cfe8eb [IoCsq]
- Clean up the DriverContext that was dirtied by the CSQ
The do while(0) thing feels a bit weird. I can only assume it was done so a 'break' will unlock before returning.

svn path=/trunk/; revision=74176
2017-03-15 18:01:54 +00:00
Robert Naumann
aaa7adc518 [EXPLORER] Show the notification settings dialog from it's context menu entry
svn path=/trunk/; revision=74175
2017-03-15 15:08:39 +00:00
Sebastian Gasiorek
8dbe68b77a [DXG] replace EngDeleteSemaphore with EngReleaseSemaphore in DdHmgLock! CORE-4490
svn path=/trunk/; revision=74174
2017-03-15 14:16:00 +00:00
Daniel Reimer
1882e8f1b8 [ROSBE]
Update RosBE in RAPPS too.

svn path=/trunk/; revision=74173
2017-03-15 07:55:11 +00:00
Hermès Bélusca-Maïto
5c9adf775d [NDK]: No, the NDK applications do not have to use UNICODE.
Indeed the RTL/NDK/whatever always explicitely uses ANSI and/or UNICODE string types where needed (and do not depend on tchar.h stuff).
It is up to the given application to explicitely specify (in its CMakeLists.txt or elsewhere) whether it wants to define UNICODE or not.
--> Fix the problem of having the UNICODE define magically being defined after including some NDK header.

[DNSAPI][USER32_APITEST]: Explicitely use UNICODE functions where needed (and as was already done in other parts of the code).

svn path=/trunk/; revision=74172
2017-03-15 00:06:42 +00:00
Sebastian Gasiorek
856b02d967 [DXG] Implement DxDdCreateDirectDrawObject and update DdHmgAlloc CORE-4490
svn path=/trunk/; revision=74171
2017-03-14 23:05:49 +00:00
Sebastian Gasiorek
47e72b3d01 [DXG] Implement DxDdEnableDirectDraw CORE-4490
[NTDDRAW] Enable DxEGShDevData_hSpooler and DxEGShDevData_ldev in DxEngGetHdevData CORE-7733

svn path=/trunk/; revision=74170
2017-03-14 19:45:23 +00:00
Sebastian Gasiorek
7797dd6fcc [GDI] Windows puts DeviceObject to hSpooler field when it is graphics device. CORE-7733 CORE-4490
svn path=/trunk/; revision=74169
2017-03-14 19:13:19 +00:00
Robert Naumann
6231da678b [EXPLORER] Now that CORE-10575 is correctly fixed, delete the old and obsolete start icon. Final part of CORE-10030
svn path=/trunk/; revision=74168
2017-03-14 15:08:11 +00:00
Eric Kohl
494233b2a4 [NTOS:IO]
IopGetDeviceRelations:
- Use captured parameters to probe for write.
- Do not check IopInitiatePnpIrp for STATUS_PENDING.

svn path=/trunk/; revision=74167
2017-03-13 21:23:15 +00:00
Giannis Adamopoulos
f57506f679 [EXPLORER} -Cleanup some code that I forgot in the previous commit.
svn path=/trunk/; revision=74166
2017-03-13 21:21:50 +00:00
Giannis Adamopoulos
62a543313a [EXPLORER] - CTrayWindow: Implement handling WM_NCCALCSIZE to get rid of the three unneeded borders when themes are enabled and the taskbar is not locked. Use GetWindowDC to draw the grip properly. Misc size fixes. Patch by Sylvain Deverre with fixes by me. CORE-9668
svn path=/trunk/; revision=74165
2017-03-13 21:14:15 +00:00
Giannis Adamopoulos
832d0fddb9 [SHELL32] -Fix redrawing the desktop when its size changes. This was broken in 72834.
svn path=/trunk/; revision=74164
2017-03-13 21:04:35 +00:00
Daniel Reimer
59a44b785e [RAPPS]
Last one... slow like hell, but here it is... Foxit Reader

svn path=/trunk/; revision=74163
2017-03-13 19:28:09 +00:00
Daniel Reimer
7a81d8995f [RAPPS]
... welcome back WinXP support.

svn path=/trunk/; revision=74162
2017-03-13 19:09:07 +00:00
Daniel Reimer
f71facb90a [RAPPS]
Add "TortoiseSVN" in "ReactOS App Manager"
CORE-11748 #resolve #comment Added, thx ^^
Add NET framework 4.0 to RAPPS
CORE-11523 #resolve #comment Added, thx ^^
[RAPPS-DB] UltraVNC 1.2.1.0 link is dead
CORE-11642 #resolve #comment Added, thx ^^
And Fixed LibreOffce d/l again...

svn path=/trunk/; revision=74161
2017-03-13 18:38:09 +00:00
Giannis Adamopoulos
c6b55bf950 {EXPLORER] -Fix gcc build.
svn path=/trunk/; revision=74160
2017-03-13 13:19:12 +00:00
Giannis Adamopoulos
9c8343f170 [EXPLORER] -Remove the old way that the start button was painted. Keep some very simple fallback code in case the text couldn't be loaded or when the optimal size can't be determined.
svn path=/trunk/; revision=74159
2017-03-13 13:07:55 +00:00
Robert Naumann
7eee4d8436 [EXPLORER] use a checkmark instead of a radio button for the "Lock the taskbar" option. CORE-12760 #resolve
svn path=/trunk/; revision=74158
2017-03-13 10:36:46 +00:00
Eric Kohl
7fee8ebabe [NTOS:OB]
- Allocate all of the kernel objects security descriptor and the dos devices security descriptor from the paged pool, instead of just the ACLs.
- Replace special security descriptor free routines by calls to ExFreePoolWithTag.
- Replace the TAG_OB_DIR_SD by TAG_SD.

svn path=/trunk/; revision=74157
2017-03-13 00:10:23 +00:00
Hermès Bélusca-Maïto
89e9101a9b [FASTFAT]: Fix an "error C4700: uninitialized local variable 'Entry' used" that is caught by MSVC 2010 (that pointed out a genuine bug), but mysteriously unseen by MSVC 2012+, who knows why...
svn path=/trunk/; revision=74156
2017-03-12 18:25:21 +00:00
Hermès Bélusca-Maïto
82ed3d127f [FASTFAT]: Fix compilation under MSVC 2010 (1/2).
svn path=/trunk/; revision=74155
2017-03-12 18:11:00 +00:00
Hermès Bélusca-Maïto
ed384844a1 [HOST-TOOLS]: Add isohybrid to the list of host-tools (for NEW-BUILD scenario).
[BOOT]: Add experimental "isohybrid_bootcd(regtest)/livecd/hybridcd" targets to build patched "ISO-Hybrid" (i.e. USB-flashable) ISOs using the isohybrid tool.
CORE-12648

svn path=/trunk/; revision=74154
2017-03-12 17:43:12 +00:00
Eric Kohl
00ce056206 [POWERCFG]
Replace 'CONTROL ... "Button", BS_AUTOCHECKBOX ...' by 'AUTOCHECKBOX'.

svn path=/trunk/; revision=74153
2017-03-12 14:55:54 +00:00
Eric Kohl
87b1008e63 [MMSYS]
Convert all CHECKBOXes to AUTOCHECKBOXes.

svn path=/trunk/; revision=74152
2017-03-12 14:06:28 +00:00
Giannis Adamopoulos
59aefe6216 [BROWSEUI] -CExplorerBand: Stub QueryService method and set the site of the context menu so as to let the context menu find the SID_IShellBrowser when the open menu item is clicked. CORE-11783
svn path=/trunk/; revision=74151
2017-03-12 09:48:25 +00:00
Giannis Adamopoulos
2ae045e8a1 [COMCTL32] -Implement sending the BCN_HOTITEMCHANGE notification.
svn path=/trunk/; revision=74150
2017-03-12 00:00:40 +00:00
Giannis Adamopoulos
301c476074 [COMCTL32] -Fix some tests regarding how the v6 buttons gets repainted.
svn path=/trunk/; revision=74149
2017-03-11 13:42:29 +00:00
Giannis Adamopoulos
395c541573 [COMCTL32_APITEST] -Add one more test.
svn path=/trunk/; revision=74148
2017-03-11 13:41:03 +00:00
Giannis Adamopoulos
971c0bc040 [COMCTL32_APITEST] -Add a couple more tests.
svn path=/trunk/; revision=74147
2017-03-11 13:23:49 +00:00
Giannis Adamopoulos
ec2450447a [COMCTL32_APITEST] -Add tests for the BST_HOT state.
svn path=/trunk/; revision=74146
2017-03-10 22:46:35 +00:00
Giannis Adamopoulos
7e6dc5a06d [COMCTL32_APITEST] -Get rid of some hardcoded values.
svn path=/trunk/; revision=74145
2017-03-10 22:17:26 +00:00
Giannis Adamopoulos
0feb059c77 [UXTHEME] -Add tests for SetWindowTheme to test the behavior that was changed in r74038.
svn path=/trunk/; revision=74144
2017-03-10 17:56:18 +00:00
Sebastian Gasiorek
0b0e9bd364 [DXG] Implement DdAllocateObject, DdFreeObject, DdGetFreeHandle, DdHmgAlloc, DdHmgFree CORE-4490
svn path=/trunk/; revision=74143
2017-03-10 17:51:20 +00:00
Sebastian Gasiorek
c6af963e8d [NTUSER] Lock before getting DesktopDC. Fixes crash during loading DirectX CORE-7733
svn path=/trunk/; revision=74142
2017-03-10 16:33:45 +00:00
Giannis Adamopoulos
29bf877001 [COMCTL32] -Add lots of tests for the messages that are sent when the button is painted due to the mouse entering and leaving the button.
svn path=/trunk/; revision=74141
2017-03-10 15:32:32 +00:00
Hermès Bélusca-Maïto
baa9ecf7e8 [SYSSETUP]: Translations update.
svn path=/trunk/; revision=74140
2017-03-09 23:08:39 +00:00
Hermès Bélusca-Maïto
4f6e241a71 [NETSHELL]: Fix the height of some dialog boxes.
svn path=/trunk/; revision=74139
2017-03-09 22:42:29 +00:00
Hermès Bélusca-Maïto
6073c0f854 [NETSHELL][SYSSETUP]: Revert r74134 as it's not the correct fix for what I wanted to improve.
svn path=/trunk/; revision=74138
2017-03-09 22:39:26 +00:00
Sebastian Gasiorek
5f624ba435 [WIN32SS] Allocate memory for EDD_DIRECTDRAW_GLOBAL while creating PDEV (partially fixes CORE-7733)
[SDK] Update EDD_DIRECTDRAW_GLOBAL structure

svn path=/trunk/; revision=74137
2017-03-09 21:03:47 +00:00
Hermès Bélusca-Maïto
b1b42795a9 [COMCTL32]: comctl32/propsheet: Diverse UI fixes:
- Draw static text elements with a transparent background, so that they acquire the correct background color of the wizard window.
- Modify the check for the header bitmap, as the header's hbmHeader is initialized also if the flag PSH_HEADER but not PSH_USEHBMHEADER is set (see function PROPSHEET_LoadWizardBitmaps).
- Add a check for header's hbmWatermark so that the watermark is drawn only when a valid bitmap handle is present.
- Fix a copy-pasta error when drawing the header's subtitle.

CORE-12912 #comment Patch for the wizard visual problem sent upstream.
CORE-12823

svn path=/trunk/; revision=74136
2017-03-09 20:30:16 +00:00
Hermès Bélusca-Maïto
5ea4ffbcaf [i8042prt]: Add yet another Dell Latitude hack, (for D810 this time). These Dell laptops undeniably have a peculiar init way that our driver doesn't support naturally.
CORE-12899

svn path=/trunk/; revision=74135
2017-03-09 16:43:25 +00:00
Hermès Bélusca-Maïto
94a9d5ba0b [NETSHELL][SYSSETUP]: Enlarge a bit the height of the setup wizard pages, to not have the bottom text cropped. Fixes the appearance of them when being run from Windows.
svn path=/trunk/; revision=74134
2017-03-09 16:39:43 +00:00
Eric Kohl
4358ac07a7 [NTOS:OB]
Replace calls to ExFreePool by calls to ExFreePoolWithTag.

svn path=/trunk/; revision=74132
2017-03-08 22:27:06 +00:00
Eric Kohl
5383e90959 [SHUTDOWN]
shutdown -t causes crash
Patch by Michael Fritscher.
CORE-12886 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=74131
2017-03-08 22:22:21 +00:00
Giannis Adamopoulos
48c9363c36 [UXTHEME_APITEST] -Add a test to show that CloseThemeData doesn't use exception handling.
svn path=/trunk/; revision=74128
2017-03-08 15:15:19 +00:00
Giannis Adamopoulos
5855a53b74 [UXTHEME] -Fix most new tests for DrawThemeParentBackground. Hackfix CloseThemeData.
svn path=/trunk/; revision=74127
2017-03-08 15:08:56 +00:00
Giannis Adamopoulos
761c932726 [UXTHEME_APITEST] -Add one more test for DrawThemeParentBackground.
svn path=/trunk/; revision=74126
2017-03-08 14:54:02 +00:00
Giannis Adamopoulos
eb86e8afd5 [UXTHEME_APITEST] -Add more tests for DrawThemeParentBackground.
svn path=/trunk/; revision=74125
2017-03-08 14:46:36 +00:00
Giannis Adamopoulos
93bbc9d548 [USER32_APITEST] -Move the helper functions in the common include directory
[UXTHEME_APITEST] -Use the helper functions to test the messages sent by DrawThemeParentBackground

svn path=/trunk/; revision=74123
2017-03-07 22:29:48 +00:00
Giannis Adamopoulos
f7b5561d60 [COMCTL32] -Buttons with the BS_PUSHLIKE style are drawn as if they were BS_PUSHBUTTON. Fixes the appearance of buttons in the advanced appearance dialog.
svn path=/trunk/; revision=74120
2017-03-06 21:57:10 +00:00
Hermès Bélusca-Maïto
f606ee89dd [KERNEL32]: Check for NULL pointer specified to lstrlenA/W and return null length, as specified in the MSDN doc and checked by the tests of r74118.
This should remove the unwanted 1st-chance exceptions caught when debugging Office 2010 installation, that calls from time to time lstrlen with NULL pointers.

svn path=/trunk/; revision=74119
2017-03-06 19:17:53 +00:00
Hermès Bélusca-Maïto
c5dde308bf [KERNEL32_APITEST]: Add basic tests for lstrlenA/W, focusing on its special handling of the NULL pointer.
We detect that the NULL pointer is handled separately because no exception is generated, contrary to when the function is called with truly invalid pointers.
I thank Mark for having mentioned the vectored exception handling to me, needed to catch first-chance exceptions.

svn path=/trunk/; revision=74118
2017-03-06 19:14:27 +00:00
Hermès Bélusca-Maïto
80db48ee6f [PSDK][NDK]: Add AddVectoredContinueHandler, RemoveVectoredContinueHandler, and RtlRemoveVectoredExceptionHandler, RtlAddVectoredContinueHandler and RtlRemoveVectoredContinueHandler to our headers.
svn path=/trunk/; revision=74117
2017-03-06 19:04:17 +00:00
James Tabor
e0eab0e64c [NtUser]
- Remove scroll bar search that sends another WM_NCCALCSIZE message. Use wine as an example. See CORE-12827.

svn path=/trunk/; revision=74116
2017-03-06 18:28:03 +00:00
Colin Finck
8e993c1a64 [MKISOFS]
Update mkisofs to schily-2017-02-16, which comes with the following fixes:
- Fix null termination in libschily's Win32 implementation of opendir (submitted upstream by me).
  The bug was triggered when building an ISO from a directory instead of a graft-points (.lst) file.
- Prevent -duplicates-once from being used together with -cache-inodes. These options exclude each other.

svn path=/trunk/; revision=74112
2017-03-05 22:54:33 +00:00
Amine Khaldi
bb24e3a5e4 [OLEAUT32_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74111
2017-03-05 21:51:44 +00:00
Amine Khaldi
8a80051169 [OLEAUT32] Sync with Wine Staging 2.2. CORE-12823
43c59f0 oleaut32: Accept DISP_E_PARAMNOTFOUND for missing optional parameters in ITypeInfo::Invoke implementation. (v3)
a4f9840 oleaut32: Fix calling function with instance and VARIANT return type. (v2)
78ee7f5 oleaut32: Standardize the heap_xxx() functions.
9e54ae7 oleaut32: Return proper interface pointers.
655af6d oleaut32: Fix OleTranslateColor spec file entry.

svn path=/trunk/; revision=74110
2017-03-05 21:50:37 +00:00
Amine Khaldi
b400ac7ae6 [RICHED20_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74109
2017-03-05 21:44:19 +00:00
Amine Khaldi
a142fcc929 [RICHED20] Sync with Wine Staging 2.2. CORE-12823
440b921 riched20: Return proper interface pointers.
e63cea5 riched20: A spelling fix in a comment.
9f37f6a riched20: Check for NULL in fnTextSrv_TxSetText and add test.

svn path=/trunk/; revision=74108
2017-03-05 21:43:39 +00:00
Amine Khaldi
e007edf028 [INETCOMM_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74107
2017-03-05 21:37:58 +00:00
Amine Khaldi
54297235d4 [INETCOMM] I guess I asked too much from svn when I renamed the existing file and then added a new one with the same name as the old.
svn path=/trunk/; revision=74106
2017-03-05 21:36:38 +00:00
Amine Khaldi
8e07a66b68 [INETCOMM] Sync with Wine Staging 2.2. CORE-12823
51e1a08 inetcomm: Return S_FALSE if no data is returned in IInternetProtocol::Read.
0672bfa inetcomm: Added support for decoding quoted-printable data.
07af9d0 inetcomm: Added mhtml binding tests.
cf8e259 inetcomm: Added support for binding mhtml protocol handler.
3f644cb inetcomm: Added IInternetProtocolInfo::CombineUrl implementation.
37792a2 inetcomm: Added MimeOleObjectFromMoniker semi-stub implementation.
242cbb1 inetcomm: Added tests reading MHTML page as MIME message.
eb0bd22 inetcomm: Removed unneeded type check in init_content_type.
56dc246 inetcomm: Read content encoding from MIME header.
dec243f inetcomm: Don't include headers in data stream in create_sub_body.
3ccba10 inetcomm: Properly handle boundary in the beginning of body stream in create_body_offset_list.
9c01a94 inetcomm: Use relative seek in copy_headers_to_buf.
915acd6 inetcomm: Added support for decoding base64 in IMimeBody::GetData.
0b80666 inetcomm: Return a new instance of stream in IMimeBody::GetData.
393512d inetcomm: Don't restore base stream position in sub stream Read.
bb5056e inetcomm: Moved sub_stream_t implementation before MimeBody implementation.
a1d0c6d inetcomm: Added COM aggregation support to MimeHtmlProtocol object.
fe3e5b9 inetcomm: Added IInternetProtocolInfo stub implementation.
6832273 inetcomm: Added MimeHtmlProtocol stub implementation.
d5d9aa3 inetcomm: Register mhtml protocol handler.

svn path=/trunk/; revision=74105
2017-03-05 21:33:13 +00:00
Amine Khaldi
48277d058b [PSDK] Update mimeole.idl. CORE-12823
svn path=/trunk/; revision=74104
2017-03-05 21:29:40 +00:00
Eric Kohl
c4b8caf365 [NTOS:OB]
- Define and use a pool tag for directory security descriptors.
- Use a custom security descriptor to create the KernelObjects directory.

svn path=/trunk/; revision=74103
2017-03-05 21:28:10 +00:00
Amine Khaldi
a1488a0f38 [CRYPT32_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74102
2017-03-05 21:22:31 +00:00
Amine Khaldi
9b06dff0d9 [CRYPT32] Sync with Wine Staging 2.2. CORE-12823
a7d1d77 crypt32: Recognize sha256/384/512 KEY OIDs.
e376123 crypt32: Remove unused parameter and dead code.
254eb21 crypt32: Fix wrong Base64 trailer WCHAR constants.
a2f2de1 crypt32: CryptStringToBinary accepts any header.
552820a crypt32: Fix Base64 issues in CryptStringToBinary.
e353ab6 crypt32: Base64 header requires a space.

svn path=/trunk/; revision=74101
2017-03-05 21:21:36 +00:00
Amine Khaldi
36c77a1616 [PSDK] Update wincrypt.h. CORE-12823
svn path=/trunk/; revision=74100
2017-03-05 21:19:15 +00:00
Amine Khaldi
3606086387 [GDIPLUS_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74099
2017-03-05 21:16:17 +00:00
Amine Khaldi
687ee5ded5 [GDIPLUS] Sync with Wine Staging 2.2. CORE-12823
818b141 gdiplus: Add support for more image color formats.
f8f0a35 gdiplus: Implement GdipInitializePalette. (v2)
973bba9 gdiplus: Ignore an externally set DC clipping region.
650b8d0 gdiplus: Ignore an externally set DC origin.
e100661 gdiplus: Add GdipCreateHBITMAPFromBitmap tests when bitmap bits are locked.
b58276a gdiplus: Reimplement GdipCreateHBITMAPFromBitmap so it can work on locked bitmaps.
5673d82 gdiplus: GpBitmap can be only locked once, get rid of numlocks field.
0eaaa15 gdiplus: Make GpBitmap->bitmapbits access thread safe.
4e685eb gdiplus: Added GdipGetCustomLineCapType().
36bb9d9 gdiplus: Fix some spec file entries.
f870708 gdiplus: Make some GdipDraw*Path() functions static.
046fc19 gdiplus: Fix memory leak in format_string_callback error path.
5018594 gdiplus: Create the FontFamily before checking for duplicates.
0d6a4b0 gdiplus: Don't include rotated fonts in the installed font collection.

svn path=/trunk/; revision=74098
2017-03-05 21:15:16 +00:00
Amine Khaldi
814dd8031a [PSDK] Update wincodec.idl. CORE-12823
svn path=/trunk/; revision=74097
2017-03-05 21:08:10 +00:00
Amine Khaldi
9d0f4183f7 [PSDK] Update gdiplusenums.h and gdiplusflat.h. CORE-12823
svn path=/trunk/; revision=74096
2017-03-05 21:06:16 +00:00
Amine Khaldi
85353f2fba [OLE32_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74095
2017-03-05 21:03:59 +00:00
Amine Khaldi
41772c8273 [OLE32] Sync with Wine Staging 2.2. CORE-12823
23607d0 ole32: Implement returning a name in IEnumSTATPROPSTG.
5cf1db5 ole32: Support reading VT_BOOL, VT_R8 and VT_I8 into propery storage.
591c9c8 ole32: Correctly parse unicode property storage dictionaries.
93a8ede ole32: Add a __WINE_ALLOC_SIZE attribute to heap_alloc().
182fad8 ole32: Call GetClipboardFormatName with the correct parameters.
e31dd0f ole32: Use a HWND_MESSAGE window for the clipboard.
c85eaae ole32: Only trace a clipboard format name if it has one.
77e566a ole32: Don't set zero-size clipboard data, this no longer works.

svn path=/trunk/; revision=74094
2017-03-05 21:03:00 +00:00
Amine Khaldi
74568a6e4d [COMDLG32_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74093
2017-03-05 20:57:57 +00:00
Amine Khaldi
6993f86ef3 [COMDLG32] Sync with Wine Staging 2.2. CORE-12823
e07d20f comdlg32: Don't crash if an IShellFolder could not be created.
bd1b3c1 comdlg32: Use localized "Path does not exist" string.
1707df3 comdlg32: Delay OleInitialize() until after file dialog window is created.
6c4aaf7 comdlg32: Always use original Open File dialog template.
eff2ecc comdlg32: Avoid some superfluous pointer casts.

svn path=/trunk/; revision=74092
2017-03-05 20:57:05 +00:00
Amine Khaldi
12b5c1dd77 [COMCTL32_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74091
2017-03-05 20:53:49 +00:00
Amine Khaldi
9ce65ea71e [COMCTL32] Sync with Wine Staging 2.2. CORE-12823
cc055c4 comctl32: Add support for PSPCB_ADDREF/PSPCB_RELEASE callback notifications. (v2)
83cde06 comctl32/propsheet: Implement PSM_SETHEADERSUBTITLE.
ce9c06b comctl32/propsheet: Implement PSM_SETHEADERTITLE.
1a750f7 comctl32/propsheet: Add helpers to do string duplication.
14a6c98 comctl32/pager: Don't block window size changes.
a6661ba comctl32/propsheet: Added PSM_INSERTPAGE implementation.
34dd326 comctl32/propsheet: Only use header bitmap when asked for it.
6eafebe comctl32/propsheet: Force wizard header if any of pages has title/subtitle.
70c9a96 comctl32: Fix some more spec file entries.
2dd0fb8 comctl32: Correctly set the colour table for ILC_COLOR4 and ILC_COLOR8 imagelists.
a0e73a1 comctl32/syslink: Don't use exported StrCmpNIW().
970029b comctl32/toolbar: Fix TB_SETDRAWTEXTFLAGS handler.
99913e8 comctl32: Fix some spec file entries.
9d404dd comctl32/propsheet: Double size of a template buffer passed to PSCB_PRECREATE.
bb1d68e comctl32/trackbar: Fix TBM_SETRANGEMAX handling when new limit is less than current min boundary.
26067cc comctl32/toolbar: Protect from NULL pointer access in TB_GETBUTTONINFOW handler.
a6aabe0 comctl32/trackbar: Update thumb unconditionally on TBM_SETTICFREQ.
c7c8994 comctl32: Recompute the text width if necessary.
3ed6ba5 comctl32: Set the text and bkgnd colours to the default before the item pre-paint notification.
8915404 comctl32: Use wine_dbgstr_point in TRACES.

svn path=/trunk/; revision=74090
2017-03-05 20:52:24 +00:00
Amine Khaldi
07ecda8b60 [PSDK] Add missing PSPCB_ADDREF. CORE-12823
svn path=/trunk/; revision=74089
2017-03-05 20:49:12 +00:00
Amine Khaldi
2d709a011a [MSI_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74088
2017-03-05 20:45:43 +00:00
Amine Khaldi
4630534773 [MSI] Sync with Wine Staging 2.2. CORE-12823
fe50dbf msi: Do not sign extend after multiplying.
c659222 msi: Fix some spec file entries.
167de42 msi: Make reg_get_{multi}sz() static.
f5e4dad msi: Fix handling of NULL buffer in MsiGetProductPropertyW() (Coverity).
3b5b3ef msi: Fix MSIREG_OpenUserComponentsKey and MSIREG_DeleteUpgradeCodesKey for Wow64.
5ac0242 msi: Correctly size packagecode as it's an unsquashed guid.

svn path=/trunk/; revision=74087
2017-03-05 20:45:25 +00:00
Amine Khaldi
00d5ff1307 [RPCRT4_WINETEST] Sync with Wine Staging 2.2. CORE-12823
svn path=/trunk/; revision=74086
2017-03-05 20:43:17 +00:00
Amine Khaldi
f2ad28ea2d [RPCRT4] Sync with Wine Staging 2.2. CORE-12823
b85c2f7 rpcrt4: Fix some spec file entries.
042b41d rpcrt4: Avoid potential overflow in rpcrt4_protseq_ncacn_np_open_endpoint.
c32cd11 rpcrt4: Acquire new credential handle for each connection.
da05dfd rpcrt4: Store security package name in rpc_server_registered_auth_info.
f8450fa rpcrt4: Handle NULL binding in RpcBindingInqAuthClient{,Ex}.

svn path=/trunk/; revision=74085
2017-03-05 20:42:41 +00:00
Giannis Adamopoulos
8832faa915 [UXTHME] Implement drawing themed text with shadows.
svn path=/trunk/; revision=74083
2017-03-05 19:34:01 +00:00
2982 changed files with 519679 additions and 103053 deletions

View File

@@ -28,7 +28,6 @@ add_subdirectory(network)
add_subdirectory(notepad)
add_subdirectory(osk)
add_subdirectory(rapps)
add_subdirectory(rapps_new)
add_subdirectory(regedit)
add_subdirectory(regedt32)
add_subdirectory(sc)

View File

@@ -13,7 +13,7 @@ file(GLOB calc_rc_deps res/*.*)
add_rc_deps(resource.rc ${calc_rc_deps})
add_executable(calc ${SOURCE} resource.rc)
set_module_type(calc win32gui UNICODE)
add_importlibs(calc advapi32 user32 shell32 gdi32 msvcrt kernel32)
add_importlibs(calc advapi32 comctl32 user32 shell32 gdi32 msvcrt kernel32)
if(MSVC)
add_importlibs(calc ntdll)

View File

@@ -144,15 +144,17 @@ static const conv_t conv_CURRENCY[] = {
DECLARE_CONV_UNIT(CURRENCY, AUSTRIAN_SCHILLING, "$/13,7603", "$*13,7603")
DECLARE_CONV_UNIT(CURRENCY, BELGIAN_FRANC, "$/40,3399", "$*40,3399")
DECLARE_CONV_UNIT(CURRENCY, CYPRIOT_POUND, "$/0,585274","$*0,585274")
DECLARE_CONV_UNIT(CURRENCY, CZECH_KORUNA, "$/27,9766", "$*27,9766")
DECLARE_CONV_UNIT(CURRENCY, DEUTSCHE_MARK, "$/1,9558", "$*1,9558")
DECLARE_CONV_UNIT(CURRENCY, DEUTSCHE_MARK, "$/1,95583", "$*1,95583")
DECLARE_CONV_UNIT(CURRENCY, DUTCH_GUILDER, "$/2,20371", "$*2,20371")
DECLARE_CONV_UNIT(CURRENCY, ESTONIAN_KROON, "$/15,6466", "$*15,6466")
DECLARE_CONV_UNIT(CURRENCY, EURO, "$", "$")
DECLARE_CONV_UNIT(CURRENCY, FINNISH_MARKKA, "$/5,9457", "$*5,9457")
DECLARE_CONV_UNIT(CURRENCY, FRENCH_FRANC, "$/6,5596", "$*6,5596")
DECLARE_CONV_UNIT(CURRENCY, GREEK_DRACHMA, "$/340,75", "$*340,75")
DECLARE_CONV_UNIT(CURRENCY, IRISH_POUND, "$/0,7876", "$*0,7876")
DECLARE_CONV_UNIT(CURRENCY, FINNISH_MARKKA, "$/5,94573", "$*5,94573")
DECLARE_CONV_UNIT(CURRENCY, FRENCH_FRANC, "$/6,55957", "$*6,55957")
DECLARE_CONV_UNIT(CURRENCY, GREEK_DRACHMA, "$/340,751", "$*340,751")
DECLARE_CONV_UNIT(CURRENCY, IRISH_POUND, "$/0,787564","$*0,787564")
DECLARE_CONV_UNIT(CURRENCY, ITALIAN_LIRA, "$/1936.27", "$*1936.27")
DECLARE_CONV_UNIT(CURRENCY, LATVIAN_LATS, "$/0,7028", "$*0,7028")
DECLARE_CONV_UNIT(CURRENCY, LITHUANIAN_LITAS, "$/3,45280", "$*3,45280")
DECLARE_CONV_UNIT(CURRENCY, LUXEMBOURG_FRANC, "$/40,3399", "$*40,3399")
DECLARE_CONV_UNIT(CURRENCY, MALTESE_LIRA, "$/0.42930", "$*0.42930")
DECLARE_CONV_UNIT(CURRENCY, PORTOGUESE_ESCUDO, "$/200,482", "$*200,482")

View File

@@ -497,12 +497,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Чешка крона"
IDS_CURRENCY_DEUTSCHE_MARK "Германска марка"
IDS_CURRENCY_DUTCH_GUILDER "Холандски гулден"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Евро"
IDS_CURRENCY_FINNISH_MARKKA "Финска марка"
IDS_CURRENCY_FRENCH_FRANC "Френски франк"
IDS_CURRENCY_GREEK_DRACHMA "Гръцка драхма"
IDS_CURRENCY_IRISH_POUND "Ирландска лира"
IDS_CURRENCY_ITALIAN_LIRA "Италианска лира"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Люксембургски франк"
IDS_CURRENCY_MALTESE_LIRA "Малтийска лира"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Португалско ескудо"

View File

@@ -496,12 +496,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Česká koruna"
IDS_CURRENCY_DEUTSCHE_MARK "Německá marka"
IDS_CURRENCY_DUTCH_GUILDER "Nizozemský gulden"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Finská marka"
IDS_CURRENCY_FRENCH_FRANC "Francouzský frank"
IDS_CURRENCY_GREEK_DRACHMA "Řecká drachma"
IDS_CURRENCY_IRISH_POUND "Irská libra"
IDS_CURRENCY_ITALIAN_LIRA "Italská lira"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Lucemburský frank"
IDS_CURRENCY_MALTESE_LIRA "Maltská lira"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugalské escudo"

View File

@@ -491,12 +491,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Tschechische Krone"
IDS_CURRENCY_DEUTSCHE_MARK "Deutsche Mark"
IDS_CURRENCY_DUTCH_GUILDER "Niederländische Guilder"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Finnische Mark"
IDS_CURRENCY_FRENCH_FRANC "Französchische Franc"
IDS_CURRENCY_GREEK_DRACHMA "Griechische Drachme"
IDS_CURRENCY_IRISH_POUND "Irische Pfund"
IDS_CURRENCY_ITALIAN_LIRA "Italienische Lire"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxemburgische Franc"
IDS_CURRENCY_MALTESE_LIRA "Maltesische Lire"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugiesische Escudo"

View File

@@ -491,12 +491,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Czech koruna"
IDS_CURRENCY_DEUTSCHE_MARK "Γερμανικό μάρκο"
IDS_CURRENCY_DUTCH_GUILDER "Dutch guilder"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Ευρώ"
IDS_CURRENCY_FINNISH_MARKKA "Finnish markka"
IDS_CURRENCY_FRENCH_FRANC "Γαλλικό φράγκο"
IDS_CURRENCY_GREEK_DRACHMA "Δραχμή"
IDS_CURRENCY_IRISH_POUND "Irish pound"
IDS_CURRENCY_ITALIAN_LIRA "Ιταλική λίρα"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Μαλτέζικη λίρα"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Πορτογαλικό εσκούδο"

View File

@@ -491,12 +491,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Czech koruna"
IDS_CURRENCY_DEUTSCHE_MARK "Deutsche Mark"
IDS_CURRENCY_DUTCH_GUILDER "Dutch guilder"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Finnish markka"
IDS_CURRENCY_FRENCH_FRANC "French franc"
IDS_CURRENCY_GREEK_DRACHMA "Greek Drachma"
IDS_CURRENCY_IRISH_POUND "Irish pound"
IDS_CURRENCY_ITALIAN_LIRA "Italian lira"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portuguese escudo"

View File

@@ -497,12 +497,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Corona checa"
IDS_CURRENCY_DEUTSCHE_MARK "Marco alemán"
IDS_CURRENCY_DUTCH_GUILDER "Florín neerlandés"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Marco finlandés"
IDS_CURRENCY_FRENCH_FRANC "Franco frances"
IDS_CURRENCY_GREEK_DRACHMA "Drachma griego"
IDS_CURRENCY_IRISH_POUND "Libra irlandesa"
IDS_CURRENCY_ITALIAN_LIRA "Lira italiana"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franco luxemburgués"
IDS_CURRENCY_MALTESE_LIRA "Lira maltesa"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo portugués"

View File

@@ -491,12 +491,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Couronne tchèque"
IDS_CURRENCY_DEUTSCHE_MARK "Mark allemand"
IDS_CURRENCY_DUTCH_GUILDER "Dutch guilder"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Marks finlandais"
IDS_CURRENCY_FRENCH_FRANC "Franc français"
IDS_CURRENCY_GREEK_DRACHMA "Drachmes grecques"
IDS_CURRENCY_IRISH_POUND "Livre irlandaise"
IDS_CURRENCY_ITALIAN_LIRA "Lire italienne"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franc luxembourgeois"
IDS_CURRENCY_MALTESE_LIRA "Lire maltaise"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo portugaise"

View File

@@ -493,12 +493,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "קורונה צ'כי"
IDS_CURRENCY_DEUTSCHE_MARK "מארק גרמני"
IDS_CURRENCY_DUTCH_GUILDER "גילדר הולנדי"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "אירו"
IDS_CURRENCY_FINNISH_MARKKA "מארקה פינית"
IDS_CURRENCY_FRENCH_FRANC "פרנק צרפתי"
IDS_CURRENCY_GREEK_DRACHMA "דרכמה יוונית"
IDS_CURRENCY_IRISH_POUND "לירה אירית"
IDS_CURRENCY_ITALIAN_LIRA "לירה איטלקית"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "פרנק לוקסמבורגי"
IDS_CURRENCY_MALTESE_LIRA "לירה מלטזי"
IDS_CURRENCY_PORTOGUESE_ESCUDO "אסקודו פורטגלי"

View File

@@ -499,12 +499,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Cseh korona"
IDS_CURRENCY_DEUTSCHE_MARK "Német márka"
IDS_CURRENCY_DUTCH_GUILDER "Holland gulden"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euró"
IDS_CURRENCY_FINNISH_MARKKA "Finn márka"
IDS_CURRENCY_FRENCH_FRANC "Francia frank"
IDS_CURRENCY_GREEK_DRACHMA "Görög drachma"
IDS_CURRENCY_IRISH_POUND "Ír font"
IDS_CURRENCY_ITALIAN_LIRA "Olasz líra"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxemburgi frank"
IDS_CURRENCY_MALTESE_LIRA "Máltai líra"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugál escudo"

View File

@@ -491,12 +491,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Corona ceca"
IDS_CURRENCY_DEUTSCHE_MARK "Marco tedesco"
IDS_CURRENCY_DUTCH_GUILDER "Fiorino olandese"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Markka finlandese"
IDS_CURRENCY_FRENCH_FRANC "Franco francese"
IDS_CURRENCY_GREEK_DRACHMA "Dracma greca"
IDS_CURRENCY_IRISH_POUND "Sterlina irlandese"
IDS_CURRENCY_ITALIAN_LIRA "Lira italiana"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franco Lussemburghese"
IDS_CURRENCY_MALTESE_LIRA "Lira maltese"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo portoghese"

View File

@@ -491,12 +491,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "チェコ コルナ"
IDS_CURRENCY_DEUTSCHE_MARK "ドイツ マルク"
IDS_CURRENCY_DUTCH_GUILDER "オランダ ギルダー"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "ユーロ"
IDS_CURRENCY_FINNISH_MARKKA "フィンランド マルッカ"
IDS_CURRENCY_FRENCH_FRANC "フランス フラン"
IDS_CURRENCY_GREEK_DRACHMA "ギリシャ ドラクマ"
IDS_CURRENCY_IRISH_POUND "アイルランド ポンド"
IDS_CURRENCY_ITALIAN_LIRA "イタリア リラ"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "ルクセンブルク フラン"
IDS_CURRENCY_MALTESE_LIRA "マルタ リラ"
IDS_CURRENCY_PORTOGUESE_ESCUDO "ポルトガル エスクード"

View File

@@ -493,12 +493,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Czech koruna"
IDS_CURRENCY_DEUTSCHE_MARK "Deutsche Mark"
IDS_CURRENCY_DUTCH_GUILDER "Dutch guilder"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Finnish markka"
IDS_CURRENCY_FRENCH_FRANC "French franc"
IDS_CURRENCY_GREEK_DRACHMA "Greek Drachma"
IDS_CURRENCY_IRISH_POUND "Irish pound"
IDS_CURRENCY_ITALIAN_LIRA "Italian lira"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portoguese escudo"

View File

@@ -491,12 +491,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Tsjechische kroon"
IDS_CURRENCY_DEUTSCHE_MARK "Duitse Mark"
IDS_CURRENCY_DUTCH_GUILDER "Nederlandse gulden"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Finse markka"
IDS_CURRENCY_FRENCH_FRANC "Franse franc"
IDS_CURRENCY_GREEK_DRACHMA "Griekse Drachma"
IDS_CURRENCY_IRISH_POUND "Ierse pound"
IDS_CURRENCY_ITALIAN_LIRA "Italiaanse lira"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxemburgse franc"
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugese escudo"

View File

@@ -491,12 +491,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Tsjekkisk koruna"
IDS_CURRENCY_DEUTSCHE_MARK "Tusk Mark"
IDS_CURRENCY_DUTCH_GUILDER "Nederlansk guilder"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Finisk markka"
IDS_CURRENCY_FRENCH_FRANC "Fransk franc"
IDS_CURRENCY_GREEK_DRACHMA "Gresk Drachma"
IDS_CURRENCY_IRISH_POUND "Irisk pound"
IDS_CURRENCY_ITALIAN_LIRA "Italiask lira"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Maltesisk lira"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portogisisk escudo"

View File

@@ -500,12 +500,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Czeska korona"
IDS_CURRENCY_DEUTSCHE_MARK "Niemiecka marka"
IDS_CURRENCY_DUTCH_GUILDER "Holenderki gulden"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Fińska marka"
IDS_CURRENCY_FRENCH_FRANC "Francuski frank"
IDS_CURRENCY_GREEK_DRACHMA "Grecka drachma"
IDS_CURRENCY_IRISH_POUND "Irlandzki funt"
IDS_CURRENCY_ITALIAN_LIRA "Włoskie liry"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luksemburski frank"
IDS_CURRENCY_MALTESE_LIRA "Maltańskie liry"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugalskie escudo"

View File

@@ -493,12 +493,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Coroa checa"
IDS_CURRENCY_DEUTSCHE_MARK "Marco alemão"
IDS_CURRENCY_DUTCH_GUILDER "Florim neerlandês"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Marco finlandês"
IDS_CURRENCY_FRENCH_FRANC "Franco francês"
IDS_CURRENCY_GREEK_DRACHMA "Dracma"
IDS_CURRENCY_IRISH_POUND "Libra irlandesa"
IDS_CURRENCY_ITALIAN_LIRA "Lira italiana"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franco luxemburguês"
IDS_CURRENCY_MALTESE_LIRA "Lira maltesa"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo português"

View File

@@ -496,12 +496,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Coroană cehă"
IDS_CURRENCY_DEUTSCHE_MARK "Marcă nemțească"
IDS_CURRENCY_DUTCH_GUILDER "Guilder olandez"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Marcă finlandeză"
IDS_CURRENCY_FRENCH_FRANC "Franc framcez"
IDS_CURRENCY_GREEK_DRACHMA "Drahmă grecească"
IDS_CURRENCY_IRISH_POUND "Liră irlandeză"
IDS_CURRENCY_ITALIAN_LIRA "Liră italiană"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franc luxemburghez"
IDS_CURRENCY_MALTESE_LIRA "Litră malteză"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo portughez"

View File

@@ -491,12 +491,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Чешская крона"
IDS_CURRENCY_DEUTSCHE_MARK "Немецкая марка"
IDS_CURRENCY_DUTCH_GUILDER "Голландский гульден"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Евро"
IDS_CURRENCY_FINNISH_MARKKA "Финская марка"
IDS_CURRENCY_FRENCH_FRANC "Французский франк"
IDS_CURRENCY_GREEK_DRACHMA "Греческая драхма"
IDS_CURRENCY_IRISH_POUND "Ирландский фунт"
IDS_CURRENCY_ITALIAN_LIRA "Итальянская лира"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Люксембургский франк"
IDS_CURRENCY_MALTESE_LIRA "Мальтийская лира"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Португальское эскудо"

View File

@@ -498,12 +498,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Česká koruna"
IDS_CURRENCY_DEUTSCHE_MARK "Nemecká marka"
IDS_CURRENCY_DUTCH_GUILDER "Holandský gulden"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Fínska marka"
IDS_CURRENCY_FRENCH_FRANC "Francúzsky frank"
IDS_CURRENCY_GREEK_DRACHMA "Grécka drachma"
IDS_CURRENCY_IRISH_POUND "Írska libra"
IDS_CURRENCY_ITALIAN_LIRA "Talianská líra"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxemburský frank"
IDS_CURRENCY_MALTESE_LIRA "Maltská líra"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugalské escudo"

View File

@@ -495,12 +495,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Koruna Czech"
IDS_CURRENCY_DEUTSCHE_MARK "Deutsche Mark"
IDS_CURRENCY_DUTCH_GUILDER "Deutsche Mark"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Finnish marka"
IDS_CURRENCY_FRENCH_FRANC "Franga Franceze"
IDS_CURRENCY_GREEK_DRACHMA "Drachma Greeke"
IDS_CURRENCY_IRISH_POUND "Poundi irlandes"
IDS_CURRENCY_ITALIAN_LIRA "Lira Italiane"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Lira Maltese"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo Portugez"

View File

@@ -498,12 +498,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Tjeckisk koruna"
IDS_CURRENCY_DEUTSCHE_MARK "Tysk Mark"
IDS_CURRENCY_DUTCH_GUILDER "Nederlänsk guilder"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Finisk mark"
IDS_CURRENCY_FRENCH_FRANC "Fransk franc"
IDS_CURRENCY_GREEK_DRACHMA "Gresk Drachma"
IDS_CURRENCY_IRISH_POUND "Irisk pound"
IDS_CURRENCY_ITALIAN_LIRA "Italiask lire"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Maltesisk lire"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portogisisk escudo"

View File

@@ -491,12 +491,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Czech koruna"
IDS_CURRENCY_DEUTSCHE_MARK "Deutsche Mark"
IDS_CURRENCY_DUTCH_GUILDER "Dutch guilder"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "ยูโร"
IDS_CURRENCY_FINNISH_MARKKA "Finnish markka"
IDS_CURRENCY_FRENCH_FRANC "French franc"
IDS_CURRENCY_GREEK_DRACHMA "Greek Drachma"
IDS_CURRENCY_IRISH_POUND "Irish pound"
IDS_CURRENCY_ITALIAN_LIRA "Italian lira"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portoguese escudo"

View File

@@ -493,12 +493,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Çek Korunası"
IDS_CURRENCY_DEUTSCHE_MARK "Alman Markı"
IDS_CURRENCY_DUTCH_GUILDER "Hollanda Guilderi"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Avro"
IDS_CURRENCY_FINNISH_MARKKA "Fin Markkası"
IDS_CURRENCY_FRENCH_FRANC "Fransız Frangı"
IDS_CURRENCY_GREEK_DRACHMA "Yunan Drahmisi"
IDS_CURRENCY_IRISH_POUND "İrlanda Pondu"
IDS_CURRENCY_ITALIAN_LIRA "İtalyan Lirası"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Lüksemburg Frangı"
IDS_CURRENCY_MALTESE_LIRA "Malta Lirası"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portekiz Esküdosu"

View File

@@ -499,12 +499,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Чешська крона"
IDS_CURRENCY_DEUTSCHE_MARK "Немецька марка"
IDS_CURRENCY_DUTCH_GUILDER "Голандський гульден"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Євро"
IDS_CURRENCY_FINNISH_MARKKA "Фінська марка"
IDS_CURRENCY_FRENCH_FRANC "Французський франк"
IDS_CURRENCY_GREEK_DRACHMA "Грецька драхма"
IDS_CURRENCY_IRISH_POUND "Ірландський фунт"
IDS_CURRENCY_ITALIAN_LIRA "Італьянськая ліра"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Люксембургський франк"
IDS_CURRENCY_MALTESE_LIRA "Мальтийськая ліра"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Португальське ескудо"

View File

@@ -493,12 +493,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "捷克克朗"
IDS_CURRENCY_DEUTSCHE_MARK "德国马克"
IDS_CURRENCY_DUTCH_GUILDER "荷兰盾"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "欧元"
IDS_CURRENCY_FINNISH_MARKKA "芬兰马克"
IDS_CURRENCY_FRENCH_FRANC "法郎"
IDS_CURRENCY_GREEK_DRACHMA "希腊德拉克马"
IDS_CURRENCY_IRISH_POUND "爱尔兰镑"
IDS_CURRENCY_ITALIAN_LIRA "意大利里拉"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "卢森堡法郎"
IDS_CURRENCY_MALTESE_LIRA "马耳他里拉"
IDS_CURRENCY_PORTOGUESE_ESCUDO "葡萄牙埃斯库多"

View File

@@ -171,18 +171,21 @@
#define IDS_CURRENCY_CZECH_KORUNA 2403
#define IDS_CURRENCY_DEUTSCHE_MARK 2404
#define IDS_CURRENCY_DUTCH_GUILDER 2405
#define IDS_CURRENCY_EURO 2406
#define IDS_CURRENCY_FINNISH_MARKKA 2407
#define IDS_CURRENCY_FRENCH_FRANC 2408
#define IDS_CURRENCY_GREEK_DRACHMA 2409
#define IDS_CURRENCY_IRISH_POUND 2410
#define IDS_CURRENCY_ITALIAN_LIRA 2411
#define IDS_CURRENCY_LUXEMBOURG_FRANC 2412
#define IDS_CURRENCY_MALTESE_LIRA 2413
#define IDS_CURRENCY_PORTOGUESE_ESCUDO 2414
#define IDS_CURRENCY_SLOVAK_KORUNA 2415
#define IDS_CURRENCY_SLOVENIAN_TOLAR 2416
#define IDS_CURRENCY_SPANISH_PESETA 2417
#define IDS_CURRENCY_ESTONIAN_KROON 2406
#define IDS_CURRENCY_EURO 2407
#define IDS_CURRENCY_FINNISH_MARKKA 2408
#define IDS_CURRENCY_FRENCH_FRANC 2409
#define IDS_CURRENCY_GREEK_DRACHMA 2410
#define IDS_CURRENCY_IRISH_POUND 2411
#define IDS_CURRENCY_ITALIAN_LIRA 2412
#define IDS_CURRENCY_LATVIAN_LATS 2413
#define IDS_CURRENCY_LITHUANIAN_LITAS 2414
#define IDS_CURRENCY_LUXEMBOURG_FRANC 2415
#define IDS_CURRENCY_MALTESE_LIRA 2416
#define IDS_CURRENCY_PORTOGUESE_ESCUDO 2417
#define IDS_CURRENCY_SLOVAK_KORUNA 2418
#define IDS_CURRENCY_SLOVENIAN_TOLAR 2419
#define IDS_CURRENCY_SPANISH_PESETA 2420
/* TYPES OF ENERGIES */
#define IDS_ENERGY_15_C_CALORIES 2500

View File

@@ -4,6 +4,7 @@
#include <wingdi.h>
#include <winreg.h>
#include <shellapi.h>
#include <commctrl.h>
#define HTMLHELP_PATH(_pt) TEXT("%systemroot%\\Help\\calc.chm::") TEXT(_pt)
@@ -1785,6 +1786,8 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
MSG msg;
DWORD dwLayout;
InitCommonControls();
calc.hInstance = hInstance;
calc.x_coord = -1;

View File

@@ -1,3 +1,4 @@
add_subdirectory(at)
add_subdirectory(clip)
add_subdirectory(comp)
add_subdirectory(cscript)

View File

@@ -0,0 +1,8 @@
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/conutils)
add_executable(at at.c at.rc)
set_module_type(at win32cui UNICODE)
target_link_libraries(at conutils ${PSEH_LIB})
add_importlibs(at msvcrt kernel32 user32 netapi32)
add_cd_file(TARGET at DESTINATION reactos/system32 FOR all)

View File

@@ -0,0 +1,936 @@
/*
* PROJECT: ReactOS AT utility
* COPYRIGHT: See COPYING in the top level directory
* FILE: base/applications/cmdutils/at/at.c
* PURPOSE: ReactOS AT utility
* PROGRAMMERS: Eric Kohl <eric.kohl@reactos.org>
*/
#include <stdlib.h>
#include <stdio.h>
#include <windef.h>
#include <winbase.h>
#include <winuser.h>
#include <wincon.h>
#include <winnls.h>
#include <lm.h>
#include <conutils.h>
#include "resource.h"
PWSTR pszDaysOfWeekArray[7] = {NULL, NULL, NULL, NULL, NULL, NULL, NULL};
static
VOID
FreeDaysOfWeekArray(VOID)
{
INT i;
for (i = 0; i < 7; i++)
{
if (pszDaysOfWeekArray[i] != NULL)
HeapFree(GetProcessHeap(), 0, pszDaysOfWeekArray[i]);
}
}
static
BOOL
InitDaysOfWeekArray(VOID)
{
INT i, nLength;
for (i = 0; i < 7; i++)
{
nLength = GetLocaleInfo(LOCALE_USER_DEFAULT,
LOCALE_SABBREVDAYNAME1 + i,
NULL,
0);
pszDaysOfWeekArray[i] = HeapAlloc(GetProcessHeap(),
HEAP_ZERO_MEMORY,
nLength * sizeof(WCHAR));
if (pszDaysOfWeekArray[i] == NULL)
{
FreeDaysOfWeekArray();
return FALSE;
}
GetLocaleInfo(LOCALE_USER_DEFAULT,
LOCALE_SABBREVDAYNAME1 + i,
pszDaysOfWeekArray[i],
nLength);
}
return TRUE;
}
static
BOOL
ParseTime(
PWSTR pszTime,
PULONG pulJobHour,
PULONG pulJobMinute)
{
WCHAR szHour[3], szMinute[3], szAmPm[5];
PWSTR startPtr, endPtr;
ULONG ulHour = 0, ulMinute = 0;
INT nLength;
if (pszTime == NULL)
return FALSE;
startPtr = pszTime;
/* Extract the hour string */
nLength = 0;
while (*startPtr != L'\0' && iswdigit(*startPtr))
{
if (nLength >= 2)
return FALSE;
szHour[nLength] = *startPtr;
nLength++;
startPtr++;
}
szHour[nLength] = L'\0';
/* Check for a valid time separator */
if (*startPtr != L':')
return FALSE;
/* Skip the time separator */
startPtr++;
/* Extract the minute string */
nLength = 0;
while (*startPtr != L'\0' && iswdigit(*startPtr))
{
if (nLength >= 2)
return FALSE;
szMinute[nLength] = *startPtr;
nLength++;
startPtr++;
}
szMinute[nLength] = L'\0';
/* Extract the optional AM/PM indicator string */
nLength = 0;
while (*startPtr != L'\0')
{
if (nLength >= 4)
return FALSE;
if (!iswspace(*startPtr))
{
szAmPm[nLength] = *startPtr;
nLength++;
}
startPtr++;
}
szAmPm[nLength] = L'\0';
/* Convert the hour string */
ulHour = wcstoul(szHour, &endPtr, 10);
if (ulHour == 0 && *endPtr != UNICODE_NULL)
return FALSE;
/* Convert the minute string */
ulMinute = wcstoul(szMinute, &endPtr, 10);
if (ulMinute == 0 && *endPtr != UNICODE_NULL)
return FALSE;
/* Check for valid AM/PM indicator */
if (wcslen(szAmPm) > 0 &&
_wcsicmp(szAmPm, L"a") != 0 &&
_wcsicmp(szAmPm, L"am") != 0 &&
_wcsicmp(szAmPm, L"p") != 0 &&
_wcsicmp(szAmPm, L"pm") != 0)
return FALSE;
/* Check for the valid minute range [0-59] */
if (ulMinute > 59)
return FALSE;
if (wcslen(szAmPm) > 0)
{
/* 12 hour time format */
/* Check for the valid hour range [1-12] */
if (ulHour == 0 || ulHour > 12)
return FALSE;
/* Convert 12 hour format to 24 hour format */
if (_wcsicmp(szAmPm, L"a") == 0 ||
_wcsicmp(szAmPm, L"am") == 0)
{
if (ulHour == 12)
ulHour = 0;
}
else
{
if (ulHour >= 1 && ulHour <= 11)
ulHour += 12;
}
}
else
{
/* 24 hour time format */
/* Check for the valid hour range [0-23] */
if (ulHour > 23)
return FALSE;
}
if (pulJobHour != NULL)
*pulJobHour = ulHour;
if (pulJobMinute != NULL)
*pulJobMinute = ulMinute;
return TRUE;
}
static
BOOL
ParseId(
PWSTR pszId,
PULONG pulId)
{
PWSTR startPtr, endPtr;
ULONG ulId = 0;
BOOL bResult = FALSE;
startPtr = pszId;
endPtr = NULL;
ulId = wcstoul(startPtr, &endPtr, 10);
if (endPtr != NULL && *endPtr == UNICODE_NULL)
{
bResult = TRUE;
if (pulId != NULL)
*pulId = ulId;
}
return bResult;
}
static
BOOL
ParseDaysOfMonth(
PWSTR pszBuffer,
PULONG pulDaysOfMonth)
{
PWSTR startPtr, endPtr;
ULONG ulValue;
if (wcslen(pszBuffer) == 0)
return FALSE;
startPtr = pszBuffer;
endPtr = NULL;
for (;;)
{
ulValue = wcstoul(startPtr, &endPtr, 10);
if (ulValue == 0)
return FALSE;
if (ulValue > 0 && ulValue <= 31)
*pulDaysOfMonth |= (1 << (ulValue - 1));
if (endPtr != NULL && *endPtr == UNICODE_NULL)
return TRUE;
startPtr = endPtr + 1;
endPtr = NULL;
}
return FALSE;
}
static
BOOL
ParseDaysOfWeek(
PWSTR pszBuffer,
PUCHAR pucDaysOfWeek)
{
PWSTR startPtr, endPtr;
INT nLength, i;
if (wcslen(pszBuffer) == 0)
return FALSE;
startPtr = pszBuffer;
endPtr = NULL;
for (;;)
{
endPtr = wcschr(startPtr, L',');
if (endPtr == NULL)
nLength = wcslen(startPtr);
else
nLength = (INT)((ULONG_PTR)endPtr - (ULONG_PTR)startPtr) / sizeof(WCHAR);
for (i = 0; i < 7; i++)
{
if (nLength == wcslen(pszDaysOfWeekArray[i]) &&
_wcsnicmp(startPtr, pszDaysOfWeekArray[i], nLength) == 0)
{
*pucDaysOfWeek |= (1 << i);
break;
}
}
if (endPtr == NULL)
return TRUE;
startPtr = endPtr + 1;
endPtr = NULL;
}
return FALSE;
}
static
VOID
PrintErrorMessage(
DWORD dwError)
{
PWSTR pszBuffer = NULL;
FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
dwError,
0,
(PWSTR)&pszBuffer,
0,
NULL);
ConPrintf(StdErr, L"%s\n", pszBuffer);
LocalFree(pszBuffer);
}
static
VOID
PrintHorizontalLine(VOID)
{
WCHAR szBuffer[80];
INT i;
for (i = 0; i < 79; i++)
szBuffer[i] = L'-';
szBuffer[79] = UNICODE_NULL;
ConPrintf(StdOut, L"%s\n", szBuffer);
}
static
BOOL
Confirm(VOID)
{
HINSTANCE hInstance;
WCHAR szYesBuffer[8];
WCHAR szNoBuffer[8];
WCHAR szInput[80];
DWORD dwOldMode;
DWORD dwRead = 0;
BOOL ret = FALSE;
HANDLE hFile;
hInstance = GetModuleHandleW(NULL);
LoadStringW(hInstance, IDS_CONFIRM_YES, szYesBuffer, _countof(szYesBuffer));
LoadStringW(hInstance, IDS_CONFIRM_NO, szNoBuffer, _countof(szNoBuffer));
ZeroMemory(szInput, sizeof(szInput));
hFile = GetStdHandle(STD_INPUT_HANDLE);
GetConsoleMode(hFile, &dwOldMode);
SetConsoleMode(hFile, ENABLE_LINE_INPUT | ENABLE_ECHO_INPUT);
for (;;)
{
ConResPrintf(StdOut, IDS_CONFIRM_QUESTION);
ReadConsoleW(hFile, szInput, _countof(szInput), &dwRead, NULL);
szInput[0] = towupper(szInput[0]);
if (szInput[0] == szYesBuffer[0])
{
ret = TRUE;
break;
}
else if (szInput[0] == 13 || szInput[0] == szNoBuffer[0])
{
ret = FALSE;
break;
}
ConResPrintf(StdOut, IDS_CONFIRM_INVALID);
}
SetConsoleMode(hFile, dwOldMode);
return ret;
}
static
DWORD_PTR
GetTimeAsJobTime(VOID)
{
SYSTEMTIME Time;
DWORD_PTR JobTime;
GetLocalTime(&Time);
JobTime = (DWORD_PTR)Time.wHour * 3600000 +
(DWORD_PTR)Time.wMinute * 60000;
return JobTime;
}
static
ULONG
GetCurrentDayOfMonth(VOID)
{
SYSTEMTIME Time;
GetLocalTime(&Time);
return 1UL << (Time.wDay - 1);
}
static
VOID
JobTimeToTimeString(
PWSTR pszBuffer,
INT cchBuffer,
WORD wHour,
WORD wMinute)
{
SYSTEMTIME Time = {0, 0, 0, 0, 0, 0, 0, 0};
Time.wHour = wHour;
Time.wMinute = wMinute;
GetTimeFormat(LOCALE_USER_DEFAULT,
TIME_NOSECONDS,
&Time,
NULL,
pszBuffer,
cchBuffer);
}
static
INT
PrintJobDetails(
PWSTR pszComputerName,
ULONG ulJobId)
{
PAT_INFO pBuffer = NULL;
DWORD_PTR CurrentTime;
WCHAR szStatusBuffer[16];
WCHAR szScheduleBuffer[60];
WCHAR szTimeBuffer[16];
WCHAR szInteractiveBuffer[16];
WCHAR szDateBuffer[8];
INT i, nDateLength, nScheduleLength;
HINSTANCE hInstance;
NET_API_STATUS Status;
Status = NetScheduleJobGetInfo(pszComputerName,
ulJobId,
(PBYTE *)&pBuffer);
if (Status != NERR_Success)
{
PrintErrorMessage(Status);
return 1;
}
hInstance = GetModuleHandle(NULL);
if (pBuffer->Flags & JOB_EXEC_ERROR)
LoadStringW(hInstance, IDS_ERROR, szStatusBuffer, _countof(szStatusBuffer));
else
LoadStringW(hInstance, IDS_OK, szStatusBuffer, _countof(szStatusBuffer));
if (pBuffer->DaysOfMonth != 0)
{
if (pBuffer->Flags & JOB_RUN_PERIODICALLY)
LoadStringW(hInstance, IDS_EVERY, szScheduleBuffer, _countof(szScheduleBuffer));
else
LoadStringW(hInstance, IDS_NEXT, szScheduleBuffer, _countof(szScheduleBuffer));
nScheduleLength = wcslen(szScheduleBuffer);
for (i = 0; i < 31; i++)
{
if (pBuffer->DaysOfMonth & (1 << i))
{
swprintf(szDateBuffer, L" %d", i + 1);
nDateLength = wcslen(szDateBuffer);
if (nScheduleLength + nDateLength <= 55)
{
wcscat(szScheduleBuffer, szDateBuffer);
nScheduleLength += nDateLength;
}
else
{
wcscat(szScheduleBuffer, L"...");
break;
}
}
}
}
else if (pBuffer->DaysOfWeek != 0)
{
if (pBuffer->Flags & JOB_RUN_PERIODICALLY)
LoadStringW(hInstance, IDS_EVERY, szScheduleBuffer, _countof(szScheduleBuffer));
else
LoadStringW(hInstance, IDS_NEXT, szScheduleBuffer, _countof(szScheduleBuffer));
nScheduleLength = wcslen(szScheduleBuffer);
for (i = 0; i < 7; i++)
{
if (pBuffer->DaysOfWeek & (1 << i))
{
swprintf(szDateBuffer, L" %s", pszDaysOfWeekArray[i]);
nDateLength = wcslen(szDateBuffer);
if (nScheduleLength + nDateLength <= 55)
{
wcscat(szScheduleBuffer, szDateBuffer);
nScheduleLength += nDateLength;
}
else
{
wcscat(szScheduleBuffer, L"...");
break;
}
}
}
}
else
{
CurrentTime = GetTimeAsJobTime();
if (CurrentTime > pBuffer->JobTime)
LoadStringW(hInstance, IDS_TOMORROW, szScheduleBuffer, _countof(szScheduleBuffer));
else
LoadStringW(hInstance, IDS_TODAY, szScheduleBuffer, _countof(szScheduleBuffer));
}
JobTimeToTimeString(szTimeBuffer,
_countof(szTimeBuffer),
(WORD)(pBuffer->JobTime / 3600000),
(WORD)((pBuffer->JobTime % 3600000) / 60000));
if (pBuffer->Flags & JOB_NONINTERACTIVE)
LoadStringW(hInstance, IDS_NO, szInteractiveBuffer, _countof(szInteractiveBuffer));
else
LoadStringW(hInstance, IDS_YES, szInteractiveBuffer, _countof(szInteractiveBuffer));
ConResPrintf(StdOut, IDS_TASKID, ulJobId);
ConResPrintf(StdOut, IDS_STATUS, szStatusBuffer);
ConResPrintf(StdOut, IDS_SCHEDULE, szScheduleBuffer);
ConResPrintf(StdOut, IDS_TIME, szTimeBuffer);
ConResPrintf(StdOut, IDS_INTERACTIVE, szInteractiveBuffer);
ConResPrintf(StdOut, IDS_COMMAND, pBuffer->Command);
NetApiBufferFree(pBuffer);
return 0;
}
static
INT
PrintAllJobs(
PWSTR pszComputerName)
{
PAT_ENUM pBuffer = NULL;
DWORD dwRead = 0, dwTotal = 0;
DWORD dwResume = 0, i;
DWORD_PTR CurrentTime;
NET_API_STATUS Status;
WCHAR szScheduleBuffer[32];
WCHAR szTimeBuffer[16];
WCHAR szDateBuffer[8];
HINSTANCE hInstance;
INT j, nDateLength, nScheduleLength;
Status = NetScheduleJobEnum(pszComputerName,
(PBYTE *)&pBuffer,
MAX_PREFERRED_LENGTH,
&dwRead,
&dwTotal,
&dwResume);
if (Status != NERR_Success)
{
PrintErrorMessage(Status);
return 1;
}
if (dwTotal == 0)
{
ConResPrintf(StdOut, IDS_NO_ENTRIES);
return 0;
}
ConResPrintf(StdOut, IDS_JOBS_LIST);
PrintHorizontalLine();
hInstance = GetModuleHandle(NULL);
for (i = 0; i < dwRead; i++)
{
if (pBuffer[i].DaysOfMonth != 0)
{
if (pBuffer[i].Flags & JOB_RUN_PERIODICALLY)
LoadStringW(hInstance, IDS_EVERY, szScheduleBuffer, _countof(szScheduleBuffer));
else
LoadStringW(hInstance, IDS_NEXT, szScheduleBuffer, _countof(szScheduleBuffer));
nScheduleLength = wcslen(szScheduleBuffer);
for (j = 0; j < 31; j++)
{
if (pBuffer[i].DaysOfMonth & (1 << j))
{
swprintf(szDateBuffer, L" %d", j + 1);
nDateLength = wcslen(szDateBuffer);
if (nScheduleLength + nDateLength <= 19)
{
wcscat(szScheduleBuffer, szDateBuffer);
nScheduleLength += nDateLength;
}
else
{
wcscat(szScheduleBuffer, L"...");
break;
}
}
}
}
else if (pBuffer[i].DaysOfWeek != 0)
{
if (pBuffer[i].Flags & JOB_RUN_PERIODICALLY)
LoadStringW(hInstance, IDS_EVERY, szScheduleBuffer, _countof(szScheduleBuffer));
else
LoadStringW(hInstance, IDS_NEXT, szScheduleBuffer, _countof(szScheduleBuffer));
nScheduleLength = wcslen(szScheduleBuffer);
for (j = 0; j < 7; j++)
{
if (pBuffer[i].DaysOfWeek & (1 << j))
{
swprintf(szDateBuffer, L" %s", pszDaysOfWeekArray[j]);
nDateLength = wcslen(szDateBuffer);
if (nScheduleLength + nDateLength <= 55)
{
wcscat(szScheduleBuffer, szDateBuffer);
nScheduleLength += nDateLength;
}
else
{
wcscat(szScheduleBuffer, L"...");
break;
}
}
}
}
else
{
CurrentTime = GetTimeAsJobTime();
if (CurrentTime > pBuffer[i].JobTime)
LoadStringW(hInstance, IDS_TOMORROW, szScheduleBuffer, _countof(szScheduleBuffer));
else
LoadStringW(hInstance, IDS_TODAY, szScheduleBuffer, _countof(szScheduleBuffer));
}
JobTimeToTimeString(szTimeBuffer,
_countof(szTimeBuffer),
(WORD)(pBuffer[i].JobTime / 3600000),
(WORD)((pBuffer[i].JobTime % 3600000) / 60000));
ConPrintf(StdOut,
L" %6lu %-21s %-11s %s\n",
pBuffer[i].JobId,
szScheduleBuffer,
szTimeBuffer,
pBuffer[i].Command);
}
NetApiBufferFree(pBuffer);
return 0;
}
static
INT
AddJob(
PWSTR pszComputerName,
ULONG ulJobHour,
ULONG ulJobMinute,
ULONG ulDaysOfMonth,
UCHAR ucDaysOfWeek,
BOOL bInteractiveJob,
BOOL bPeriodicJob,
PWSTR pszCommand)
{
AT_INFO InfoBuffer;
ULONG ulJobId = 0;
NET_API_STATUS Status;
InfoBuffer.JobTime = (DWORD_PTR)ulJobHour * 3600000 +
(DWORD_PTR)ulJobMinute * 60000;
InfoBuffer.DaysOfMonth = ulDaysOfMonth;
InfoBuffer.DaysOfWeek = ucDaysOfWeek;
InfoBuffer.Flags = (bInteractiveJob ? 0 : JOB_NONINTERACTIVE) |
(bPeriodicJob ? JOB_RUN_PERIODICALLY : 0);
InfoBuffer.Command = pszCommand;
Status = NetScheduleJobAdd(pszComputerName,
(PBYTE)&InfoBuffer,
&ulJobId);
if (Status != NERR_Success)
{
PrintErrorMessage(Status);
return 1;
}
ConResPrintf(StdOut, IDS_NEW_JOB, ulJobId);
return 0;
}
static
INT
DeleteJob(
PWSTR pszComputerName,
ULONG ulJobId,
BOOL bForceDelete)
{
NET_API_STATUS Status;
if (ulJobId == (ULONG)-1 && bForceDelete == FALSE)
{
ConResPrintf(StdOut, IDS_DELETE_ALL);
if (!Confirm())
return 0;
}
Status = NetScheduleJobDel(pszComputerName,
(ulJobId == (ULONG)-1) ? 0 : ulJobId,
(ulJobId == (ULONG)-1) ? -1 : ulJobId);
if (Status != NERR_Success)
{
PrintErrorMessage(Status);
return 1;
}
return 0;
}
int wmain(int argc, WCHAR **argv)
{
PWSTR pszComputerName = NULL;
PWSTR pszCommand = NULL;
ULONG ulJobId = (ULONG)-1;
ULONG ulJobHour = (ULONG)-1;
ULONG ulJobMinute = (ULONG)-1;
BOOL bDeleteJob = FALSE, bForceDelete = FALSE;
BOOL bInteractiveJob = FALSE, bPeriodicJob = FALSE;
BOOL bPrintUsage = FALSE;
ULONG ulDaysOfMonth = 0;
UCHAR ucDaysOfWeek = 0;
INT nResult = 0;
INT i, minIdx;
/* Initialize the Console Standard Streams */
ConInitStdStreams();
if (!InitDaysOfWeekArray())
return 1;
/* Parse the computer name */
i = 1;
minIdx = 1;
if (i < argc &&
argv[i][0] == L'\\' &&
argv[i][1] == L'\\')
{
pszComputerName = argv[i];
i++;
minIdx++;
}
/* Parse the time or job id */
if (i < argc && argv[i][0] != L'/')
{
if (ParseTime(argv[i], &ulJobHour, &ulJobMinute))
{
i++;
minIdx++;
}
else if (ParseId(argv[i], &ulJobId))
{
i++;
minIdx++;
}
}
/* Parse the options */
for (; i < argc; i++)
{
if (argv[i][0] == L'/')
{
if (_wcsicmp(argv[i], L"/?") == 0)
{
bPrintUsage = TRUE;
goto done;
}
else if (_wcsicmp(argv[i], L"/delete") == 0)
{
bDeleteJob = TRUE;
}
else if (_wcsicmp(argv[i], L"/yes") == 0)
{
bForceDelete = TRUE;
}
else if (_wcsicmp(argv[i], L"/interactive") == 0)
{
bInteractiveJob = TRUE;
}
else if (_wcsnicmp(argv[i], L"/every:", 7) == 0)
{
bPeriodicJob = TRUE;
if (ParseDaysOfMonth(&(argv[i][7]), &ulDaysOfMonth) == FALSE)
{
if (ParseDaysOfWeek(&(argv[i][7]), &ucDaysOfWeek) == FALSE)
{
ulDaysOfMonth = GetCurrentDayOfMonth();
}
}
}
else if (_wcsnicmp(argv[i], L"/next:", 6) == 0)
{
bPeriodicJob = FALSE;
if (ParseDaysOfMonth(&(argv[i][6]), &ulDaysOfMonth) == FALSE)
{
if (ParseDaysOfWeek(&(argv[i][6]), &ucDaysOfWeek) == FALSE)
{
ulDaysOfMonth = GetCurrentDayOfMonth();
}
}
}
else
{
bPrintUsage = TRUE;
nResult = 1;
goto done;
}
}
}
/* Parse the command */
if (argc > minIdx && argv[argc - 1][0] != L'/')
{
pszCommand = argv[argc - 1];
}
if (bDeleteJob == TRUE)
{
/* Check for invalid options or arguments */
if (bInteractiveJob == TRUE ||
ulJobHour != (ULONG)-1 ||
ulJobMinute != (ULONG)-1 ||
ulDaysOfMonth != 0 ||
ucDaysOfWeek != 0 ||
pszCommand != NULL)
{
bPrintUsage = TRUE;
nResult = 1;
goto done;
}
nResult = DeleteJob(pszComputerName,
ulJobId,
bForceDelete);
}
else
{
if (ulJobHour != (ULONG)-1 && ulJobMinute != (ULONG)-1)
{
/* Check for invalid options or arguments */
if (bForceDelete == TRUE ||
pszCommand == NULL)
{
bPrintUsage = TRUE;
nResult = 1;
goto done;
}
nResult = AddJob(pszComputerName,
ulJobHour,
ulJobMinute,
ulDaysOfMonth,
ucDaysOfWeek,
bInteractiveJob,
bPeriodicJob,
pszCommand);
}
else
{
/* Check for invalid options or arguments */
if (bForceDelete == TRUE ||
bInteractiveJob == TRUE ||
ulDaysOfMonth != 0 ||
ucDaysOfWeek != 0 ||
pszCommand != NULL)
{
bPrintUsage = TRUE;
nResult = 1;
goto done;
}
if (ulJobId == (ULONG)-1)
{
nResult = PrintAllJobs(pszComputerName);
}
else
{
nResult = PrintJobDetails(pszComputerName,
ulJobId);
}
}
}
done:
FreeDaysOfWeekArray();
if (bPrintUsage == TRUE)
ConResPuts(StdOut, IDS_USAGE);
return nResult;
}
/* EOF */

View File

@@ -0,0 +1,26 @@
#include <windef.h>
#include "resource.h"
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS AT Command"
#define REACTOS_STR_INTERNAL_NAME "at"
#define REACTOS_STR_ORIGINAL_FILENAME "at.exe"
#include <reactos/version.rc>
/* UTF-8 */
#pragma code_page(65001)
#ifdef LANGUAGE_DE_DE
#include "lang/de-DE.rc"
#endif
#ifdef LANGUAGE_EN_US
#include "lang/en-US.rc"
#endif
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#endif
#ifdef LANGUAGE_RU_RU
#include "lang/ru-RU.rc"
#endif
#ifdef LANGUAGE_TR_TR
#include "lang/tr-TR.rc"
#endif

View File

@@ -0,0 +1,57 @@
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Mit dem AT Befehl können Befehle und Programme zu einem vorbestimmten\n\
Termin gestartet werden. Der Zeitplandienst muss gestartet sein, um den\n\
Befehl AT zu verwenden.\n\n\
AT [\\\\Computername] [ [Kennung] [/DELETE] | /DELETE [/YES]]\n\
AT [\\\\Computername] Zeit [/INTERACTIVE]\n\
[ /EVERY:Datum[,...] | /NEXT:Datum[,...]] ""Befehl""\n\n\
\\\\Computername Gibt einen Remotecomputer an. Ohne diesen Parameter werden\n\
die Befehle auf dem lokalen Computer ausgeführt.\n\
Kennung Eine Identifikationsnummer, die dem geplanten Befehl\n\
zugeteilt wird.\n\
/DELETE Löscht geplante Befehle. Ohne Kennung werden alle geplanten\n\
Befehle auf dem Computer gelöscht.\n\
/YES In Verbindung mit /DELETE werden die geplanten Befehle ohne\n\
weitere Bestätiging gelöscht.\n\
Zeit Gibt die Zeit an, zu der ein Befehl ausgeführt werden soll.\n\
/INTERACTIVE Ermöglicht dem Aufrag, Eingaben von dem Benutzer\n\
anzunehmen, der angemeldet ist, wenn der Auftrag ausgeführt\n\
wird.\n\
/EVERY:Datum[,...] Führt den Befehl zu jedem der angegebenen Tage der Woche\n\
oder des Monats aus. Ohne Angabe eines Datums wird der\n\
aktuelle Tag des Monats angenommen.\n\
/NEXT:Datum[,...] Führt den Befehl am nächsten angegebenen Tage der Woche\n\
oder des Monats (z.B. nächsten Montag) aus. Ohne Angabe\n\
eines Datums wird der aktuelle Tag des Monats angenommen.\n\
""Befehl"" Ist der auszuführende Befehl oder das Stapelprogramm.\n"
IDS_DELETE_ALL "Dieser Vorgang wird alle geplanten Aufträge löschen.\n"
IDS_NEW_JOB "Neuer Auftrag hinzugefügt. Kennung = %lu\n"
IDS_JOBS_LIST "Statuskenn. Tag Zeit Befehlszeile\n"
IDS_NO_ENTRIES "Es sind keine Einträge in der Liste.\n"
IDS_CONFIRM_QUESTION "Möchten Sie diesen Vorgang fortsetzen? (J/N) [N]: "
IDS_CONFIRM_INVALID "\nDies ist eine ungültige Antwort.\n"
IDS_CONFIRM_YES "J"
IDS_CONFIRM_NO "N"
IDS_TODAY "Heute"
IDS_TOMORROW "Morgen"
IDS_EVERY "Jeden"
IDS_NEXT "Kommenden"
IDS_YES "Ja"
IDS_NO "Nein"
IDS_ERROR "ERROR"
IDS_OK "OK"
IDS_TASKID "Taskkennung: %lu\n"
IDS_STATUS "Status: %s\n"
IDS_SCHEDULE "Zeitplan: %s\n"
IDS_TIME "Zeit: %s\n"
IDS_INTERACTIVE "Interaktiv: %s\n"
IDS_COMMAND "Befehl: %s\n"
END

View File

@@ -0,0 +1,56 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
STRINGTABLE
BEGIN
IDS_USAGE "The AT command schedules commands and programs to run on a computer at\n\
a specified time and date. The Schedule service must be running to use\n\
the AT command.\n\n\
AT [\\\\computername] [ [id] [/DELETE] | /DELETE [/YES]]\n\
AT [\\\\computername] time [/INTERACTIVE]\n\
[ /EVERY:date[,...] | /NEXT:date[,...]] ""command""\n\n\
\\\\computername Specifies a remote computer. Commands are scheduled on the \n\
local computer if this parameter is omitted.\n\
id Is an identification number assigned to a scheduled\n\
command.\n\
/DELETE Cancels a scheduled command. If id is omitted, all the\n\
scheduled commands on the computer are canceled.\n\
/YES Used with cancel all jobs command when no further\n\
confirmation is desired.\n\
time Specifies the time when command is to run.\n\
/INTERACTIVE Allows the job to interact with the desktop of the user\n\
who is logged on at the time the job runs.\n\
/EVERY:date[,...] Runs the command on each specified day(s) of the week or\n\
month. If date is omitted, the current day of the month\n\
is assumed.\n\
/NEXT:date[,...] Runs the specified command on the next occurrence of the\n\
day (for example, next Thursday). If date is omitted, the \n\
current day of the month is assumed.\n\
""command"" Is the command or batch program to be run.\n"
IDS_DELETE_ALL "This operation will delete all scheduled jobs.\n"
IDS_NEW_JOB "Added a new job with job ID = %lu\n"
IDS_JOBS_LIST "Status ID Day Time Command Line\n"
IDS_NO_ENTRIES "There are no entries in the list.\n"
IDS_CONFIRM_QUESTION "Do you want to continue this operation? (Y/N) [N]: "
IDS_CONFIRM_INVALID "\nThis is an invalid response.\n"
IDS_CONFIRM_YES "Y"
IDS_CONFIRM_NO "N"
IDS_TODAY "Today"
IDS_TOMORROW "Tomorrow"
IDS_EVERY "Every"
IDS_NEXT "Next"
IDS_YES "Yes"
IDS_NO "No"
IDS_ERROR "ERROR"
IDS_OK "OK"
IDS_TASKID "Task ID: %lu\n"
IDS_STATUS "Status: %s\n"
IDS_SCHEDULE "Schedule: %s\n"
IDS_TIME "Time of day: %s\n"
IDS_INTERACTIVE "Interactive: %s\n"
IDS_COMMAND "Command: %s\n"
END

View File

@@ -0,0 +1,56 @@
/* Ștefan Fulea (stefan dot fulea at mail dot md) */
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Comanda AT planifică comenzi și programe pentru fi executate într-un\n\
calculator la o anumită dată și oră. Serviciul «Schedule» trebuie să fie\n\
pornit pentru a utiliza această comandă.\n\n\
AT [\\\\numecalculator] [ [id] [/DELETE] | /DELETE [/YES]]\n\
AT [\\\\numecalculator] timp [/INTERACTIVE]\n\
[ /EVERY:dată[,...] | /NEXT:dată[,...]] ""comandă""\n\n\
\\\\numecalculator Specifică un calculator la distanță. Fără acest\n\
parametru, planificarea va fi pentru calculatorul local.\n\
id Un număr de identificare atribuit comenzii planificate.\n\
/DELETE Anulează o comandă planificată. Fără acest parametru,\n\
vor fi anulate toate comenzile planificate.\n\
/YES Utilizat cu opțiunea «DELETE», pentru suprimarea cerințelor\n\
de confirmare a eliminărilor de comenzi planificate.\n\
timp Specifică timpul de lansare a comenzii.\n\
/INTERACTIVE Permite programelor să interacționeze cu utilizatorul\n\
autentificat la momentul execuției planificate.\n\
/EVERY:dată[,...] Execută comanda la ziua sau zilele specificate din fiecare\n\
săptămână sau lună. Dacă data este omisă, este considerată\n\
ziua curentă a lunii.\n\
/NEXT:dată[,...] Execută comanda în următoarea zi (spre exemplu marțea\n\
viitoare). Dacă data este omisă, e considerată ziua\n\
curentă a lunii.\n\
""comandă"" Numele comenzii sau programului pentru execuție.\n"
IDS_DELETE_ALL "Această operație va elimina planificarea pentru toate comenzile.\n"
IDS_NEW_JOB "A fost planificată o nouă activitate cu ID = %lu\n"
IDS_JOBS_LIST "ID stare Zi Oră Comanda\n"
IDS_NO_ENTRIES "Nu există comenzi planificate.\n"
IDS_CONFIRM_QUESTION "Sigur doriți continuarea acestei operații? (D|N) [N]: "
IDS_CONFIRM_INVALID "\nAcesta nu este un răspuns valid.\n"
IDS_CONFIRM_YES "D"
IDS_CONFIRM_NO "N"
IDS_TODAY "Astăzi"
IDS_TOMORROW "Mâine"
IDS_EVERY "În fiecare"
IDS_NEXT "În următoarea"
IDS_YES "Da"
IDS_NO "Nu"
IDS_ERROR "EROARE"
IDS_OK "OK"
IDS_TASKID "ID sarcină: %lu\n"
IDS_STATUS "Stare: %s\n"
IDS_SCHEDULE "Pentru: %s\n"
IDS_TIME "La ora: %s\n"
IDS_INTERACTIVE "Interactiv: %s\n"
IDS_COMMAND "Comandă: %s\n"
END

View File

@@ -0,0 +1,54 @@
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Команда AT предназначена для запуска команд и программ\n\
в указанное время по определенным дням. Для работы команды необходимо, чтобы\n\
была запущена служба планировщика (Schedule service).\n\n\
AT [\\\\имя_компьютера] [ [id] [/DELETE] | /DELETE [/YES]]\n\
AT [\\\\имя_компьютера] время [/INTERACTIVE]\n\
[ /EVERY:день[,...] | /NEXT:день[,...]] ""команда""\n\n\
\\\\имя_компьютера Имя удаленного компьютера. Если этот параметр не указан, \n\
используется локальный компьютер.\n\
id Порядковый номер запланированной задачи.\n\
/DELETE Отменяет запланированную команду. Если параметр id не указан, то\n\
все команды, запланированные на данном компьютере, будут отменены.\n\
/YES Отмена запроса на подтверждение при отмене всех\n\
запланированных задач.\n\
время Время запуска команды.\n\
/INTERACTIVE Разрешает взаимодействие задачи с пользователем,\n\
работающим на компьютере во время запуска задачи.\n\
/EVERY:день[,...] Задача будет выполняться каждый указанный день (дни) или\n\
месяц. Если дата не указана, используется текущий день \n\
месяца.\n\
/NEXT:день[,...] Задача будет запущена в следующий указанный день недели\n\
(например, в следующий четверг). Если дата не указана, то \n\
используется текущий день месяца.\n\
""команда"" Команда или имя пакетного файла для запуска.\n"
IDS_CONFIRM_QUESTION "Продолжить выполнение операции? (Y-да/N-нет) [N] "
IDS_CONFIRM_INVALID "\nНедопустимый ответ.\n"
IDS_CONFIRM_YES "Y"
IDS_CONFIRM_NO "N"
IDS_NEW_JOB "Добавлено новое задание с ID = %lu\n"
IDS_JOBS_LIST "Статус ID День Время Команда\n"
IDS_NO_ENTRIES "В списке нет запланированных задач.\n"
IDS_TODAY "Сегодня"
IDS_TOMORROW "Завтра"
IDS_EVERY "Каждый"
IDS_NEXT "Следующий"
IDS_YES "Да"
IDS_NO "Нет"
IDS_ERROR "ОШИБКА"
IDS_OK "ОК"
IDS_TASKID "ID задачи: %lu\n"
IDS_STATUS "Состояние: %s\n"
IDS_SCHEDULE "Расписание: %s\n"
IDS_TIME "Время суток: %s\n"
IDS_INTERACTIVE "Интерактивный: %s\n"
IDS_COMMAND "Команда: %s\n"
END

View File

@@ -0,0 +1,56 @@
/* TRANSLATOR: 2017 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "AT komutu, belirlenen bir zamanda bilgisayarda çalıştırmak için komutları\n\
ve izlenceleri zamanlar. AT komutunu çalıştırmak için Zamanlayıcı hizmeti \n\
çalıştırılmalıdır.\n\n\
AT [\\\\bilgisayar adı] [ [kimlik] [/DELETE] | /DELETE [/YES]]\n\
AT [\\\\bilgisayar adı] saat [/INTERACTIVE]\n\
[ /EVERY:târih[,...] | /NEXT:târih[,...]] ""komut""\n\n\
\\\\bilgisayar adı Bir uzak bilgisayarı belirtir. Bu değişken yazılmazsa\n\
komutlar yerli bilgisayarda zamanlanır.\n\
kimlik Zamanlanan bir komuta atanan bir kimlik numarasıdır.\n\
/DELETE Zamanlanan bir komutu iptâl eder. Kimlik yazılmadığında\n\
bilgisayardaki tüm zamanlanan komutlar iptâl edilir.\n\
/YES Sonraki onaylamalar istenilmediğinde tüm işleri iptâl etme\n\
komutuyla birlikte kullanılır.\n\
saat Komutun çalıştırılma saatini belirtir.\n\
/INTERACTIVE İşe, çalıştırılacağı saatte oturum açmış kullanıcının\n\
masaüstüyle etkileşmesine izin verir.\n\
/EVERY:târih[,...] Haftanın ya da ayın belirtilen tüm günlerinde komutu çalıştırır.\n\
month. Târih yazılmadığında ayın şimdiki gününü varsayar.\n\
/NEXT:târih[,...] Günün bir sonraki oluşunda (örneğin bir sonraki perşembede)\n\
belirtilen komutu çalıştırır. Târih yazılmadığında ayın\n\
şimdiki gününü varsayar.\n\
""komut"" Çalıştırılacak komut ya da toplu iş kütüğü.\n"
IDS_DELETE_ALL "Bu işlem tüm zamanlanan işleri silecek.\n"
IDS_NEW_JOB "%lu iş kimliğiyle yeni bir iş eklendi.\n"
IDS_JOBS_LIST "Durum Km. Gün Saat Komut Yatacı\n"
IDS_NO_ENTRIES "Dizelgede bir giriş yok.\n"
IDS_CONFIRM_QUESTION "Bu işlemi sürdürmek ister misiniz? (E/H) [H]: "
IDS_CONFIRM_INVALID "\nBu geçersiz bir yanıttır.\n"
IDS_CONFIRM_YES "E"
IDS_CONFIRM_NO "H"
IDS_TODAY "Bugün"
IDS_TOMORROW "Yarın"
IDS_EVERY "Her"
IDS_NEXT "Bir sonraki"
IDS_YES "Evet"
IDS_NO "Hayır"
IDS_ERROR "YANLIŞLIK"
IDS_OK "Tamam"
IDS_TASKID "Görev kimliği: %lu\n"
IDS_STATUS "Durum: %s\n"
IDS_SCHEDULE "Zamanlama: %s\n"
IDS_TIME "Günün saati: %s\n"
IDS_INTERACTIVE "Etkileşme: %s\n"
IDS_COMMAND "Komut: %s\n"
END

View File

@@ -0,0 +1,31 @@
#pragma once
#define IDS_USAGE 100
#define IDS_DELETE_ALL 105
#define IDS_NEW_JOB 106
#define IDS_JOBS_LIST 107
#define IDS_NO_ENTRIES 108
#define IDS_TODAY 109
#define IDS_TOMORROW 110
#define IDS_EVERY 111
#define IDS_NEXT 112
#define IDS_YES 101
#define IDS_NO 102
#define IDS_ERROR 103
#define IDS_OK 104
#define IDS_TASKID 122
#define IDS_STATUS 123
#define IDS_SCHEDULE 124
#define IDS_TIME 125
#define IDS_INTERACTIVE 126
#define IDS_COMMAND 127
#define IDS_CONFIRM_QUESTION 130
#define IDS_CONFIRM_INVALID 131
#define IDS_CONFIRM_YES 132
#define IDS_CONFIRM_NO 133

View File

@@ -54,14 +54,14 @@ END
STRINGTABLE
BEGIN
IDS_ERROR_QUERY_DEVICES "ERROR: Unable to query DOS devices (0x%lx).\n"
IDS_ERROR_QUERY_DEVICES_FORM " QueryDosDeviceW(%s) returned unrecognised form %s.\n"
IDS_ERROR_QUERY_DEVICES "ОШИБКА: Не удалось опросить DOS устройства (0x%lx).\n"
IDS_ERROR_QUERY_DEVICES_FORM " QueryDosDeviceW(%s) возвратила не опознанное состояние %s.\n"
IDS_ERROR_SET_PARALLEL_STATE "SetParallelState(%d) - DefineDosDevice(%s) (0x%lx)\n"
IDS_ERROR_INVALID_PARAMETER "ERROR: Invalid parameter - %s\n"
IDS_ERROR_ILLEGAL_DEVICE_NAME "ERROR: Illegal device name - %s (0x%lx)\n"
IDS_ERROR_STATUS_GET_DEVICE "ERROR: Failed to get the status for device COM%d:\n"
IDS_ERROR_STATUS_SET_DEVICE "ERROR: Failed to set the status for device COM%d:\n"
IDS_ERROR_INVALID_PARITY_BITS "ERROR: Invalid value for Parity Bits %d:\n"
IDS_ERROR_INVALID_STOP_BITS "ERROR: Invalid value for Stop Bits %d:\n"
IDS_ERROR_NO_MEMORY "ERROR: Not enough memory.\n"
IDS_ERROR_INVALID_PARAMETER "ОШИБКА: Неверный параметр - %s\n"
IDS_ERROR_ILLEGAL_DEVICE_NAME "ОШИБКА: Недопустимое имя устройства - %s (0x%lx)\n"
IDS_ERROR_STATUS_GET_DEVICE "ОШИБКА: Не удалось получить состояние устройства COM%d:\n"
IDS_ERROR_STATUS_SET_DEVICE "ОШИБКА: Не удалось установить состояние устройства COM%d:\n"
IDS_ERROR_INVALID_PARITY_BITS "ОШИБКА: Неверное значение битов четности %d:\n"
IDS_ERROR_INVALID_STOP_BITS "ОШИБКА: Неверное значение стоповых битов %d:\n"
IDS_ERROR_NO_MEMORY "ОШИБКА: Недостаточно памяти.\n"
END

View File

@@ -0,0 +1,70 @@
/* TRANSLATOR: 2016 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Dizge aygıtlarını yapılandırır.\n\n\
Aygıt durumu: MODE [aygıt] [/STATUS]\n\
Dizilik giriş: MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s]\n\
[to=on|off] [xon=on|off] [odsr=on|off]\n\
[octs=on|off] [dtr=on|off|hs]\n\
[rts=on|off|hs|tg] [idsr=on|off]\n\
Yazdırma yönlendirme: MODE LPTn[:]=COMm[:]\n\
Kod sayfası seçme: MODE CON[:] CP SELECT=yyy\n\
Kod sayfası durumu: MODE CON[:] CP [/STATUS]\n\
Görüntü kipi: MODE CON[:] [COLS=c] [LINES=n]\n\
Yineleme hızı: MODE CON[:] [RATE=r DELAY=d]\n"
IDS_QUERY_SERIAL_FOUND " Dizilik aygıt bulundu - %s\n"
IDS_QUERY_PRINTER_FOUND " Yazıcı aygıtı bulundu - %s\n"
IDS_QUERY_PARALLEL_FOUND " Koşut aygıt bulundu - %s\n"
IDS_QUERY_DOSDEV_FOUND " DOS aygıtı bulundu - %s\n"
// IDS_QUERY_MISC_FOUND " Başka aygıt bulundu - %s\n"
// IDS_QUERY_DEVICE_FOUND " %s aygıtı bulundu - %s\n"
// IDS_SERIAL "dizilik"
// IDS_PRINTER "koşut"
// IDS_OTHER "başka"
END
STRINGTABLE
BEGIN
IDS_DEVICE_STATUS_HEADER "%s aygıtı durumu:"
IDS_COM_STATUS_BAUD " Baud: %ld\n"
IDS_COM_STATUS_PARITY " Eşlik: %s\n"
IDS_COM_STATUS_DATA_BITS " Veri İkilleri: %d\n"
IDS_COM_STATUS_STOP_BITS " Durma İkilleri: %s\n"
IDS_COM_STATUS_TIMEOUT " Süre aşımı: %s\n"
IDS_COM_STATUS_XON_XOFF " XON/XOFF: %s\n"
IDS_COM_STATUS_CTS_HANDSHAKING " CTS uyuşması: %s\n"
IDS_COM_STATUS_DSR_HANDSHAKING " DSR uyuşması: %s\n"
IDS_COM_STATUS_DSR_SENSITIVITY " DSR duyarlılığı: %s\n"
IDS_COM_STATUS_DTR_CIRCUIT " DTR çevrimi: %s\n"
IDS_COM_STATUS_RTS_CIRCUIT " RTS çevrimi: %s\n"
IDS_CONSOLE_STATUS_LINES " Yataç: %d\n"
IDS_CONSOLE_STATUS_COLS " Dikeç: %d\n"
IDS_CONSOLE_KBD_RATE " Düğme takımı hızı: %ld\n"
IDS_CONSOLE_KBD_DELAY " Düğme takımı gecikmesi: %ld\n"
IDS_CONSOLE_CODEPAGE " Kod sayfası: %d\n"
IDS_PRINTER_OUTPUT_NOT_REROUTED " Yazıcı çıktısı yeniden yönlendirilmiyor.\n"
IDS_PRINTER_OUTPUT_REROUTED_SERIAL " Yazıcı çıktısı %s dizilik girişine yönlendiriliyor.\n"
END
STRINGTABLE
BEGIN
IDS_ERROR_QUERY_DEVICES "YANLIŞLIK: (0x%lx) DOS aygıtı sorgulanamaz.\n"
IDS_ERROR_QUERY_DEVICES_FORM " QueryDosDeviceW(%s), %s tanınmamış biçim döndürdü.\n"
IDS_ERROR_SET_PARALLEL_STATE "SetParallelState(%d) - DefineDosDevice(%s) (0x%lx)\n"
IDS_ERROR_INVALID_PARAMETER "YANLIŞLIK: Geçersiz değişken - %s\n"
IDS_ERROR_ILLEGAL_DEVICE_NAME "YANLIŞLIK: Geçersiz aygıt adı - %s (0x%lx)\n"
IDS_ERROR_STATUS_GET_DEVICE "YANLIŞLIK: COM%d aygıtının durumu alınamıyor:\n"
IDS_ERROR_STATUS_SET_DEVICE "YANLIŞLIK: COM%d aygıtının durumu ayarlanamıyor:\n"
IDS_ERROR_INVALID_PARITY_BITS "YANLIŞLIK: %d Eşlik İkilleri için geçersiz değer:\n"
IDS_ERROR_INVALID_STOP_BITS "YANLIŞLIK: %d Durma İkilleri için geçersiz değer:\n"
IDS_ERROR_NO_MEMORY "YANLIŞLIK: Yeterli bellek yok.\n"
IDS_ERROR_SCREEN_LINES_COL "YANLIŞLIK: Görüntülük, belirtilen yataç ve dikeç sayısına ayarlanamıyor.\n"
END

View File

@@ -23,4 +23,8 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#endif
#ifdef LANGUAGE_RU_RU
#include "lang/ru-RU.rc"
#endif
#endif
#ifdef LANGUAGE_TR_TR
#include "lang/tr-TR.rc"
#endif

View File

@@ -648,7 +648,7 @@ cleanup:
/* =========================================================================
XCOPY_ParseCommandLine - Parses the command line
========================================================================= */
static BOOL is_whitespace(WCHAR c)
static inline BOOL is_whitespace(WCHAR c)
{
return c == ' ' || c == '\t';
}
@@ -659,6 +659,11 @@ static WCHAR *skip_whitespace(WCHAR *p)
return p;
}
static inline BOOL is_digit(WCHAR c)
{
return c >= '0' && c <= '9';
}
/* Windows XCOPY uses a simplified command line parsing algorithm
that lacks the escaped-quote logic of build_argv(), because
literal double quotes are illegal in any of its arguments.
@@ -775,7 +780,7 @@ static int XCOPY_ParseCommandLine(WCHAR *suppliedsource,
break;
/* D can be /D or /D: */
case 'D': if (word[2]==':' && isdigit(word[3])) {
case 'D': if (word[2]==':' && is_digit(word[3])) {
SYSTEMTIME st;
WCHAR *pos = &word[3];
BOOL isError = FALSE;
@@ -786,18 +791,18 @@ static int XCOPY_ParseCommandLine(WCHAR *suppliedsource,
* It is hardcoded to month-day-year.
*/
st.wMonth = _wtol(pos);
while (*pos && isdigit(*pos)) pos++;
while (*pos && is_digit(*pos)) pos++;
if (*pos++ != '-') isError = TRUE;
if (!isError) {
st.wDay = _wtol(pos);
while (*pos && isdigit(*pos)) pos++;
while (*pos && is_digit(*pos)) pos++;
if (*pos++ != '-') isError = TRUE;
}
if (!isError) {
st.wYear = _wtol(pos);
while (*pos && isdigit(*pos)) pos++;
while (*pos && is_digit(*pos)) pos++;
if (st.wYear < 100) st.wYear+=2000;
}

View File

@@ -137,7 +137,7 @@ IDD_MUSIC_DIALOG DIALOGEX 0, 0, 462, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
RTEXT "General MIDI DLS Collection:", IDC_STATIC, 0, 0, 100, 10
RTEXT "Общая коллекция MIDI DLS:", IDC_STATIC, 0, 0, 100, 10
EDITTEXT IDC_MIDI_DLS_COLLECTION, 105, 0, 250, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL
GROUPBOX "Звуковые порты", IDC_STATIC, 5, 10, 452, 85
GROUPBOX "Возможности ReactX", IDC_STATIC, 5, 97, 452, 70

View File

@@ -37,6 +37,7 @@ INT g_NumFonts = 0;
LOGFONTW g_LogFonts[64];
LPCWSTR g_fileName;
WCHAR g_FontTitle[1024] = L"";
BOOL g_FontPrint = FALSE;
static const WCHAR g_szFontViewClassName[] = L"FontViewWClass";
@@ -156,7 +157,24 @@ wWinMain(HINSTANCE hThisInstance,
else
{
/* Try to add the font resource from command line */
fileName = argv[1];
// fileName = argv[1];
if (argc == 2)
{
fileName = argv[1];
}
else
{
/* Windows fontview supports the /p option, which displays print dialog */
fileName = argv[2];
if (wcscmp(argv[1], L"/p") == 0)
{
g_FontPrint = TRUE;
}
else
{
fileName = argv[1];
}
}
g_fileName = fileName;
}
@@ -361,6 +379,9 @@ MainWnd_OnCreate(HWND hwnd)
SendMessage(hDisplay, FVM_SETTYPEFACE, 0, (LPARAM)&g_LogFonts[g_FontIndex]);
ShowWindow(hDisplay, SW_SHOWNORMAL);
if (g_FontPrint)
PostMessage(hwnd, WM_COMMAND, IDC_PRINT, 0);
return 0;
}

View File

@@ -6,7 +6,7 @@
#define HEADER_SIZE 37
#define BUTTON_POS_X 6
#define BUTTON_POS_Y 8
#define BUTTON_WIDTH 72
#define BUTTON_WIDTH 80
#define BUTTON_HEIGHT 21
#define BUTTON_PADDING 8

View File

@@ -15,10 +15,10 @@ BEGIN
IDS_FILTER_LIST "Toate fonturile recunoscute (*.fon;*.fnt;*.ttf;*.ttc;*.otf;*.otc)\0*.fon;*.fnt;*.ttf;*.ttc;*.otf;*.otc\0\
Fișiere de tip Font (*.fon;*.fnt)\0*.fon;*.fnt\0\
Fonturi de tip TrueType (*.ttf)\0*.ttf\0\
TrueType Font Collection (*.ttc)\0*.ttc\0\
Colecție de fonturi TrueType (*.ttc)\0*.ttc\0\
Fonturi de tip OpenType (*.otf)\0*.otf\0\
OpenType Font Collection (*.otc)\0*.otc\0\
Colecție de fonturi OpenType (*.otc)\0*.otc\0\
Orice fișier (*.*)\0*.*\0"
IDS_PREVIOUS "< P&revious"
IDS_NEXT "&Next >"
IDS_PREVIOUS "< Înap&oi"
IDS_NEXT "În&ainte >"
END

View File

@@ -19,6 +19,6 @@ TrueType Font Collection (*.ttc)\0*.ttc\0\
OpenType шрифты (*.otf)\0*.otf\0\
OpenType Font Collection (*.otc)\0*.otc\0\
Все файлы (*.*)\0*.*\0"
IDS_PREVIOUS "< P&revious"
IDS_NEXT "&Next >"
IDS_PREVIOUS "< &Предыдущий"
IDS_NEXT "&Следующий >"
END

View File

@@ -1,11 +1,11 @@
/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */
/* TRANSLATOR: 2013, 2014, 2017 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_INSTALL "&Kur..."
IDS_PRINT "&Yazdır..."
IDS_STRING "Küçük karga, benim büyük kuvars sfenksimi seviyor. 1234567890"
IDS_STRING "Pijamalı hasta, yağız şoföre çabucak güvendi. 1234567890"
IDS_OPEN "Yazı Tipi Aç..."
IDS_ERROR "Yanlışlık"
IDS_ERROR_NOMEM "Bu işlemi bitirmek için yeterli bellek yok."
@@ -14,10 +14,10 @@ BEGIN
IDS_FILTER_LIST "Tüm Desteklenen Yazı Tipleri (*.fon;*.fnt;*.ttf;*.ttc;*.otf;*.otc)\0*.fon;*.fnt;*.ttf;*.ttc;*.otf;*.otc\0\
Yazı Tipi Kütüğü (*.fon;*.fnt)\0*.fon;*.fnt\0\
TrueType Yazı Tipi (*.ttf)\0*.ttf\0\
TrueType Font Collection (*.ttc)\0*.ttc\0\
TrueType Yazı Tipi Derlemi (*.ttc)\0*.ttc\0\
OpenType Yazı Tipi (*.otf)\0*.otf\0\
OpenType Font Collection (*.otc)\0*.otc\0\
OpenType Yazı Tipi Derlemi (*.otc)\0*.otc\0\
Tüm Kütükler (*.*)\0*.*\0"
IDS_PREVIOUS "< P&revious"
IDS_NEXT "&Next >"
IDS_PREVIOUS "< &Geri"
IDS_NEXT "&İleri >"
END

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -3,6 +3,6 @@ add_rc_deps(iexplore.rc ${CMAKE_CURRENT_SOURCE_DIR}/iexplore.ico)
add_executable(iexplore main.c iexplore.rc)
target_link_libraries(iexplore wine)
set_module_type(iexplore win32gui UNICODE)
add_delay_importlibs(iexplore advpack version)
add_delay_importlibs(iexplore advpack version user32)
add_importlibs(iexplore ieframe msvcrt kernel32 ntdll)
add_cd_file(TARGET iexplore DESTINATION reactos FOR all)

View File

@@ -47,18 +47,19 @@ static BOOL check_native_ie(void)
LPWSTR file_desc;
UINT bytes;
void* buf;
BOOL ret;
BOOL ret = TRUE;
LPWORD translation;
static const WCHAR browseui_dllW[] = {'b','r','o','w','s','e','u','i','.','d','l','l',0};
static const WCHAR wineW[] = {'W','i','n','e',0};
static const WCHAR file_desc_strW[] =
static const WCHAR translationW[] =
{'\\','V','a','r','F','i','l','e','I','n','f','o',
'\\','T','r','a','n','s','l','a','t','i','o','n',0};
static const WCHAR file_desc_fmtW[] =
{'\\','S','t','r','i','n','g','F','i','l','e','I','n','f','o',
#ifndef __REACTOS__
'\\','0','4','0','9','0','4','e','4',
#else
'\\','0','4','0','9','0','4','b','0',
#endif
'\\','%','0','4','x','%','0','4','x',
'\\','F','i','l','e','D','e','s','c','r','i','p','t','i','o','n',0};
WCHAR file_desc_strW[48];
size = GetFileVersionInfoSizeW(browseui_dllW, &handle);
if(!size)
@@ -66,8 +67,11 @@ static BOOL check_native_ie(void)
buf = HeapAlloc(GetProcessHeap(), 0, size);
GetFileVersionInfoW(browseui_dllW, 0, size,buf);
ret = !VerQueryValueW(buf, file_desc_strW, (void**)&file_desc, &bytes) || !strstrW(file_desc, wineW);
if (VerQueryValueW(buf, translationW, (void **)&translation, &bytes))
{
wsprintfW(file_desc_strW, file_desc_fmtW, translation[0], translation[1]);
ret = !VerQueryValueW(buf, file_desc_strW, (void**)&file_desc, &bytes) || !strstrW(file_desc, wineW);
}
HeapFree(GetProcessHeap(), 0, buf);
return ret;

View File

@@ -1261,7 +1261,7 @@ GetEventType(IN WORD dwEventType,
BOOL
GetEventUserName(IN PEVENTLOGRECORD pelr,
IN OUT PSID pLastSid,
IN OUT PSID *pLastSid,
OUT PWCHAR pszUser) // TODO: Add IN DWORD BufLen
{
PSID pCurrentSid;
@@ -1271,17 +1271,17 @@ GetEventUserName(IN PEVENTLOGRECORD pelr,
SID_NAME_USE peUse;
DWORD cchName = ARRAYSIZE(szName);
DWORD cchDomain = ARRAYSIZE(szDomain);
BOOL Success;
BOOL Success = FALSE;
/* Point to the SID */
pCurrentSid = (PSID)((LPBYTE)pelr + pelr->UserSidOffset);
if (!IsValidSid(pCurrentSid))
{
pLastSid = NULL;
*pLastSid = NULL;
return FALSE;
}
else if (pLastSid && EqualSid(pLastSid, pCurrentSid))
else if (*pLastSid && EqualSid(*pLastSid, pCurrentSid))
{
return TRUE;
}
@@ -1325,7 +1325,7 @@ GetEventUserName(IN PEVENTLOGRECORD pelr,
}
}
pLastSid = Success ? pCurrentSid : NULL;
*pLastSid = Success ? pCurrentSid : NULL;
return Success;
}
@@ -1604,7 +1604,7 @@ EnumEventsThread(IN LPVOID lpParameter)
GetTimeFormatW(LOCALE_USER_DEFAULT, 0, &time, NULL, szLocalTime, ARRAYSIZE(szLocalTime));
/* Get the username that generated the event, and filter it */
lpszUsername = GetEventUserName(pEvlrTmp, pLastSid, szUsername) ? szUsername : szNoUsername;
lpszUsername = GetEventUserName(pEvlrTmp, &pLastSid, szUsername) ? szUsername : szNoUsername;
if (!FilterByString(EventLogFilter->Users, lpszUsername))
goto SkipEvent;

View File

@@ -139,7 +139,7 @@ BEGIN
IDS_COPYRIGHT "Telif Hakkı: 2007 - Marc Piulachs (marc.piulachs@codexchange.net)"
IDS_APP_TITLE "Olay Görüntüleyicisi"
IDS_APP_TITLE_EX "%s - %s Oturum Aç \\\\"
IDS_STATUS_MSG "%s -> %lu olay var (listed: %lu)"
IDS_STATUS_MSG "%s -> %lu olay var (dizelgelenmiş: %lu)"
IDS_LOADING_WAIT "Olay kayıtları yükleniyor. Lütfen bekleyiniz..."
IDS_NO_ITEMS "Bu görünümde görüntülenecek bir öğe bile yok." // "No events in this log."
IDS_EVENTLOG_SYSTEM "Dizge Kayıtları"

View File

@@ -248,7 +248,6 @@ RefreshServiceList(PMAIN_WND_INFO Info)
{
ENUM_SERVICE_STATUS_PROCESS *pService;
LVITEMW lvItem;
DWORD NumServices;
DWORD Index;
SendMessage (Info->hListView,
@@ -258,9 +257,9 @@ RefreshServiceList(PMAIN_WND_INFO Info)
(void)ListView_DeleteAllItems(Info->hListView);
if (GetServiceList(Info, &NumServices))
if (GetServiceList(Info))
{
for (Index = 0; Index < NumServices; Index++)
for (Index = 0; Index < Info->NumServices; Index++)
{
INT i;

View File

@@ -880,10 +880,7 @@ MainWndProc(HWND hwnd,
case WM_CLOSE:
{
HeapFree(ProcessHeap,
0,
Info->pAllServices);
FreeServiceList(Info);
DestroyMenu(Info->hShortcutMenu);
DestroyWindow(hwnd);
}

View File

@@ -54,6 +54,7 @@ typedef struct _MAIN_WND_INFO
ENUM_SERVICE_STATUS_PROCESS *pAllServices;
ENUM_SERVICE_STATUS_PROCESS *pCurrentService;
DWORD NumServices;
INT SelectedItem;/* selection number in the list view */
INT SortSelection;
@@ -115,9 +116,10 @@ BOOL SetServiceConfig(LPQUERY_SERVICE_CONFIG pServiceConfig, LPWSTR lpServiceNam
LPWSTR GetServiceDescription(LPWSTR lpServiceName);
BOOL SetServiceDescription(LPWSTR lpServiceName, LPWSTR lpDescription);
LPWSTR GetExecutablePath(LPWSTR lpServiceName);
VOID FreeServiceList(PMAIN_WND_INFO Info);
BOOL RefreshServiceList(PMAIN_WND_INFO Info);
BOOL UpdateServiceStatus(ENUM_SERVICE_STATUS_PROCESS* pService);
BOOL GetServiceList(PMAIN_WND_INFO Info, DWORD *NumServices);
BOOL GetServiceList(PMAIN_WND_INFO Info);
/* propsheet.c */

View File

@@ -9,6 +9,17 @@
#include "precomp.h"
typedef struct _PAGEDATA
{
PSERVICEPROPSHEET dlgInfo;
BOOL bDisplayNameChanged;
BOOL bDescriptionChanged;
BOOL bBinaryPathChanged;
BOOL bStartTypeChanged;
} PAGEDATA, *PPAGEDATA;
static VOID
SetButtonStates(PSERVICEPROPSHEET dlgInfo,
HWND hwndDlg)
@@ -45,11 +56,11 @@ SetButtonStates(PSERVICEPROPSHEET dlgInfo,
EnableWindow (hButton, TRUE);
}
if(lpServiceConfig)
HeapFree(GetProcessHeap(), 0, lpServiceConfig);
hButton = GetDlgItem(hwndDlg, IDC_START_PARAM);
EnableWindow(hButton, (State == SERVICE_STOPPED));
EnableWindow(hButton, (State == SERVICE_STOPPED && lpServiceConfig && lpServiceConfig->dwStartType != SERVICE_DISABLED));
if (lpServiceConfig)
HeapFree(GetProcessHeap(), 0, lpServiceConfig);
/* set the main toolbar */
SetMenuAndButtonStates(dlgInfo->Info);
@@ -184,8 +195,8 @@ InitGeneralPage(PSERVICEPROPSHEET dlgInfo,
0,
(LPARAM)pServiceConfig->lpBinaryPathName);
HeapFree(ProcessHeap,
0,
pServiceConfig);
0,
pServiceConfig);
}
@@ -197,19 +208,18 @@ InitGeneralPage(PSERVICEPROPSHEET dlgInfo,
if (dlgInfo->Info->bIsUserAnAdmin)
{
HWND hEdit = GetDlgItem(hwndDlg,
IDC_EDIT);
EnableWindow(hEdit,
TRUE);
EnableWindow(GetDlgItem(hwndDlg, IDC_EDIT), TRUE);
}
}
VOID
SaveDlgInfo(PSERVICEPROPSHEET dlgInfo,
SaveDlgInfo(PPAGEDATA pPageData,
HWND hwndDlg)
{
LPQUERY_SERVICE_CONFIG pServiceConfig = NULL;
HWND hList;
PWSTR pDisplayName = NULL;
PWSTR pDescription;
INT nLength;
DWORD StartUp;
pServiceConfig = HeapAlloc(ProcessHeap,
@@ -219,31 +229,93 @@ SaveDlgInfo(PSERVICEPROPSHEET dlgInfo,
{
pServiceConfig->dwServiceType = SERVICE_NO_CHANGE;
pServiceConfig->dwErrorControl = SERVICE_NO_CHANGE;
pServiceConfig->dwStartType = SERVICE_NO_CHANGE;
hList = GetDlgItem(hwndDlg, IDC_START_TYPE);
StartUp = SendMessage(hList,
CB_GETCURSEL,
0,
0);
switch (StartUp)
if (pPageData->bStartTypeChanged)
{
case 0: pServiceConfig->dwStartType = SERVICE_AUTO_START; break;
case 1: pServiceConfig->dwStartType = SERVICE_DEMAND_START; break;
case 2: pServiceConfig->dwStartType = SERVICE_DISABLED; break;
StartUp = SendDlgItemMessageW(hwndDlg, IDC_START_TYPE, CB_GETCURSEL, 0, 0);
switch (StartUp)
{
case 0:
pServiceConfig->dwStartType = SERVICE_AUTO_START;
break;
case 1:
pServiceConfig->dwStartType = SERVICE_DEMAND_START;
break;
case 2:
pServiceConfig->dwStartType = SERVICE_DISABLED;
break;
}
}
if (pPageData->bBinaryPathChanged)
{
nLength = SendDlgItemMessageW(hwndDlg, IDC_EXEPATH, WM_GETTEXTLENGTH, 0, 0);
pServiceConfig->lpBinaryPathName = HeapAlloc(ProcessHeap,
HEAP_ZERO_MEMORY,
(nLength + 1) * sizeof(WCHAR));
if (pServiceConfig->lpBinaryPathName != NULL)
SendDlgItemMessageW(hwndDlg, IDC_EXEPATH, WM_GETTEXT, nLength + 1, (LPARAM)pServiceConfig->lpBinaryPathName);
}
if (pPageData->bDisplayNameChanged)
{
nLength = SendDlgItemMessageW(hwndDlg, IDC_DISP_NAME, WM_GETTEXTLENGTH, 0, 0);
pDisplayName = HeapAlloc(ProcessHeap,
HEAP_ZERO_MEMORY,
(nLength + 1) * sizeof(WCHAR));
if (pDisplayName != NULL)
{
SendDlgItemMessageW(hwndDlg, IDC_DISP_NAME, WM_GETTEXT, nLength + 1, (LPARAM)pDisplayName);
if (pPageData->dlgInfo->pService->lpDisplayName)
HeapFree(ProcessHeap, 0, pPageData->dlgInfo->pService->lpDisplayName);
pPageData->dlgInfo->pService->lpDisplayName = pDisplayName;
pServiceConfig->lpDisplayName = pDisplayName;
}
}
if (SetServiceConfig(pServiceConfig,
dlgInfo->pService->lpServiceName,
pPageData->dlgInfo->pService->lpServiceName,
NULL))
{
ChangeListViewText(dlgInfo->Info,
dlgInfo->pService,
LVSTARTUP);
if (pPageData->bDisplayNameChanged)
ChangeListViewText(pPageData->dlgInfo->Info,
pPageData->dlgInfo->pService,
LVNAME);
if (pPageData->bStartTypeChanged)
ChangeListViewText(pPageData->dlgInfo->Info,
pPageData->dlgInfo->pService,
LVSTARTUP);
}
HeapFree(ProcessHeap,
0,
pServiceConfig);
if (pServiceConfig->lpBinaryPathName != NULL)
HeapFree(ProcessHeap, 0, pServiceConfig->lpBinaryPathName);
HeapFree(ProcessHeap, 0, pServiceConfig);
}
if (pPageData->bDescriptionChanged)
{
nLength = SendDlgItemMessageW(hwndDlg, IDC_DESCRIPTION, WM_GETTEXTLENGTH, 0, 0);
pDescription = HeapAlloc(ProcessHeap, HEAP_ZERO_MEMORY, (nLength + 1) * sizeof(WCHAR));
if (pDescription != NULL)
{
SendDlgItemMessageW(hwndDlg, IDC_DESCRIPTION, WM_GETTEXT, nLength + 1, (LPARAM)pDescription);
if (SetServiceDescription(pPageData->dlgInfo->pService->lpServiceName,
pDescription))
{
ChangeListViewText(pPageData->dlgInfo->Info,
pPageData->dlgInfo->pService,
LVDESC);
}
HeapFree(ProcessHeap, 0, pDescription);
}
}
}
@@ -257,12 +329,12 @@ GeneralPageProc(HWND hwndDlg,
WPARAM wParam,
LPARAM lParam)
{
PSERVICEPROPSHEET dlgInfo;
PPAGEDATA pPageData;
/* Get the window context */
dlgInfo = (PSERVICEPROPSHEET)GetWindowLongPtr(hwndDlg,
GWLP_USERDATA);
if (dlgInfo == NULL && uMsg != WM_INITDIALOG)
pPageData = (PPAGEDATA)GetWindowLongPtr(hwndDlg,
GWLP_USERDATA);
if (pPageData == NULL && uMsg != WM_INITDIALOG)
{
return FALSE;
}
@@ -270,26 +342,60 @@ GeneralPageProc(HWND hwndDlg,
switch (uMsg)
{
case WM_INITDIALOG:
{
dlgInfo = (PSERVICEPROPSHEET)(((LPPROPSHEETPAGE)lParam)->lParam);
if (dlgInfo != NULL)
pPageData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(PAGEDATA));
if (pPageData != NULL)
{
SetWindowLongPtr(hwndDlg,
GWLP_USERDATA,
(LONG_PTR)dlgInfo);
InitGeneralPage(dlgInfo, hwndDlg);
SetButtonStates(dlgInfo, hwndDlg);
(LONG_PTR)pPageData);
pPageData->dlgInfo = (PSERVICEPROPSHEET)(((LPPROPSHEETPAGE)lParam)->lParam);
if (pPageData->dlgInfo != NULL)
{
InitGeneralPage(pPageData->dlgInfo, hwndDlg);
SetButtonStates(pPageData->dlgInfo, hwndDlg);
}
}
}
break;
break;
case WM_DESTROY:
HeapFree(GetProcessHeap(), 0, pPageData);
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_START_TYPE:
if (HIWORD(wParam) == CBN_SELCHANGE)
{
pPageData->bStartTypeChanged = TRUE;
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
break;
}
break;
case IDC_DISP_NAME:
if (HIWORD(wParam) == EN_CHANGE)
{
pPageData->bDisplayNameChanged = TRUE;
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
}
break;
case IDC_DESCRIPTION:
if (HIWORD(wParam) == EN_CHANGE)
{
pPageData->bDescriptionChanged = TRUE;
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
}
break;
case IDC_EXEPATH:
if (HIWORD(wParam) == EN_CHANGE)
{
pPageData->bBinaryPathChanged = TRUE;
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
}
break;
case IDC_START:
{
@@ -299,91 +405,88 @@ GeneralPageProc(HWND hwndDlg,
if (GetDlgItemText(hwndDlg, IDC_START_PARAM, szStartParams, 256) > 0)
lpStartParams = szStartParams;
EnableWindow(GetDlgItem(hwndDlg, IDC_START_PARAM), FALSE);
RunActionWithProgress(hwndDlg,
dlgInfo->pService->lpServiceName,
dlgInfo->pService->lpDisplayName,
pPageData->dlgInfo->pService->lpServiceName,
pPageData->dlgInfo->pService->lpDisplayName,
ACTION_START,
lpStartParams);
UpdateServiceStatus(dlgInfo->pService);
ChangeListViewText(dlgInfo->Info, dlgInfo->pService, LVSTATUS);
SetButtonStates(dlgInfo, hwndDlg);
SetServiceStatusText(dlgInfo, hwndDlg);
UpdateServiceStatus(pPageData->dlgInfo->pService);
ChangeListViewText(pPageData->dlgInfo->Info, pPageData->dlgInfo->pService, LVSTATUS);
SetButtonStates(pPageData->dlgInfo, hwndDlg);
SetServiceStatusText(pPageData->dlgInfo, hwndDlg);
break;
}
case IDC_STOP:
RunActionWithProgress(hwndDlg,
dlgInfo->pService->lpServiceName,
dlgInfo->pService->lpDisplayName,
pPageData->dlgInfo->pService->lpServiceName,
pPageData->dlgInfo->pService->lpDisplayName,
ACTION_STOP,
NULL);
UpdateServiceStatus(dlgInfo->pService);
ChangeListViewText(dlgInfo->Info, dlgInfo->pService, LVSTATUS);
SetButtonStates(dlgInfo, hwndDlg);
SetServiceStatusText(dlgInfo, hwndDlg);
UpdateServiceStatus(pPageData->dlgInfo->pService);
ChangeListViewText(pPageData->dlgInfo->Info, pPageData->dlgInfo->pService, LVSTATUS);
SetButtonStates(pPageData->dlgInfo, hwndDlg);
SetServiceStatusText(pPageData->dlgInfo, hwndDlg);
break;
case IDC_PAUSE:
RunActionWithProgress(hwndDlg,
dlgInfo->pService->lpServiceName,
dlgInfo->pService->lpDisplayName,
pPageData->dlgInfo->pService->lpServiceName,
pPageData->dlgInfo->pService->lpDisplayName,
ACTION_PAUSE,
NULL);
UpdateServiceStatus(dlgInfo->pService);
ChangeListViewText(dlgInfo->Info, dlgInfo->pService, LVSTATUS);
SetButtonStates(dlgInfo, hwndDlg);
SetServiceStatusText(dlgInfo, hwndDlg);
UpdateServiceStatus(pPageData->dlgInfo->pService);
ChangeListViewText(pPageData->dlgInfo->Info, pPageData->dlgInfo->pService, LVSTATUS);
SetButtonStates(pPageData->dlgInfo, hwndDlg);
SetServiceStatusText(pPageData->dlgInfo, hwndDlg);
break;
case IDC_RESUME:
RunActionWithProgress(hwndDlg,
dlgInfo->pService->lpServiceName,
dlgInfo->pService->lpDisplayName,
pPageData->dlgInfo->pService->lpServiceName,
pPageData->dlgInfo->pService->lpDisplayName,
ACTION_RESUME,
NULL);
UpdateServiceStatus(dlgInfo->pService);
ChangeListViewText(dlgInfo->Info, dlgInfo->pService, LVSTATUS);
SetButtonStates(dlgInfo, hwndDlg);
SetServiceStatusText(dlgInfo, hwndDlg);
UpdateServiceStatus(pPageData->dlgInfo->pService);
ChangeListViewText(pPageData->dlgInfo->Info, pPageData->dlgInfo->pService, LVSTATUS);
SetButtonStates(pPageData->dlgInfo, hwndDlg);
SetServiceStatusText(pPageData->dlgInfo, hwndDlg);
break;
case IDC_EDIT:
{
HWND hName, hDesc, hExePath;
hName = GetDlgItem(hwndDlg, IDC_DISP_NAME);
hDesc = GetDlgItem(hwndDlg, IDC_DESCRIPTION);
hExePath = GetDlgItem(hwndDlg, IDC_EXEPATH);
SendMessage(hName, EM_SETREADONLY, FALSE, 0);
SendMessage(hDesc, EM_SETREADONLY, FALSE, 0);
SendMessage(hExePath, EM_SETREADONLY, FALSE, 0);
break;
}
case IDC_START_PARAM:
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
SendDlgItemMessage(hwndDlg, IDC_DISP_NAME, EM_SETREADONLY, FALSE, 0);
SendDlgItemMessage(hwndDlg, IDC_DESCRIPTION, EM_SETREADONLY, FALSE, 0);
SendDlgItemMessage(hwndDlg, IDC_EXEPATH, EM_SETREADONLY, FALSE, 0);
EnableWindow(GetDlgItem(hwndDlg, IDC_EDIT), FALSE);
break;
}
break;
case WM_NOTIFY:
switch (((LPNMHDR)lParam)->code)
{
LPNMHDR lpnm = (LPNMHDR)lParam;
switch (lpnm->code)
{
case PSN_APPLY:
SaveDlgInfo(dlgInfo, hwndDlg);
SetButtonStates(dlgInfo, hwndDlg);
case PSN_APPLY:
if (pPageData->bDisplayNameChanged ||
pPageData->bDescriptionChanged ||
pPageData->bBinaryPathChanged ||
pPageData->bStartTypeChanged)
{
SaveDlgInfo(pPageData, hwndDlg);
SetButtonStates(pPageData->dlgInfo, hwndDlg);
pPageData->bDisplayNameChanged = FALSE;
pPageData->bDescriptionChanged = FALSE;
pPageData->bBinaryPathChanged = FALSE;
pPageData->bStartTypeChanged = FALSE;
}
break;
}
}
break;
break;
}
return FALSE;

View File

@@ -15,7 +15,7 @@ typedef struct _RECOVERYDATA
{
ENUM_SERVICE_STATUS_PROCESS *pService;
LPSERVICE_FAILURE_ACTIONS pServiceFailure;
BOOL bChanged;
} RECOVERYDATA, *PRECOVERYDATA;
static
@@ -367,6 +367,74 @@ BrowseFile(
}
static
VOID
SetFailureActions(
HWND hwndDlg)
{
SERVICE_FAILURE_ACTIONS FailureActions;
BOOL bRestartService = FALSE;
BOOL bRunProgram = FALSE;
BOOL bRebootComputer = FALSE;
INT id, index;
ZeroMemory(&FailureActions, sizeof(FailureActions));
/* Count the number of valid failure actions */
for (id = IDC_FIRST_FAILURE; id <= IDC_SUBSEQUENT_FAILURES; id++)
{
index = SendDlgItemMessageW(hwndDlg,
id,
CB_GETCURSEL,
0,
0);
switch (index)
{
case 1: /* Restart Service */
bRestartService = TRUE;
FailureActions.cActions++;
break;
case 2: /* Run Program */
bRunProgram = TRUE;
FailureActions.cActions++;
break;
case 3: /* Reboot Computer */
bRebootComputer = TRUE;
FailureActions.cActions++;
break;
}
}
if (bRestartService)
{
// IDC_RESTART_TIME
}
if (bRunProgram)
{
// IDC_RESTART_TIME
}
if (bRebootComputer)
{
// IDC_RESTART_TIME
}
#if 0
typedef struct _SERVICE_FAILURE_ACTIONS {
DWORD dwResetPeriod;
LPTSTR lpRebootMsg;
LPTSTR lpCommand;
DWORD cActions;
SC_ACTION *lpsaActions;
} SERVICE_FAILURE_ACTIONS, *LPSERVICE_FAILURE_ACTIONS;
#endif
}
INT_PTR
CALLBACK
RecoveryPageProc(
@@ -423,6 +491,26 @@ RecoveryPageProc(
if (HIWORD(wParam) == CBN_SELCHANGE)
{
UpdateFailureActions(hwndDlg, pRecoveryData);
pRecoveryData->bChanged = TRUE;
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
}
break;
case IDC_RESET_TIME:
case IDC_RESTART_TIME:
case IDC_PROGRAM:
case IDC_PARAMETERS:
if (HIWORD(wParam) == EN_CHANGE)
{
pRecoveryData->bChanged = TRUE;
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
}
break;
case IDC_ADD_FAILCOUNT:
if (HIWORD(wParam) == BN_CLICKED)
{
pRecoveryData->bChanged = TRUE;
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
}
break;
@@ -430,6 +518,9 @@ RecoveryPageProc(
case IDC_BROWSE_PROGRAM:
BrowseFile(hwndDlg);
break;
case IDC_RESTART_OPTIONS:
break;
}
break;
@@ -437,6 +528,11 @@ RecoveryPageProc(
switch (((LPNMHDR)lParam)->code)
{
case PSN_APPLY:
if (pRecoveryData->bChanged)
{
SetFailureActions(hwndDlg);
pRecoveryData->bChanged = FALSE;
}
break;
}
break;

View File

@@ -253,25 +253,41 @@ SetServiceDescription(LPWSTR lpServiceName,
return bRet;
}
BOOL
GetServiceList(PMAIN_WND_INFO Info,
DWORD *NumServices)
VOID
FreeServiceList(PMAIN_WND_INFO Info)
{
DWORD i;
if (Info->pAllServices != NULL)
{
for (i = 0; i < Info->NumServices; i++)
{
if (Info->pAllServices[i].lpServiceName)
HeapFree(ProcessHeap, 0, Info->pAllServices[i].lpServiceName);
if (Info->pAllServices[i].lpDisplayName)
HeapFree(ProcessHeap, 0, Info->pAllServices[i].lpDisplayName);
}
HeapFree(ProcessHeap, 0, Info->pAllServices);
Info->pAllServices = NULL;
Info->NumServices = 0;
}
}
BOOL
GetServiceList(PMAIN_WND_INFO Info)
{
ENUM_SERVICE_STATUS_PROCESS *pServices = NULL;
SC_HANDLE ScHandle;
BOOL bRet = FALSE;
DWORD BytesNeeded = 0;
DWORD ResumeHandle = 0;
DWORD NumServices = 0;
DWORD i;
*NumServices = 0;
if (Info->pAllServices != NULL)
{
HeapFree(ProcessHeap,
0,
Info->pAllServices);
Info->pAllServices = NULL;
}
FreeServiceList(Info);
ScHandle = OpenSCManagerW(NULL,
NULL,
@@ -285,7 +301,7 @@ GetServiceList(PMAIN_WND_INFO Info,
NULL,
0,
&BytesNeeded,
NumServices,
&NumServices,
&ResumeHandle,
0))
{
@@ -293,20 +309,20 @@ GetServiceList(PMAIN_WND_INFO Info,
if (GetLastError() == ERROR_MORE_DATA)
{
/* reserve memory for service info array */
Info->pAllServices = (ENUM_SERVICE_STATUS_PROCESS *) HeapAlloc(ProcessHeap,
0,
BytesNeeded);
if (Info->pAllServices)
pServices = (ENUM_SERVICE_STATUS_PROCESS *)HeapAlloc(ProcessHeap,
0,
BytesNeeded);
if (pServices)
{
/* fill array with service info */
if (EnumServicesStatusEx(ScHandle,
SC_ENUM_PROCESS_INFO,
SERVICE_WIN32,
SERVICE_STATE_ALL,
(LPBYTE)Info->pAllServices,
(LPBYTE)pServices,
BytesNeeded,
&BytesNeeded,
NumServices,
&NumServices,
&ResumeHandle,
0))
{
@@ -320,13 +336,36 @@ GetServiceList(PMAIN_WND_INFO Info,
if (ScHandle)
CloseServiceHandle(ScHandle);
if (!bRet && Info->pAllServices)
Info->pAllServices = (ENUM_SERVICE_STATUS_PROCESS *)HeapAlloc(ProcessHeap,
HEAP_ZERO_MEMORY,
NumServices * sizeof(ENUM_SERVICE_STATUS_PROCESS));
if (Info->pAllServices != NULL)
{
HeapFree(ProcessHeap,
0,
Info->pAllServices);
Info->NumServices = NumServices;
for (i = 0; i < NumServices; i++)
{
Info->pAllServices[i].lpServiceName = HeapAlloc(ProcessHeap,
HEAP_ZERO_MEMORY,
(wcslen(pServices[i].lpServiceName) + 1) * sizeof(WCHAR));
if (Info->pAllServices[i].lpServiceName)
wcscpy(Info->pAllServices[i].lpServiceName, pServices[i].lpServiceName);
Info->pAllServices[i].lpDisplayName = HeapAlloc(ProcessHeap,
HEAP_ZERO_MEMORY,
(wcslen(pServices[i].lpDisplayName) + 1) * sizeof(WCHAR));
if (Info->pAllServices[i].lpDisplayName)
wcscpy(Info->pAllServices[i].lpDisplayName, pServices[i].lpDisplayName);
CopyMemory(&Info->pAllServices[i].ServiceStatusProcess,
&pServices[i].ServiceStatusProcess,
sizeof(SERVICE_STATUS_PROCESS));
}
}
if (pServices)
HeapFree(ProcessHeap, 0, pServices);
return bRet;
}

View File

@@ -53,16 +53,16 @@ DoStartService(LPWSTR ServiceName,
lpChar++;
}
/* Allocate the arguments vector and add one for the service name */
lpArgsVector = LocalAlloc(LMEM_FIXED, (dwArgsCount + 1) * sizeof(LPCWSTR));
/*
* Allocate the arguments vector.
* Do not add the service name here because services.exe does it for us!
*/
lpArgsVector = LocalAlloc(LMEM_FIXED, dwArgsCount * sizeof(LPCWSTR));
if (!lpArgsVector)
return FALSE;
/* Make the service name the first argument */
lpArgsVector[0] = ServiceName;
/* Fill the arguments vector */
dwArgsCount = 1;
dwArgsCount = 0;
bWhiteSpace = TRUE;
lpChar = lpStartParams;
while (*lpChar != 0)

View File

@@ -129,6 +129,11 @@ void ImageModel::Crop(int nWidth, int nHeight, int nOffsetX, int nOffsetY)
int oldWidth = GetWidth();
int oldHeight = GetHeight();
if (nWidth <= 0)
nWidth = 1;
if (nHeight <= 0)
nHeight = 1;
SelectObject(hDrawingDC, hBms[currInd]);
DeleteObject(hBms[(currInd + 1) % HISTORYSIZE]);
hBms[(currInd + 1) % HISTORYSIZE] = CreateDIBWithProperties(nWidth, nHeight);

View File

@@ -5,6 +5,7 @@
* PURPOSE: Window procedure of the main window and all children apart from
* hPalWin, hToolSettings and hSelection
* PROGRAMMERS: Benedikt Freisen
* Katayama Hirofumi MZ
*/
/* INCLUDES *********************************************************/
@@ -191,8 +192,6 @@ LRESULT CImgAreaWindow::OnLButtonUp(UINT nMsg, WPARAM wParam, LPARAM lParam, BOO
{
if (drawing)
{
ReleaseCapture();
drawing = FALSE;
endPaintingL(imageModel.GetDC(), GET_X_LPARAM(lParam) * 1000 / toolsModel.GetZoom(), GET_Y_LPARAM(lParam) * 1000 / toolsModel.GetZoom(), paletteModel.GetFgColor(),
paletteModel.GetBgColor());
Invalidate(FALSE);
@@ -205,6 +204,71 @@ LRESULT CImgAreaWindow::OnLButtonUp(UINT nMsg, WPARAM wParam, LPARAM lParam, BOO
}
SendMessage(hStatusBar, SB_SETTEXT, 2, (LPARAM) "");
}
drawing = FALSE;
ReleaseCapture();
return 0;
}
void CImgAreaWindow::cancelDrawing()
{
POINT pt;
switch (toolsModel.GetActiveTool())
{
case TOOL_FREESEL: case TOOL_RECTSEL:
case TOOL_TEXT: case TOOL_ZOOM: case TOOL_SHAPE:
imageModel.ResetToPrevious();
selectionModel.ResetPtStack();
pointSP = 0;
Invalidate(FALSE);
break;
default:
GetCursorPos(&pt);
ScreenToClient(&pt);
// FIXME: dirty hack
if (GetKeyState(VK_LBUTTON) < 0)
{
endPaintingL(imageModel.GetDC(), pt.x * 1000 / toolsModel.GetZoom(), pt.y * 1000 / toolsModel.GetZoom(), paletteModel.GetFgColor(),
paletteModel.GetBgColor());
}
else if (GetKeyState(VK_RBUTTON) < 0)
{
endPaintingR(imageModel.GetDC(), pt.x * 1000 / toolsModel.GetZoom(), pt.y * 1000 / toolsModel.GetZoom(), paletteModel.GetFgColor(),
paletteModel.GetBgColor());
}
imageModel.Undo();
pointSP = 0;
selectionModel.ResetPtStack();
}
}
LRESULT CImgAreaWindow::OnCaptureChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if (drawing)
{
cancelDrawing();
drawing = FALSE;
}
return 0;
}
LRESULT CImgAreaWindow::OnKeyDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if (wParam == VK_ESCAPE)
{
if (GetCapture() == m_hWnd)
{
ReleaseCapture();
}
else
{
switch (toolsModel.GetActiveTool())
{
case TOOL_SHAPE: case TOOL_BEZIER:
cancelDrawing();
break;
}
}
}
return 0;
}
@@ -212,8 +276,6 @@ LRESULT CImgAreaWindow::OnRButtonUp(UINT nMsg, WPARAM wParam, LPARAM lParam, BOO
{
if (drawing)
{
ReleaseCapture();
drawing = FALSE;
endPaintingR(imageModel.GetDC(), GET_X_LPARAM(lParam) * 1000 / toolsModel.GetZoom(), GET_Y_LPARAM(lParam) * 1000 / toolsModel.GetZoom(), paletteModel.GetFgColor(),
paletteModel.GetBgColor());
Invalidate(FALSE);
@@ -226,6 +288,8 @@ LRESULT CImgAreaWindow::OnRButtonUp(UINT nMsg, WPARAM wParam, LPARAM lParam, BOO
}
SendMessage(hStatusBar, SB_SETTEXT, 2, (LPARAM) "");
}
ReleaseCapture();
drawing = FALSE;
return 0;
}

View File

@@ -5,6 +5,7 @@
* PURPOSE: Window procedure of the main window and all children apart from
* hPalWin, hToolSettings and hSelection
* PROGRAMMERS: Benedikt Freisen
* Katayama Hirofumi MZ
*/
class CImgAreaWindow : public CWindowImpl<CMainWindow>
@@ -24,6 +25,8 @@ public:
MESSAGE_HANDLER(WM_MOUSELEAVE, OnMouseLeave)
MESSAGE_HANDLER(WM_IMAGEMODELDIMENSIONSCHANGED, OnImageModelDimensionsChanged)
MESSAGE_HANDLER(WM_IMAGEMODELIMAGECHANGED, OnImageModelImageChanged)
MESSAGE_HANDLER(WM_CAPTURECHANGED, OnCaptureChanged)
MESSAGE_HANDLER(WM_KEYDOWN, OnKeyDown)
END_MSG_MAP()
BOOL drawing;
@@ -40,6 +43,9 @@ private:
LRESULT OnMouseLeave(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnImageModelDimensionsChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnImageModelImageChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnCaptureChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnKeyDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
void drawZoomFrame(int mouseX, int mouseY);
void cancelDrawing();
};

View File

@@ -84,6 +84,66 @@ CSizeboxWindow sizeboxCenterBottom;
CSizeboxWindow sizeboxRightBottom;
CTextEditWindow textEditWindow;
// get file name extension from filter string
static BOOL
FileExtFromFilter(LPTSTR pExt, LPCTSTR pTitle, OPENFILENAME *pOFN)
{
LPTSTR pchExt = pExt;
*pchExt = 0;
DWORD nIndex = 1;
for (LPCTSTR pch = pOFN->lpstrFilter; *pch; ++nIndex)
{
pch += lstrlen(pch) + 1;
if (pOFN->nFilterIndex == nIndex)
{
for (++pch; *pch && *pch != _T(';'); ++pch)
{
*pchExt++ = *pch;
}
*pchExt = 0;
CharLower(pExt);
return TRUE;
}
pch += lstrlen(pch) + 1;
}
return FALSE;
}
// Hook procedure for OPENFILENAME to change the file name extension
static UINT_PTR APIENTRY
OFNHookProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
HWND hParent;
OFNOTIFY *pon;
switch (uMsg)
{
case WM_NOTIFY:
pon = (OFNOTIFY *)lParam;
if (pon->hdr.code == CDN_TYPECHANGE)
{
hParent = GetParent(hwnd);
TCHAR Path[MAX_PATH];
SendMessage(hParent, CDM_GETFILEPATH, SIZEOF(Path), (LPARAM)Path);
LPTSTR pchTitle = _tcsrchr(Path, _T('\\'));
if (pchTitle == NULL)
pchTitle = _tcsrchr(Path, _T('/'));
LPTSTR pch = _tcsrchr((pchTitle ? pchTitle : Path), _T('.'));
if (pch && pchTitle)
{
pchTitle++;
*pch = 0;
FileExtFromFilter(pch, pchTitle, pon->lpOFN);
SendMessage(hParent, CDM_SETCONTROLTEXT, 0x047c, (LPARAM)pchTitle);
lstrcpyn(pon->lpOFN->lpstrFile, Path, SIZEOF(pon->lpOFN->lpstrFile));
}
}
break;
}
return 0;
}
/* entry point */
int WINAPI
@@ -272,7 +332,8 @@ _tWinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPTSTR lpszArgument
sfn.nMaxFile = SIZEOF(sfnFilename);
sfn.lpstrFileTitle = sfnFiletitle;
sfn.nMaxFileTitle = SIZEOF(sfnFiletitle);
sfn.Flags = OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY;
sfn.Flags = OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_EXPLORER | OFN_ENABLEHOOK;
sfn.lpfnHook = OFNHookProc;
/* creating the size boxes */
RECT sizeboxPos = {0, 0, 0 + 3, 0 + 3};

View File

@@ -42,7 +42,7 @@ void RegistrySettings::SetWallpaper(LPCTSTR szFileName, RegistrySettings::Wallpa
{
desktop.SetStringValue(_T("Wallpaper"), szFileName);
desktop.SetStringValue(_T("WallpaperStyle"), (style == RegistrySettings::STRETCHED) ? _T("2") : _T("1"));
desktop.SetStringValue(_T("WallpaperStyle"), (style == RegistrySettings::STRETCHED) ? _T("2") : _T("0"));
desktop.SetStringValue(_T("TileWallpaper"), (style == RegistrySettings::TILED) ? _T("1") : _T("0"));
}

View File

@@ -114,3 +114,10 @@ LRESULT CScrollboxWindow::OnVScroll(UINT nMsg, WPARAM wParam, LPARAM lParam, BOO
}
return 0;
}
LRESULT CScrollboxWindow::OnLButtonDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
selectionWindow.ShowWindow(SW_HIDE);
pointSP = 0; // resets the point-buffer of the polygon and bezier functions
return 0;
}

View File

@@ -15,11 +15,13 @@ public:
MESSAGE_HANDLER(WM_SIZE, OnSize)
MESSAGE_HANDLER(WM_HSCROLL, OnHScroll)
MESSAGE_HANDLER(WM_VSCROLL, OnVScroll)
MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown)
END_MSG_MAP()
LRESULT OnSize(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnHScroll(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnVScroll(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnLButtonDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
};
void UpdateScrollbox();

View File

@@ -4,6 +4,7 @@
* FILE: base/applications/mspaint/selection.cpp
* PURPOSE: Window procedure of the selection window
* PROGRAMMERS: Benedikt Freisen
* Katayama Hirofumi MZ
*/
/* INCLUDES *********************************************************/
@@ -230,6 +231,39 @@ LRESULT CSelectionWindow::OnLButtonUp(UINT nMsg, WPARAM wParam, LPARAM lParam, B
return 0;
}
LRESULT CSelectionWindow::OnCaptureChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if (m_bMoving)
{
m_bMoving = FALSE;
if (m_iAction == ACTION_MOVE)
{
// FIXME: dirty hack
placeSelWin();
imageModel.Undo();
imageModel.Undo();
}
else
{
m_iAction = ACTION_MOVE;
}
ShowWindow(SW_HIDE);
}
return 0;
}
LRESULT CSelectionWindow::OnKeyDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if (wParam == VK_ESCAPE)
{
if (GetCapture() == m_hWnd)
{
ReleaseCapture();
}
}
return 0;
}
LRESULT CSelectionWindow::OnPaletteModelColorChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if (toolsModel.GetActiveTool() == TOOL_TEXT)

View File

@@ -4,6 +4,7 @@
* FILE: base/applications/mspaint/selection.h
* PURPOSE: Window procedure of the selection window
* PROGRAMMERS: Benedikt Freisen
* Katayama Hirofumi MZ
*/
class CSelectionWindow : public CWindowImpl<CSelectionWindow>
@@ -23,6 +24,8 @@ public:
MESSAGE_HANDLER(WM_PALETTEMODELCOLORCHANGED, OnPaletteModelColorChanged)
MESSAGE_HANDLER(WM_TOOLSMODELSETTINGSCHANGED, OnToolsModelSettingsChanged)
MESSAGE_HANDLER(WM_SELECTIONMODELREFRESHNEEDED, OnSelectionModelRefreshNeeded)
MESSAGE_HANDLER(WM_CAPTURECHANGED, OnCaptureChanged)
MESSAGE_HANDLER(WM_KEYDOWN, OnKeyDown)
END_MSG_MAP()
LRESULT OnPaint(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
@@ -36,6 +39,8 @@ public:
LRESULT OnPaletteModelColorChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnToolsModelSettingsChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnSelectionModelRefreshNeeded(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnCaptureChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnKeyDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
private:
static const LPCTSTR m_lpszCursorLUT[9];

View File

@@ -4,6 +4,7 @@
* FILE: base/applications/mspaint/sizebox.cpp
* PURPOSE: Window procedure of the size boxes
* PROGRAMMERS: Benedikt Freisen
* Katayama Hirofumi MZ
*/
/* INCLUDES *********************************************************/
@@ -12,9 +13,9 @@
/* FUNCTIONS ********************************************************/
BOOL resizing = FALSE;
short xOrig;
short yOrig;
static BOOL resizing = FALSE;
static short xOrig;
static short yOrig;
LRESULT CSizeboxWindow::OnSetCursor(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
@@ -76,8 +77,6 @@ LRESULT CSizeboxWindow::OnLButtonUp(UINT nMsg, WPARAM wParam, LPARAM lParam, BOO
{
short xRel;
short yRel;
ReleaseCapture();
resizing = FALSE;
int imgXRes = imageModel.GetWidth();
int imgYRes = imageModel.GetHeight();
xRel = (GET_X_LPARAM(lParam) - xOrig) * 1000 / toolsModel.GetZoom();
@@ -100,5 +99,25 @@ LRESULT CSizeboxWindow::OnLButtonUp(UINT nMsg, WPARAM wParam, LPARAM lParam, BOO
imageModel.Crop(imgXRes + xRel, imgYRes + yRel, 0, 0);
SendMessage(hStatusBar, SB_SETTEXT, 2, (LPARAM) _T(""));
}
resizing = FALSE;
ReleaseCapture();
return 0;
}
LRESULT CSizeboxWindow::OnCaptureChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
resizing = FALSE;
return 0;
}
LRESULT CSizeboxWindow::OnKeyDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if (wParam == VK_ESCAPE)
{
if (GetCapture() == m_hWnd)
{
ReleaseCapture();
}
}
return 0;
}

View File

@@ -4,6 +4,7 @@
* FILE: base/applications/mspaint/sizebox.h
* PURPOSE: Window procedure of the size boxes
* PROGRAMMERS: Benedikt Freisen
* Katayama Hirofumi MZ
*/
class CSizeboxWindow : public CWindowImpl<CSizeboxWindow>
@@ -16,10 +17,14 @@ public:
MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown)
MESSAGE_HANDLER(WM_MOUSEMOVE, OnMouseMove)
MESSAGE_HANDLER(WM_LBUTTONUP, OnLButtonUp)
MESSAGE_HANDLER(WM_CAPTURECHANGED, OnCaptureChanged)
MESSAGE_HANDLER(WM_KEYDOWN, OnKeyDown)
END_MSG_MAP()
LRESULT OnSetCursor(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnLButtonDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnMouseMove(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnLButtonUp(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnCaptureChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnKeyDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
};

View File

@@ -5,6 +5,7 @@
* PURPOSE: Window procedure of the main window and all children apart from
* hPalWin, hToolSettings and hSelection
* PROGRAMMERS: Benedikt Freisen
* Katayama Hirofumi MZ
*/
/* INCLUDES *********************************************************/
@@ -66,7 +67,13 @@ void CMainWindow::alignChildrenToMainWindow()
h = clientRect.bottom - 3;
}
scrollboxWindow.MoveWindow(x, y, w, ::IsWindowVisible(hStatusBar) ? h - 23 : h, TRUE);
RECT statusBarRect0;
SendMessage(hStatusBar, SB_GETRECT, 0, (LPARAM)&statusBarRect0);
int statusBarBorders[3];
SendMessage(hStatusBar, SB_GETBORDERS, 0, (LPARAM)&statusBarBorders);
int statusBarHeight = statusBarRect0.bottom - statusBarRect0.top + statusBarBorders[1];
scrollboxWindow.MoveWindow(x, y, w, ::IsWindowVisible(hStatusBar) ? h - statusBarHeight : h, TRUE);
paletteWindow.MoveWindow(x, 9, 255, 32, TRUE);
}
@@ -327,18 +334,33 @@ LRESULT CMainWindow::OnKeyDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bH
{
if (wParam == VK_ESCAPE)
{
if (!imageArea.drawing)
HWND hwndCapture = GetCapture();
if (hwndCapture)
{
/* Deselect */
if ((toolsModel.GetActiveTool() == TOOL_RECTSEL) || (toolsModel.GetActiveTool() == TOOL_FREESEL))
if (selectionWindow.m_hWnd == hwndCapture ||
imageArea.m_hWnd == hwndCapture ||
fullscreenWindow.m_hWnd == hwndCapture ||
sizeboxLeftTop.m_hWnd == hwndCapture ||
sizeboxCenterTop.m_hWnd == hwndCapture ||
sizeboxRightTop.m_hWnd == hwndCapture ||
sizeboxLeftCenter.m_hWnd == hwndCapture ||
sizeboxRightCenter.m_hWnd == hwndCapture ||
sizeboxLeftBottom.m_hWnd == hwndCapture ||
sizeboxCenterBottom.m_hWnd == hwndCapture ||
sizeboxRightBottom.m_hWnd == hwndCapture)
{
startPaintingL(imageModel.GetDC(), 0, 0, paletteModel.GetFgColor(), paletteModel.GetBgColor());
whilePaintingL(imageModel.GetDC(), 0, 0, paletteModel.GetFgColor(), paletteModel.GetBgColor());
endPaintingL(imageModel.GetDC(), 0, 0, paletteModel.GetFgColor(), paletteModel.GetBgColor());
selectionWindow.ShowWindow(SW_HIDE);
SendMessage(hwndCapture, nMsg, wParam, lParam);
}
}
else
{
switch (toolsModel.GetActiveTool())
{
case TOOL_SHAPE: case TOOL_BEZIER:
imageArea.SendMessage(nMsg, wParam, lParam);
break;
}
}
/* FIXME: also cancel current drawing underway */
}
return 0;
}

View File

@@ -94,11 +94,23 @@ enum MCS_PDU_TYPE
#define SEC_PADDING_SIZE 8
#define SEC_EXPONENT_SIZE 4
#define SEC_CLIENT_RANDOM 0x0001
/* TS_SECURITY_HEADER.flags */
#define SEC_EXCHANGE_PKT 0x0001
#define SEC_TRANSPORT_REQ 0x0002
#define RDP_SEC_TRANSPORT_RSP 0x0004
#define SEC_ENCRYPT 0x0008
#define SEC_LOGON_INFO 0x0040
#define SEC_LICENCE_NEG 0x0080
#define SEC_REDIRECT_ENCRYPT 0x0C00
#define SEC_RESET_SEQNO 0x0010
#define SEC_IGNORE_SEQNO 0x0020
#define SEC_INFO_PKT 0x0040
#define SEC_LICENSE_PKT 0x0080
#define SEC_LICENSE_ENCRYPT_CS 0x0200
#define SEC_LICENSE_ENCRYPT_SC 0x0200
#define SEC_REDIRECTION_PKT 0x0400
#define SEC_SECURE_CHECKSUM 0x0800
#define SEC_AUTODETECT_REQ 0x1000
#define SEC_AUTODETECT_RSP 0x2000
#define SEC_HEARTBEAT 0x4000
#define SEC_FLAGSHI_VALID 0x8000
#define SEC_TAG_SRV_INFO 0x0c01
#define SEC_TAG_SRV_CRYPT 0x0c02
@@ -131,12 +143,12 @@ enum MCS_PDU_TYPE
#define LICENCE_SIGNATURE_SIZE 16
#define LICENCE_TAG_REQUEST 0x01
#define LICENCE_TAG_PLATFORM_CHALLENGE 0x02
#define LICENCE_TAG_PLATFORM_CHALLANGE 0x02
#define LICENCE_TAG_NEW_LICENCE 0x03
#define LICENCE_TAG_UPGRADE_LICENCE 0x04
#define LICENCE_TAG_LICENCE_INFO 0x12
#define LICENCE_TAG_NEW_LICENCE_REQUEST 0x13
#define LICENCE_TAG_PLATFORM_CHALLENGE_RESPONSE 0x15
#define LICENCE_TAG_PLATFORM_CHALLANGE_RESPONSE 0x15
#define LICENCE_TAG_ERROR_ALERT 0xff
#define BB_CLIENT_USER_NAME_BLOB 0x000f
@@ -323,19 +335,20 @@ enum RDP_INPUT_DEVICE
#define RDP_INFO_AUTOLOGON 0x00000008
#define RDP_INFO_UNICODE 0x00000010
#define RDP_INFO_MAXIMIZESHELL 0x00000020
#define RDP_INFO_COMPRESSION 0x00000080 /* mppc compression with 8kB history buffer */
#define RDP_INFO_COMPRESSION 0x00000080 /* mppc compression with 8kB histroy buffer */
#define RDP_INFO_ENABLEWINDOWSKEY 0x00000100
#define RDP_INFO_COMPRESSION2 0x00000200 /* rdp5 mppc compression with 64kB history buffer */
#define RDP_INFO_REMOTE_CONSOLE_AUDIO 0x00002000
#define RDP_INFO_PASSWORD_IS_SC_PIN 0x00040000
#define RDP5_DISABLE_NOTHING 0x00
#define RDP5_NO_WALLPAPER 0x01
#define RDP5_NO_FULLWINDOWDRAG 0x02
#define RDP5_NO_MENUANIMATIONS 0x04
#define RDP5_NO_THEMING 0x08
#define RDP5_NO_CURSOR_SHADOW 0x20
#define RDP5_NO_CURSORSETTINGS 0x40 /* disables cursor blinking */
/* TS_EXTENDED_INFO_PACKET.performanceFlags */
#define PERF_DISABLE_WALLPAPER 0x01
#define PERF_DISABLE_FULLWINDOWDRAG 0x02
#define PERF_DISABLE_MENUANIMATIONS 0x04
#define PERF_DISABLE_THEMING 0x08
#define PERF_DISABLE_CURSOR_SHADOW 0x20
#define PERF_DISABLE_CURSORSETTINGS 0x40 /* disables cursor blinking */
#define PERF_ENABLE_FONT_SMOOTHING 0x80
/* compression types */
#define RDP_MPPC_BIG 0x01
@@ -481,6 +494,48 @@ enum RDP_INPUT_DEVICE
#define FILE_DELETE_ON_CLOSE 0x00001000
#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
#define CAP_GENERAL_TYPE 0x0001
#define CAP_PRINTER_TYPE 0x0002
#define CAP_PORT_TYPE 0x0003
#define CAP_DRIVE_TYPE 0x0004
#define CAP_SMARTCARD_TYPE 0x0005
#define GENERAL_CAPABILITY_VERSION_01 0x00000001
#define GENERAL_CAPABILITY_VERSION_02 0x00000002
#define PRINT_CAPABILITY_VERSION_01 0x00000001
#define PORT_CAPABILITY_VERSION_01 0x00000001
#define DRIVE_CAPABILITY_VERSION_01 0x00000001
#define DRIVE_CAPABILITY_VERSION_02 0x00000002
#define SMARTCARD_CAPABILITY_VERSION_01 0x00000001
#define RDPDR_IRP_MJ_CREATE 0x00000001
#define RDPDR_IRP_MJ_CLEANUP 0x00000002
#define RDPDR_IRP_MJ_CLOSE 0x00000004
#define RDPDR_IRP_MJ_READ 0x00000008
#define RDPDR_IRP_MJ_WRITE 0x00000010
#define RDPDR_IRP_MJ_FLUSH_BUFFERS 0x00000020
#define RDPDR_IRP_MJ_SHUTDOWN 0x00000040
#define RDPDR_IRP_MJ_DEVICE_CONTROL 0x00000080
#define RDPDR_IRP_MJ_QUERY_VOLUME_INFORMATION 0x00000100
#define RDPDR_IRP_MJ_SET_VOLUME_INFORMATION 0x00000200
#define RDPDR_IRP_MJ_QUERY_INFORMATION 0x00000400
#define RDPDR_IRP_MJ_SET_INFORMATION 0x00000800
#define RDPDR_IRP_MJ_DIRECTORY_CONTROL 0x00001000
#define RDPDR_IRP_MJ_LOCK_CONTROL 0x00002000
#define RDPDR_IRP_MJ_QUERY_SECURITY 0x00004000
#define RDPDR_IRP_MJ_SET_SECURITY 0x00008000
#define ALL_RDPDR_IRP_MJ 0x0000FFFF
#define RDPDR_PRINTER_ANNOUNCE_FLAG_ASCII 0x00000001
#define RDPDR_PRINTER_ANNOUNCE_FLAG_DEFAULTPRINTER 0x00000002
#define RDPDR_PRINTER_ANNOUNCE_FLAG_NETWORKPRINTER 0x00000004
#define RDPDR_PRINTER_ANNOUNCE_FLAG_TSPRINTER 0x00000008
#define RDPDR_PRINTER_ANNOUNCE_FLAG_XPSFORMAT 0x00000010
#define RDPDR_DEVICE_REMOVE_PDUS 0x00000001
#define RDPDR_CLIENT_DISPLAY_NAME_PDU 0x00000002
#define RDPDR_USER_LOGGEDON_PDU 0x00000004
/* RDP5 disconnect PDU */
#define exDiscReasonNoInfo 0x0000
#define exDiscReasonAPIInitiatedDisconnect 0x0001
@@ -531,15 +586,20 @@ enum RDP_INPUT_DEVICE
/* redirect flags, from [MS-RDPBCGR] 2.2.13.1 */
enum RDP_PDU_REDIRECT_FLAGS
{
PDU_REDIRECT_HAS_IP = 0x1,
PDU_REDIRECT_HAS_LOAD_BALANCE_INFO = 0x2,
PDU_REDIRECT_HAS_USERNAME = 0x4,
PDU_REDIRECT_HAS_DOMAIN = 0x8,
PDU_REDIRECT_HAS_PASSWORD = 0x10,
PDU_REDIRECT_DONT_STORE_USERNAME = 0x20,
PDU_REDIRECT_USE_SMARTCARD = 0x40,
PDU_REDIRECT_INFORMATIONAL = 0x80,
PDU_REDIRECT_HAS_TARGET_FQDN = 0x100,
PDU_REDIRECT_HAS_TARGET_NETBIOS = 0x200,
PDU_REDIRECT_HAS_TARGET_IP_ARRAY = 0x800
LB_TARGET_NET_ADDRESS = 0x1,
LB_LOAD_BALANCE_INFO = 0x2,
LB_USERNAME = 0x4,
LB_DOMAIN = 0x8,
LB_PASSWORD = 0x10,
LB_DONTSTOREUSERNAME = 0x20,
LB_SMARTCARD_LOGON = 0x40,
LB_NOREDIRECT = 0x80,
LB_TARGET_FQDN = 0x100,
LB_TARGET_NETBIOS = 0x200,
LB_TARGET_NET_ADDRESSES = 0x800,
LB_CLIENT_TSV_URL = 0x1000,
LB_SERVER_TSV_CAPABLE = 0x2000,
LB_PASSWORD_IS_PK_ENCRYPTED = 0x4000,
LB_REDIRECTION_GUID = 0x8000,
LB_TARGET_CERTIFICATE = 0x10000
};

View File

@@ -23,16 +23,16 @@
#include "precomp.h"
void *
ssl_rc4_info_create(void);
rdssl_rc4_info_create(void);
void
ssl_rc4_info_delete(void * rc4_info);
rdssl_rc4_info_delete(void * rc4_info);
void
ssl_rc4_set_key(void * rc4_info, char * key, int len);
rdssl_rc4_set_key(void * rc4_info, char * key, int len);
void
ssl_rc4_crypt(void * rc4_info, char * in_data, char * out_data, int len);
rdssl_rc4_crypt(void * rc4_info, char * in_data, char * out_data, int len);
int
ssl_mod_exp(char* out, int out_len, char* in, int in_len,
char* mod, int mod_len, char* exp, int exp_len);
rdssl_mod_exp(char* out, int out_len, char* in, int in_len,
char* mod, int mod_len, char* exp, int exp_len);
extern char g_username[256];
extern char g_hostname[256];
@@ -74,7 +74,7 @@ static void
licence_info(uint8 * client_random, uint8 * rsa_data,
uint8 * licence_data, int licence_size, uint8 * hwid, uint8 * signature)
{
uint32 sec_flags = SEC_LICENCE_NEG;
uint32 sec_flags = SEC_LICENSE_PKT;
uint16 length =
24 + SEC_RANDOM_SIZE + SEC_MODULUS_SIZE + SEC_PADDING_SIZE +
licence_size + LICENCE_HWID_SIZE + LICENCE_SIGNATURE_SIZE;
@@ -114,7 +114,7 @@ licence_info(uint8 * client_random, uint8 * rsa_data,
static void
licence_send_new_licence_request(uint8 * client_random, uint8 * rsa_data, char *user, char *host)
{
uint32 sec_flags = SEC_LICENCE_NEG;
uint32 sec_flags = SEC_LICENSE_PKT;
uint16 userlen = strlen(user) + 1;
uint16 hostlen = strlen(host) + 1;
uint16 length =
@@ -179,10 +179,10 @@ licence_process_request(STREAM s)
sec_sign(signature, 16, g_licence_sign_key, 16, hwid, sizeof(hwid));
/* Now encrypt the HWID */
crypt_key = ssl_rc4_info_create();
ssl_rc4_set_key(crypt_key, (char *)g_licence_key, 16);
ssl_rc4_crypt(crypt_key, (char *)hwid, (char *)hwid, sizeof(hwid));
ssl_rc4_info_delete(crypt_key);
crypt_key = rdssl_rc4_info_create();
rdssl_rc4_set_key(crypt_key, (char *)g_licence_key, 16);
rdssl_rc4_crypt(crypt_key, (char *)hwid, (char *)hwid, sizeof(hwid));
rdssl_rc4_info_delete(crypt_key);
#if WITH_DEBUG
DEBUG(("Sending licensing PDU (message type 0x%02x)\n", LICENCE_TAG_LICENCE_INFO));
@@ -203,13 +203,13 @@ licence_process_request(STREAM s)
static void
licence_send_platform_challenge_response(uint8 * token, uint8 * crypt_hwid, uint8 * signature)
{
uint32 sec_flags = SEC_LICENCE_NEG;
uint32 sec_flags = SEC_LICENSE_PKT;
uint16 length = 58;
STREAM s;
s = sec_init(sec_flags, length + 2);
out_uint8(s, LICENCE_TAG_PLATFORM_CHALLENGE_RESPONSE);
out_uint8(s, LICENCE_TAG_PLATFORM_CHALLANGE_RESPONSE);
out_uint8(s, ((g_rdp_version >= RDP_V5) ? 3 : 2)); /* version */
out_uint16_le(s, length);
@@ -264,10 +264,10 @@ licence_process_platform_challenge(STREAM s)
memcpy(out_token, in_token, LICENCE_TOKEN_SIZE);
/* Decrypt the token. It should read TEST in Unicode. */
crypt_key = ssl_rc4_info_create();
ssl_rc4_set_key(crypt_key, (char *)g_licence_key, 16);
ssl_rc4_crypt(crypt_key, (char *)in_token, (char *)decrypt_token, LICENCE_TOKEN_SIZE);
ssl_rc4_info_delete(crypt_key);
crypt_key = rdssl_rc4_info_create();
rdssl_rc4_set_key(crypt_key, (char *)g_licence_key, 16);
rdssl_rc4_crypt(crypt_key, (char *)in_token, (char *)decrypt_token, LICENCE_TOKEN_SIZE);
rdssl_rc4_info_delete(crypt_key);
/* Generate a signature for a buffer of token and HWID */
licence_generate_hwid(hwid);
@@ -276,10 +276,9 @@ licence_process_platform_challenge(STREAM s)
sec_sign(out_sig, 16, g_licence_sign_key, 16, sealed_buffer, sizeof(sealed_buffer));
/* Now encrypt the HWID */
crypt_key = ssl_rc4_info_create();
ssl_rc4_set_key(crypt_key, (char *)g_licence_key, 16);
ssl_rc4_crypt(crypt_key, (char *)hwid, (char *)crypt_hwid, LICENCE_HWID_SIZE);
ssl_rc4_info_delete(crypt_key);
crypt_key = rdssl_rc4_info_create();
rdssl_rc4_set_key(crypt_key, (char *)g_licence_key, 16);
rdssl_rc4_crypt(crypt_key, (char *)hwid, (char *)crypt_hwid, LICENCE_HWID_SIZE);
licence_send_platform_challenge_response(out_token, crypt_hwid, out_sig);
}
@@ -297,10 +296,10 @@ licence_process_new_license(STREAM s)
if (!s_check_rem(s, length))
return;
crypt_key = ssl_rc4_info_create();
ssl_rc4_set_key(crypt_key, (char *)g_licence_key, 16);
ssl_rc4_crypt(crypt_key, (char *)s->p, (char *)s->p, length);
ssl_rc4_info_delete(crypt_key);
crypt_key = rdssl_rc4_info_create();
rdssl_rc4_set_key(crypt_key, (char *)g_licence_key, 16);
rdssl_rc4_crypt(crypt_key, (char *)s->p, (char *)s->p, length);
rdssl_rc4_info_delete(crypt_key);
/* Parse NEW_LICENSE_INFO block */
in_uint8s(s, 4); // skip dwVersion
@@ -393,7 +392,7 @@ licence_process(STREAM s)
licence_process_request(s);
break;
case LICENCE_TAG_PLATFORM_CHALLENGE:
case LICENCE_TAG_PLATFORM_CHALLANGE:
licence_process_platform_challenge(s);
break;

View File

@@ -13,6 +13,7 @@
#include <wincon.h>
#include <shlobj.h>
#include <stdio.h>
#include <wincrypt.h>
#include "rdesktop.h"
#include "resource.h"
@@ -20,20 +21,6 @@
#ifndef __TODO_MSTSC_H
#define __TODO_MSTSC_H
#define RDP_INFO_MOUSE 0x00000001
#define RDP_INFO_DISABLECTRLALTDEL 0x00000002
#define RDP_INFO_AUTOLOGON 0x00000008
#define RDP_INFO_UNICODE 0x00000010
#define RDP_INFO_MAXIMIZESHELL 0x00000020
#define RDP_INFO_COMPRESSION 0x00000080 /* mppc compression with 8kB history buffer */
#define RDP_INFO_ENABLEWINDOWSKEY 0x00000100
#define RDP_INFO_COMPRESSION2 0x00000200 /* rdp5 mppc compression with 64kB history buffer */
#define RDP_INFO_REMOTE_CONSOLE_AUDIO 0x00002000
#define RDP_INFO_PASSWORD_IS_SC_PIN 0x00040000
#define RDP5_DISABLE_NOTHING 0x00
#define RDP5_NO_WALLPAPER 0x01
#define RDP_LOGON_NORMAL (RDP_INFO_MOUSE | RDP_INFO_DISABLECTRLALTDEL | RDP_INFO_UNICODE | RDP_INFO_MAXIMIZESHELL)
#define IS_PERSISTENT(id) (id < 8 && g_pstcache_fd[id] > 0)

View File

@@ -24,12 +24,6 @@
extern "C" {
#endif
/* *INDENT-ON* */
/* utils.c */
char *utils_string_escape(const char *str);
char *utils_string_unescape(const char *str);
int utils_locale_to_utf8(const char *src, size_t is, char *dest, size_t os);
int utils_mkdir_safe(const char *path, int mask);
int utils_mkdir_p(const char *path, int mask);
/* bitmap.c */
RD_BOOL bitmap_decompress(uint8 * output, int width, int height, uint8 * input, int size, int Bpp);
/* cache.c */

View File

@@ -70,7 +70,7 @@ extern time_t g_reconnect_random_ts;
extern RD_BOOL g_has_reconnect_random;
extern uint8 g_client_random[SEC_RANDOM_SIZE];
void ssl_hmac_md5(char* key, int keylen, char* data, int len, char* output);
void rdssl_hmac_md5(char* key, int keylen, char* data, int len, char* output);
#if WITH_DEBUG
static uint32 g_packetno;
@@ -139,7 +139,7 @@ rdp_recv(uint8 * type)
static STREAM
rdp_init_data(int maxlen)
{
STREAM s = NULL;
STREAM s;
s = sec_init(g_encryption ? SEC_ENCRYPT : 0, maxlen + 18);
s_push_layer(s, rdp_hdr, 18);
@@ -171,6 +171,18 @@ rdp_send_data(STREAM s, uint8 data_pdu_type)
sec_send(s, g_encryption ? SEC_ENCRYPT : 0);
}
/* Output a string in Unicode with mandatory null termination. If
string is NULL or len is 0, write an unicode null termination to
stream. */
void
rdp_out_unistr_mandatory_null(STREAM s, char *string, int len)
{
if (string && len > 0)
rdp_out_unistr(s, string, len);
else
out_uint16_le(s, 0);
}
/* Output a string in Unicode */
void
rdp_out_unistr(STREAM s, char *string, int len)
@@ -340,19 +352,23 @@ rdp_send_logon_info(uint32 flags, char *domain, char *user,
int len_directory = 2 * strlen(directory);
/* length of strings in TS_EXTENDED_PACKET includes null terminator */
char dllName[MAX_PATH];
int len_ip = 2 * strlen(ipaddr) + 2;
int len_dll = 2 * strlen("C:\\") + 2;
int len_dll = 0;
int packetlen = 0;
uint32 sec_flags = g_encryption ? (SEC_LOGON_INFO | SEC_ENCRYPT) : SEC_LOGON_INFO;
STREAM s = NULL;
uint32 sec_flags = g_encryption ? (SEC_INFO_PKT | SEC_ENCRYPT) : SEC_INFO_PKT;
STREAM s;
time_t t = time(NULL);
time_t tzone;
uint8 security_verifier[16];
GetModuleFileNameA(NULL, dllName, ARRAYSIZE(dllName));
len_dll = 2 * strlen(dllName) + 2;
if (g_rdp_version == RDP_V4 || 1 == g_server_rdp_version)
{
DEBUG_RDP5(("Sending RDP4-style Logon packet\n"));
DEBUG_RDP5(("Sending RDP4-style Logon packet\n"));
s = sec_init(sec_flags, 18 + len_domain + len_user + len_password
+ len_program + len_directory + 10);
@@ -364,11 +380,12 @@ rdp_send_logon_info(uint32 flags, char *domain, char *user,
out_uint16_le(s, len_password);
out_uint16_le(s, len_program);
out_uint16_le(s, len_directory);
rdp_out_unistr(s, domain, len_domain);
rdp_out_unistr(s, user, len_user);
rdp_out_unistr(s, password, len_password);
rdp_out_unistr(s, program, len_program);
rdp_out_unistr(s, directory, len_directory);
rdp_out_unistr_mandatory_null(s, domain, len_domain);
rdp_out_unistr_mandatory_null(s, user, len_user);
rdp_out_unistr_mandatory_null(s, password, len_password);
rdp_out_unistr_mandatory_null(s, program, len_program);
rdp_out_unistr_mandatory_null(s, directory, len_directory);
}
else
{
@@ -376,6 +393,7 @@ rdp_send_logon_info(uint32 flags, char *domain, char *user,
if (g_redirect == True && g_redirect_cookie_len > 0)
{
flags |= RDP_INFO_AUTOLOGON;
len_password = g_redirect_cookie_len;
len_password -= 2; /* substract 2 bytes which is added below */
}
@@ -427,46 +445,28 @@ rdp_send_logon_info(uint32 flags, char *domain, char *user,
out_uint16_le(s, len_program);
out_uint16_le(s, len_directory);
if (0 < len_domain)
rdp_out_unistr(s, domain, len_domain);
else
out_uint16_le(s, 0); /* mandatory 2 bytes null terminator */
rdp_out_unistr_mandatory_null(s, domain, len_domain);
rdp_out_unistr_mandatory_null(s, user, len_user);
if (0 < len_user)
rdp_out_unistr(s, user, len_user);
else
out_uint16_le(s, 0); /* mandatory 2 bytes null terminator */
if (0 < len_password)
if (g_redirect == True && 0 < g_redirect_cookie_len)
{
if (g_redirect == True && 0 < g_redirect_cookie_len)
{
out_uint8p(s, g_redirect_cookie, g_redirect_cookie_len);
}
else
{
rdp_out_unistr(s, password, len_password);
}
out_uint8p(s, g_redirect_cookie, g_redirect_cookie_len);
}
else
out_uint16_le(s, 0); /* mandatory 2 bytes null terminator */
{
rdp_out_unistr_mandatory_null(s, password, len_password);
}
if (0 < len_program)
rdp_out_unistr(s, program, len_program);
else
out_uint16_le(s, 0); /* mandatory 2 bytes null terminator */
if (0 < len_directory)
rdp_out_unistr(s, directory, len_directory);
else
out_uint16_le(s, 0); /* mandatory 2 bytes null terminator */
rdp_out_unistr_mandatory_null(s, program, len_program);
rdp_out_unistr_mandatory_null(s, directory, len_directory);
/* TS_EXTENDED_INFO_PACKET */
out_uint16_le(s, 2); /* clientAddressFamily = AF_INET */
out_uint16_le(s, len_ip); /* cbClientAddress, Length of client ip */
rdp_out_unistr(s, ipaddr, len_ip - 2); /* clientAddress */
out_uint16_le(s, len_ip); /* cbClientAddress */
rdp_out_unistr_mandatory_null(s, ipaddr, len_ip - 2); /* clientAddress */
out_uint16_le(s, len_dll); /* cbClientDir */
rdp_out_unistr(s, "C:\\", len_dll - 2); /* clientDir */
rdp_out_unistr(s, dllName, len_dll - 2); /* clientDir */
/* TS_TIME_ZONE_INFORMATION */
tzone = (mktime(gmtime(&t)) - mktime(localtime(&t))) / 60;
@@ -498,8 +498,8 @@ rdp_send_logon_info(uint32 flags, char *domain, char *user,
out_uint32_le(s, 28); /* cbLen */
out_uint32_le(s, 1); /* Version */
out_uint32_le(s, g_reconnect_logonid); /* LogonId */
ssl_hmac_md5(g_reconnect_random, sizeof(g_reconnect_random),
(char *)g_client_random, SEC_RANDOM_SIZE, (char *)security_verifier);
rdssl_hmac_md5(g_reconnect_random, sizeof(g_reconnect_random),
(char *)g_client_random, SEC_RANDOM_SIZE, (char *)security_verifier);
out_uint8a(s, security_verifier, sizeof(security_verifier));
}
else
@@ -1547,7 +1547,7 @@ process_redirect_pdu(STREAM s, RD_BOOL enhanced_redirect /*, uint32 * ext_disc_r
/* read connection flags */
in_uint32_le(s, g_redirect_flags);
if (g_redirect_flags & PDU_REDIRECT_HAS_IP)
if (g_redirect_flags & LB_TARGET_NET_ADDRESS)
{
/* read length of ip string */
in_uint32_le(s, len);
@@ -1556,7 +1556,7 @@ process_redirect_pdu(STREAM s, RD_BOOL enhanced_redirect /*, uint32 * ext_disc_r
rdp_in_unistr(s, len, &g_redirect_server, &g_redirect_server_len);
}
if (g_redirect_flags & PDU_REDIRECT_HAS_LOAD_BALANCE_INFO)
if (g_redirect_flags & LB_LOAD_BALANCE_INFO)
{
/* read length of load balance info blob */
in_uint32_le(s, g_redirect_lb_info_len);
@@ -1571,7 +1571,7 @@ process_redirect_pdu(STREAM s, RD_BOOL enhanced_redirect /*, uint32 * ext_disc_r
in_uint8p(s, g_redirect_lb_info, g_redirect_lb_info_len);
}
if (g_redirect_flags & PDU_REDIRECT_HAS_USERNAME)
if (g_redirect_flags & LB_USERNAME)
{
/* read length of username string */
in_uint32_le(s, len);
@@ -1580,7 +1580,7 @@ process_redirect_pdu(STREAM s, RD_BOOL enhanced_redirect /*, uint32 * ext_disc_r
rdp_in_unistr(s, len, &g_redirect_username, &g_redirect_username_len);
}
if (g_redirect_flags & PDU_REDIRECT_HAS_DOMAIN)
if (g_redirect_flags & LB_DOMAIN)
{
/* read length of domain string */
in_uint32_le(s, len);
@@ -1589,7 +1589,7 @@ process_redirect_pdu(STREAM s, RD_BOOL enhanced_redirect /*, uint32 * ext_disc_r
rdp_in_unistr(s, len, &g_redirect_domain, &g_redirect_domain_len);
}
if (g_redirect_flags & PDU_REDIRECT_HAS_PASSWORD)
if (g_redirect_flags & LB_PASSWORD)
{
/* the information in this blob is either a password or a cookie that
should be passed though as blob and not parsed as a unicode string */
@@ -1607,24 +1607,24 @@ process_redirect_pdu(STREAM s, RD_BOOL enhanced_redirect /*, uint32 * ext_disc_r
in_uint8p(s, g_redirect_cookie, g_redirect_cookie_len);
}
if (g_redirect_flags & PDU_REDIRECT_DONT_STORE_USERNAME)
if (g_redirect_flags & LB_DONTSTOREUSERNAME)
{
warning("PDU_REDIRECT_DONT_STORE_USERNAME set\n");
warning("LB_DONTSTOREUSERNAME set\n");
}
if (g_redirect_flags & PDU_REDIRECT_USE_SMARTCARD)
if (g_redirect_flags & LB_SMARTCARD_LOGON)
{
warning("PDU_REDIRECT_USE_SMARTCARD set\n");
warning("LB_SMARTCARD_LOGON set\n");
}
if (g_redirect_flags & PDU_REDIRECT_INFORMATIONAL)
if (g_redirect_flags & LB_NOREDIRECT)
{
/* By spec this is only for information and doesn't mean that an actual
redirect should be performed. How it should be used is not mentioned. */
g_redirect = False;
}
if (g_redirect_flags & PDU_REDIRECT_HAS_TARGET_FQDN)
if (g_redirect_flags & LB_TARGET_FQDN)
{
in_uint32_le(s, len);
@@ -1639,14 +1639,39 @@ process_redirect_pdu(STREAM s, RD_BOOL enhanced_redirect /*, uint32 * ext_disc_r
rdp_in_unistr(s, len, &g_redirect_server, &g_redirect_server_len);
}
if (g_redirect_flags & PDU_REDIRECT_HAS_TARGET_NETBIOS)
if (g_redirect_flags & LB_TARGET_NETBIOS)
{
warning("PDU_REDIRECT_HAS_TARGET_NETBIOS set\n");
warning("LB_TARGET_NETBIOS set\n");
}
if (g_redirect_flags & PDU_REDIRECT_HAS_TARGET_IP_ARRAY)
if (g_redirect_flags & LB_TARGET_NET_ADDRESSES)
{
warning("PDU_REDIRECT_HAS_TARGET_IP_ARRAY set\n");
warning("LB_TARGET_NET_ADDRESSES set\n");
}
if (g_redirect_flags & LB_CLIENT_TSV_URL)
{
warning("LB_CLIENT_TSV_URL set\n");
}
if (g_redirect_flags & LB_SERVER_TSV_CAPABLE)
{
warning("LB_SERVER_TSV_CAPABLE set\n");
}
if (g_redirect_flags & LB_PASSWORD_IS_PK_ENCRYPTED)
{
warning("LB_PASSWORD_IS_PK_ENCRYPTED set\n");
}
if (g_redirect_flags & LB_REDIRECTION_GUID)
{
warning("LB_REDIRECTION_GUID set\n");
}
if (g_redirect_flags & LB_TARGET_CERTIFICATE)
{
warning("LB_TARGET_CERTIFICATE set\n");
}
return True;

View File

@@ -21,43 +21,56 @@
#include "precomp.h"
void *
ssl_sha1_info_create(void);
rdssl_sha1_info_create(void);
void
ssl_sha1_info_delete(void * sha1_info);
rdssl_sha1_info_delete(void * sha1_info);
void
ssl_sha1_clear(void * sha1_info);
rdssl_sha1_clear(void * sha1_info);
void
ssl_sha1_transform(void * sha1_info, char * data, int len);
rdssl_sha1_transform(void * sha1_info, char * data, int len);
void
ssl_sha1_complete(void * sha1_info, char * data);
rdssl_sha1_complete(void * sha1_info, char * data);
void *
ssl_md5_info_create(void);
rdssl_md5_info_create(void);
void
ssl_md5_info_delete(void * md5_info);
rdssl_md5_info_delete(void * md5_info);
void *
ssl_md5_info_create(void);
rdssl_md5_info_create(void);
void
ssl_md5_info_delete(void * md5_info);
rdssl_md5_info_delete(void * md5_info);
void
ssl_md5_clear(void * md5_info);
rdssl_md5_clear(void * md5_info);
void
ssl_md5_transform(void * md5_info, char * data, int len);
rdssl_md5_transform(void * md5_info, char * data, int len);
void
ssl_md5_complete(void * md5_info, char * data);
rdssl_md5_complete(void * md5_info, char * data);
void *
ssl_rc4_info_create(void);
rdssl_rc4_info_create(void);
void
ssl_rc4_info_delete(void * rc4_info);
rdssl_rc4_info_delete(void * rc4_info);
void
ssl_rc4_set_key(void * rc4_info, char * key, int len);
rdssl_rc4_set_key(void * rc4_info, char * key, int len);
void
ssl_rc4_crypt(void * rc4_info, char * in_data, char * out_data, int len);
rdssl_rc4_crypt(void * rc4_info, char * in_data, char * out_data, int len);
int
ssl_mod_exp(char* out, int out_len, char* in, int in_len,
char* mod, int mod_len, char* exp, int exp_len);
//int
//ssl_sig_ok(char * exp, int exp_size, char * mod, int mod_len,
// char * sig, int sig_len);
rdssl_mod_exp(char* out, int out_len, char* in, int in_len,
char* mod, int mod_len, char* exp, int exp_len);
int
rdssl_sign_ok(char* e_data, int e_len, char* n_data, int n_len,
char* sign_data, int sign_len, char* sign_data2, int sign_len2, char* testkey);
PCCERT_CONTEXT
rdssl_cert_read(uint8 * data, uint32 len);
void
rdssl_cert_free(PCCERT_CONTEXT context);
uint8 *
rdssl_cert_to_rkey(PCCERT_CONTEXT cert, uint32 * key_len);
RD_BOOL
rdssl_certs_ok(PCCERT_CONTEXT server_cert, PCCERT_CONTEXT cacert);
int
rdssl_rkey_get_exp_mod(uint8 * rkey, uint8 * exponent, uint32 max_exp_len, uint8 * modulus,
uint32 max_mod_len);
void
rdssl_rkey_free(uint8 * rkey);
extern char g_hostname[16];
extern int g_width;
@@ -97,37 +110,6 @@ static int g_sec_decrypt_use_count = 0;
#define SEC_MODULUS_SIZE 64
static uint8 g_ppk_n[72] =
{
0x3D, 0x3A, 0x5E, 0xBD, 0x72, 0x43, 0x3E, 0xC9,
0x4D, 0xBB, 0xC1, 0x1E, 0x4A, 0xBA, 0x5F, 0xCB,
0x3E, 0x88, 0x20, 0x87, 0xEF, 0xF5, 0xC1, 0xE2,
0xD7, 0xB7, 0x6B, 0x9A, 0xF2, 0x52, 0x45, 0x95,
0xCE, 0x63, 0x65, 0x6B, 0x58, 0x3A, 0xFE, 0xEF,
0x7C, 0xE7, 0xBF, 0xFE, 0x3D, 0xF6, 0x5C, 0x7D,
0x6C, 0x5E, 0x06, 0x09, 0x1A, 0xF5, 0x61, 0xBB,
0x20, 0x93, 0x09, 0x5F, 0x05, 0x6D, 0xEA, 0x87,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static uint8 g_ppk_d[108] =
{
0x87, 0xA7, 0x19, 0x32, 0xDA, 0x11, 0x87, 0x55,
0x58, 0x00, 0x16, 0x16, 0x25, 0x65, 0x68, 0xF8,
0x24, 0x3E, 0xE6, 0xFA, 0xE9, 0x67, 0x49, 0x94,
0xCF, 0x92, 0xCC, 0x33, 0x99, 0xE8, 0x08, 0x60,
0x17, 0x9A, 0x12, 0x9F, 0x24, 0xDD, 0xB1, 0x24,
0x99, 0xC7, 0x3A, 0xB8, 0x0A, 0x7B, 0x0D, 0xDD,
0x35, 0x07, 0x79, 0x17, 0x0B, 0x51, 0x9B, 0xB3,
0xC7, 0x10, 0x01, 0x13, 0xE7, 0x3F, 0xF3, 0x5F,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
static uint8 g_testkey[176] =
{
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
@@ -181,20 +163,20 @@ sec_hash_48(uint8 * out, uint8 * in, uint8 * salt1, uint8 * salt2, uint8 salt)
for (i = 0; i < 3; i++)
{
memset(pad, salt + i, i + 1);
sha = ssl_sha1_info_create();
ssl_sha1_clear(sha);
ssl_sha1_transform(sha, (char *)pad, i + 1);
ssl_sha1_transform(sha, (char *)in, 48);
ssl_sha1_transform(sha, (char *)salt1, 32);
ssl_sha1_transform(sha, (char *)salt2, 32);
ssl_sha1_complete(sha, (char *)shasig);
ssl_sha1_info_delete(sha);
md5 = ssl_md5_info_create();
ssl_md5_clear(md5);
ssl_md5_transform(md5, (char *)in, 48);
ssl_md5_transform(md5, (char *)shasig, 20);
ssl_md5_complete(md5, (char *)out + i * 16);
ssl_md5_info_delete(md5);
sha = rdssl_sha1_info_create();
rdssl_sha1_clear(sha);
rdssl_sha1_transform(sha, (char *)pad, i + 1);
rdssl_sha1_transform(sha, (char *)in, 48);
rdssl_sha1_transform(sha, (char *)salt1, 32);
rdssl_sha1_transform(sha, (char *)salt2, 32);
rdssl_sha1_complete(sha, (char *)shasig);
rdssl_sha1_info_delete(sha);
md5 = rdssl_md5_info_create();
rdssl_md5_clear(md5);
rdssl_md5_transform(md5, (char *)in, 48);
rdssl_md5_transform(md5, (char *)shasig, 20);
rdssl_md5_complete(md5, (char *)out + i * 16);
rdssl_md5_info_delete(md5);
}
}
@@ -206,13 +188,13 @@ sec_hash_16(uint8 * out, uint8 * in, uint8 * salt1, uint8 * salt2)
{
void * md5;
md5 = ssl_md5_info_create();
ssl_md5_clear(md5);
ssl_md5_transform(md5, (char *)in, 16);
ssl_md5_transform(md5, (char *)salt1, 32);
ssl_md5_transform(md5, (char *)salt2, 32);
ssl_md5_complete(md5, (char *)out);
ssl_md5_info_delete(md5);
md5 = rdssl_md5_info_create();
rdssl_md5_clear(md5);
rdssl_md5_transform(md5, (char *)in, 16);
rdssl_md5_transform(md5, (char *)salt1, 32);
rdssl_md5_transform(md5, (char *)salt2, 32);
rdssl_md5_complete(md5, (char *)out);
rdssl_md5_info_delete(md5);
}
/*
@@ -222,12 +204,12 @@ void
sec_hash_sha1_16(uint8 * out, uint8 * in, uint8 * salt1)
{
void * sha;
sha = ssl_sha1_info_create();
ssl_sha1_clear(sha);
ssl_sha1_transform(&sha, (char *)in, 16);
ssl_sha1_transform(&sha, (char *)salt1, 16);
ssl_sha1_complete(&sha, (char *)out);
ssl_sha1_info_delete(sha);
sha = rdssl_sha1_info_create();
rdssl_sha1_clear(sha);
rdssl_sha1_transform(&sha, (char *)in, 16);
rdssl_sha1_transform(&sha, (char *)salt1, 16);
rdssl_sha1_complete(&sha, (char *)out);
rdssl_sha1_info_delete(sha);
}
/* create string from hash */
@@ -294,13 +276,13 @@ sec_generate_keys(uint8 * client_random, uint8 * server_random, int rc4_key_size
/* Initialise RC4 state arrays */
ssl_rc4_info_delete(g_rc4_decrypt_key);
g_rc4_decrypt_key = ssl_rc4_info_create();
ssl_rc4_set_key(g_rc4_decrypt_key, (char *)g_sec_decrypt_key, g_rc4_key_len);
rdssl_rc4_info_delete(g_rc4_decrypt_key);
g_rc4_decrypt_key = rdssl_rc4_info_create();
rdssl_rc4_set_key(g_rc4_decrypt_key, (char *)g_sec_decrypt_key, g_rc4_key_len);
ssl_rc4_info_delete(g_rc4_encrypt_key);
g_rc4_encrypt_key = ssl_rc4_info_create();
ssl_rc4_set_key(g_rc4_encrypt_key, (char *)g_sec_encrypt_key, g_rc4_key_len);
rdssl_rc4_info_delete(g_rc4_encrypt_key);
g_rc4_encrypt_key = rdssl_rc4_info_create();
rdssl_rc4_set_key(g_rc4_encrypt_key, (char *)g_sec_encrypt_key, g_rc4_key_len);
}
static uint8 pad_54[40] = {
@@ -339,22 +321,22 @@ sec_sign(uint8 * signature, int siglen, uint8 * session_key, int keylen, uint8 *
buf_out_uint32(lenhdr, datalen);
sha = ssl_sha1_info_create();
ssl_sha1_clear(sha);
ssl_sha1_transform(sha, (char *)session_key, keylen);
ssl_sha1_transform(sha, (char *)pad_54, 40);
ssl_sha1_transform(sha, (char *)lenhdr, 4);
ssl_sha1_transform(sha, (char *)data, datalen);
ssl_sha1_complete(sha, (char *)shasig);
ssl_sha1_info_delete(sha);
sha = rdssl_sha1_info_create();
rdssl_sha1_clear(sha);
rdssl_sha1_transform(sha, (char *)session_key, keylen);
rdssl_sha1_transform(sha, (char *)pad_54, 40);
rdssl_sha1_transform(sha, (char *)lenhdr, 4);
rdssl_sha1_transform(sha, (char *)data, datalen);
rdssl_sha1_complete(sha, (char *)shasig);
rdssl_sha1_info_delete(sha);
md5 = ssl_md5_info_create();
ssl_md5_clear(md5);
ssl_md5_transform(md5, (char *)session_key, keylen);
ssl_md5_transform(md5, (char *)pad_92, 48);
ssl_md5_transform(md5, (char *)shasig, 20);
ssl_md5_complete(md5, (char *)md5sig);
ssl_md5_info_delete(md5);
md5 = rdssl_md5_info_create();
rdssl_md5_clear(md5);
rdssl_md5_transform(md5, (char *)session_key, keylen);
rdssl_md5_transform(md5, (char *)pad_92, 48);
rdssl_md5_transform(md5, (char *)shasig, 20);
rdssl_md5_complete(md5, (char *)md5sig);
rdssl_md5_info_delete(md5);
memcpy(signature, md5sig, siglen);
}
@@ -368,27 +350,27 @@ sec_update(uint8 * key, uint8 * update_key)
void * md5;
void * update;
sha = ssl_sha1_info_create();
ssl_sha1_clear(sha);
ssl_sha1_transform(sha, (char *)update_key, g_rc4_key_len);
ssl_sha1_transform(sha, (char *)pad_54, 40);
ssl_sha1_transform(sha, (char *)key, g_rc4_key_len);
ssl_sha1_complete(sha, (char *)shasig);
ssl_sha1_info_delete(sha);
sha = rdssl_sha1_info_create();
rdssl_sha1_clear(sha);
rdssl_sha1_transform(sha, (char *)update_key, g_rc4_key_len);
rdssl_sha1_transform(sha, (char *)pad_54, 40);
rdssl_sha1_transform(sha, (char *)key, g_rc4_key_len);
rdssl_sha1_complete(sha, (char *)shasig);
rdssl_sha1_info_delete(sha);
md5 = ssl_md5_info_create();
ssl_md5_clear(md5);
ssl_md5_transform(md5, (char *)update_key, g_rc4_key_len);
ssl_md5_transform(md5, (char *)pad_92, 48);
ssl_md5_transform(md5, (char *)shasig, 20);
ssl_md5_complete(md5, (char *)key);
ssl_md5_info_delete(md5);
md5 = rdssl_md5_info_create();
rdssl_md5_clear(md5);
rdssl_md5_transform(md5, (char *)update_key, g_rc4_key_len);
rdssl_md5_transform(md5, (char *)pad_92, 48);
rdssl_md5_transform(md5, (char *)shasig, 20);
rdssl_md5_complete(md5, (char *)key);
rdssl_md5_info_delete(md5);
update = ssl_rc4_info_create();
ssl_rc4_set_key(update, (char *)key, g_rc4_key_len);
ssl_rc4_crypt(update, (char *)key, (char *)key, g_rc4_key_len);
ssl_rc4_info_delete(update);
update = rdssl_rc4_info_create();
rdssl_rc4_set_key(update, (char *)key, g_rc4_key_len);
rdssl_rc4_crypt(update, (char *)key, (char *)key, g_rc4_key_len);
rdssl_rc4_info_delete(update);
if (g_rc4_key_len == 8)
sec_make_40bit(key);
@@ -401,11 +383,11 @@ sec_encrypt(uint8 * data, int length)
if (g_sec_encrypt_use_count == 4096)
{
sec_update(g_sec_encrypt_key, g_sec_encrypt_update_key);
ssl_rc4_set_key(g_rc4_encrypt_key, (char *)g_sec_encrypt_key, g_rc4_key_len);
rdssl_rc4_set_key(g_rc4_encrypt_key, (char *)g_sec_encrypt_key, g_rc4_key_len);
g_sec_encrypt_use_count = 0;
}
ssl_rc4_crypt(g_rc4_encrypt_key, (char *)data, (char *)data, length);
rdssl_rc4_crypt(g_rc4_encrypt_key, (char *)data, (char *)data, length);
g_sec_encrypt_use_count++;
}
@@ -416,11 +398,11 @@ sec_decrypt(uint8 * data, int length)
if (g_sec_decrypt_use_count == 4096)
{
sec_update(g_sec_decrypt_key, g_sec_decrypt_update_key);
ssl_rc4_set_key(g_rc4_decrypt_key, (char *)g_sec_decrypt_key, g_rc4_key_len);
rdssl_rc4_set_key(g_rc4_decrypt_key, (char *)g_sec_decrypt_key, g_rc4_key_len);
g_sec_decrypt_use_count = 0;
}
ssl_rc4_crypt(g_rc4_decrypt_key,(char *)data, (char *)data, length);
rdssl_rc4_crypt(g_rc4_decrypt_key,(char *)data, (char *)data, length);
g_sec_decrypt_use_count++;
}
@@ -429,48 +411,7 @@ static void
sec_rsa_encrypt(uint8 * out, uint8 * in, int len, uint32 modulus_size, uint8 * modulus,
uint8 * exponent)
{
ssl_mod_exp((char *)out, 64, (char *)in, 32, (char *)modulus, 64, (char *)exponent, 4);
}
static int
sec_sign_ok(char* e_data, int e_len, char* n_data, int n_len,
char* sign_data, int sign_len, char* sign_data2, int sign_len2, char* testkey)
{
char* key;
char* md5_final;
void* md5;
if ((e_len != 4) || (n_len != 64) || (sign_len != 64) || (sign_len2 != 64))
{
return 1;
}
key = (char*)xmalloc(176);
md5_final = (char*)xmalloc(64);
md5 = ssl_md5_info_create();
// copy the test key
memcpy(key, testkey, 176);
// replace e and n
memcpy(key + 32, e_data, 4);
memcpy(key + 36, n_data, 64);
ssl_md5_clear(md5);
// the first 108 bytes
ssl_md5_transform(md5, key, 108);
// set the whole thing with 0xff
memset(md5_final, 0xff, 64);
// digest 16 bytes
ssl_md5_complete(md5, md5_final);
// set non 0xff array items
md5_final[16] = 0;
md5_final[62] = 1;
md5_final[63] = 0;
// encrypt
ssl_mod_exp(sign_data, 64, md5_final, 64, (char*)g_ppk_n, 64,
(char*)g_ppk_d, 64);
// cleanup
ssl_md5_info_delete(md5);
xfree(key);
xfree(md5_final);
return memcmp(sign_data, sign_data2, sign_len2);
rdssl_mod_exp((char *)out, 64, (char *)in, 32, (char *)modulus, 64, (char *)exponent, 4);
}
/* Initialise secure transport packet */
@@ -539,7 +480,7 @@ static void
sec_establish_key(void)
{
uint32 length = g_server_public_key_len + SEC_PADDING_SIZE;
uint32 flags = SEC_CLIENT_RANDOM;
uint32 flags = SEC_EXCHANGE_PKT;
STREAM s;
s = sec_init(flags, length + 4);
@@ -698,8 +639,8 @@ sec_parse_public_sig(STREAM s, uint32 len, uint8 * modulus, uint8 * exponent)
memset(signature, 0, sizeof(signature));
sig_len = len - 8;
in_uint8a(s, signature, sig_len);
if(sec_sign_ok((char *)exponent, SEC_EXPONENT_SIZE, (char *)modulus, g_server_public_key_len,
(char *)signature_, SEC_MODULUS_SIZE, (char *)signature, sig_len, (char *)g_testkey))
if(rdssl_sign_ok((char *)exponent, SEC_EXPONENT_SIZE, (char *)modulus, g_server_public_key_len,
(char *)signature_, SEC_MODULUS_SIZE, (char *)signature, sig_len, (char *)g_testkey))
{
DEBUG_RDP5(("key signature doesn't match test key\n"));
}
@@ -712,9 +653,9 @@ sec_parse_crypt_info(STREAM s, uint32 * rc4_key_size,
uint8 ** server_random, uint8 * modulus, uint8 * exponent)
{
uint32 crypt_level, random_len, rsa_info_len;
uint32 /*cacert_len, cert_len,*/ flags;
//RDSSL_CERT *cacert, *server_cert;
//RDSSL_RKEY *server_public_key;
uint32 cacert_len, cert_len, flags;
PCCERT_CONTEXT cacert, server_cert;
BYTE *server_public_key;
uint16 tag, length;
uint8 *next_tag, *end;
@@ -778,7 +719,6 @@ sec_parse_crypt_info(STREAM s, uint32 * rc4_key_size,
}
else
{
#if 0
uint32 certcount;
DEBUG_RDP5(("We're going for the RDP5-style encryption\n"));
@@ -791,7 +731,7 @@ sec_parse_crypt_info(STREAM s, uint32 * rc4_key_size,
for (; certcount > 2; certcount--)
{ /* ignore all the certificates between the root and the signing CA */
uint32 ignorelen;
RDSSL_CERT *ignorecert;
PCCERT_CONTEXT ignorecert;
DEBUG_RDP5(("Ignored certs left: %d\n", certcount));
in_uint32_le(s, ignorelen);
@@ -869,7 +809,6 @@ sec_parse_crypt_info(STREAM s, uint32 * rc4_key_size,
}
rdssl_rkey_free(server_public_key);
return True; /* There's some garbage here we don't care about */
#endif
}
return s_check_end(s);
}
@@ -963,7 +902,8 @@ sec_process_mcs_data(STREAM s)
STREAM
sec_recv(uint8 * rdpver)
{
uint32 sec_flags;
uint16 sec_flags;
/* uint16 sec_flags_hi; */
uint16 channel;
STREAM s;
@@ -983,7 +923,9 @@ sec_recv(uint8 * rdpver)
}
if (g_encryption || (!g_licence_issued && !g_licence_error_result))
{
in_uint32_le(s, sec_flags);
/* TS_SECURITY_HEADER */
in_uint16_le(s, sec_flags);
in_uint8s(s, 2); /* sec_flags_hi */
if (g_encryption)
{
@@ -993,13 +935,13 @@ sec_recv(uint8 * rdpver)
sec_decrypt(s->p, s->end - s->p);
}
if (sec_flags & SEC_LICENCE_NEG)
if (sec_flags & SEC_LICENSE_PKT)
{
licence_process(s);
continue;
}
if (sec_flags & 0x0400) /* SEC_REDIRECT_ENCRYPT */
if (sec_flags & SEC_REDIRECTION_PKT) /* SEC_REDIRECT_ENCRYPT */
{
uint8 swapbyte;
@@ -1035,8 +977,8 @@ sec_recv(uint8 * rdpver)
}
else
{
if ((sec_flags & 0xffff) == SEC_LICENCE_NEG)
{
if (sec_flags & SEC_LICENSE_PKT)
{
licence_process(s);
continue;
}

View File

@@ -275,7 +275,10 @@ ParseSettings(PRDPSETTINGS pRdpSettings,
else if (lpToken[0] == L's')
{
pRdpSettings->pSettings[i].Type = lpToken[0];
lpToken = wcstok(NULL, szNewline);
if (lpToken[2] == 13 || lpToken[2] == 10 || lpToken[2] == 0)
lpToken[0] = 0; // terminate string
else
lpToken = wcstok(NULL, szNewline);
if (lpToken != NULL)
wcscpy(pRdpSettings->pSettings[i].Value.s, lpToken);
}
@@ -374,7 +377,6 @@ SaveRdpSettingsToFile(LPWSTR lpFile,
/* use default file */
if (lpFile == NULL)
{
#ifndef __REACTOS__
HRESULT hr;
LPITEMIDLIST lpidl= NULL;
@@ -392,10 +394,6 @@ SaveRdpSettingsToFile(LPWSTR lpFile,
CoTaskMemFree(lpidl);
}
}
#else
wcscpy(pszPath, L"C:\\Default.rdp");
lpFile = pszPath;
#endif
}
if (lpFile)
@@ -427,7 +425,6 @@ LoadRdpSettingsFromFile(PRDPSETTINGS pRdpSettings,
/* use default file */
if (lpFile == NULL)
{
#ifndef __REACTOS__ // remove when this is working
HRESULT hr;
LPITEMIDLIST lpidl= NULL;
@@ -445,10 +442,6 @@ LoadRdpSettingsFromFile(PRDPSETTINGS pRdpSettings,
CoTaskMemFree(lpidl);
}
}
#else
wcscpy(pszPath, L"C:\\Default.rdp");
lpFile = pszPath;
#endif
}
if (lpFile)

File diff suppressed because it is too large Load Diff

View File

@@ -33,7 +33,7 @@ RD_BOOL g_desktop_save = False; /* desktop save order */
RD_BOOL g_polygon_ellipse_orders = False; /* polygon / ellipse orders */
RD_BOOL g_bitmap_compression = True;
uint32 g_rdp5_performanceflags =
RDP5_NO_WALLPAPER | RDP5_NO_FULLWINDOWDRAG | RDP5_NO_MENUANIMATIONS | RDP5_NO_CURSOR_SHADOW;
PERF_DISABLE_WALLPAPER | PERF_DISABLE_FULLWINDOWDRAG | PERF_DISABLE_MENUANIMATIONS | PERF_DISABLE_CURSOR_SHADOW;
RD_BOOL g_bitmap_cache_persist_enable = False;
RD_BOOL g_bitmap_cache_precache = True;
RD_BOOL g_bitmap_cache = True;
@@ -199,7 +199,7 @@ ui_create_cursor(unsigned int x, unsigned int y,
{
bs_set_pixel_on(am, j, 31 - i, 32, 1, 1);
}
if (bs_is_pixel_on((char *)xormask, j, i, 32, 24))
if (bs_is_pixel_on((char *)xormask, j, i, 32, xor_bpp))
{
bs_set_pixel_on(xm, j, 31 - i, 32, 1, 1);
}

View File

@@ -886,6 +886,7 @@ mi_paint_rect(char * data, int width, int height, int x, int y, int cx, int cy)
int red;
int green;
int blue;
int index;
ZeroMemory(&bi, sizeof(bi));
bi.bmiHeader.biSize = sizeof(bi.bmiHeader);
@@ -942,7 +943,22 @@ mi_paint_rect(char * data, int width, int height, int x, int y, int cx, int cy)
}
}
}
else if (g_server_depth == 24 || g_server_depth == 32)
else if (g_server_depth == 24)
{
for (i = cy - 1; i >= 0; i--)
{
for (j = cx - 1; j >= 0; j--)
{
index = (i * cx + j) * 3;
red = ((unsigned char*)data)[index + 2];
green = ((unsigned char*)data)[index + 1];
blue = ((unsigned char*)data)[index];
MAKE_COLOUR32(colour, red, green, blue);
((unsigned int*)bits)[i * cx + j] = colour;
}
}
}
else if (g_server_depth == 32)
{
memcpy(bits, data, cx*cy*4);
}
@@ -1109,6 +1125,7 @@ wWinMain(HINSTANCE hInstance,
pRdpSettings))
{
char szValue[MAXVALUE];
DWORD dwSize = MAXVALUE;
uni_to_str(szValue, GetStringFromSettings(pRdpSettings, L"full address"));
@@ -1118,7 +1135,10 @@ wWinMain(HINSTANCE hInstance,
uni_to_str(szValue, GetStringFromSettings(pRdpSettings, L"username"));
SetDomainAndUsername(szValue);
strcpy(g_password, "");
strcpy(g_hostname, tcp_get_address());
if (GetComputerNameA(szValue, &dwSize))
strcpy(g_hostname, szValue);
else
strcpy(g_hostname, tcp_get_address());
g_server_depth = GetIntegerFromSettings(pRdpSettings, L"session bpp");
g_screen_width = GetSystemMetrics(SM_CXSCREEN);
g_screen_height = GetSystemMetrics(SM_CYSCREEN);

View File

@@ -78,12 +78,32 @@ PrintError(DWORD Status)
}
}
static
BOOL
ValidateDeviceName(PWSTR DevName)
{
DWORD Len;
Len = wcslen(DevName);
if (Len != 2)
{
return FALSE;
}
if (!iswalpha(DevName[0]) || DevName[1] != L':')
{
return FALSE;
}
return TRUE;
}
INT
cmdUse(
INT argc,
WCHAR **argv)
{
DWORD Status, Len;
DWORD Status, Len, Delete;
if (argc == 2)
{
@@ -97,14 +117,7 @@ cmdUse(
}
else if (argc == 3)
{
Len = wcslen(argv[2]);
if (Len != 2)
{
ConResPrintf(StdErr, IDS_ERROR_INVALID_OPTION_VALUE, L"DeviceName");
return 1;
}
if (!iswalpha(argv[2][0]) || argv[2][1] != L':')
if (!ValidateDeviceName(argv[2]))
{
ConResPrintf(StdErr, IDS_ERROR_INVALID_OPTION_VALUE, L"DeviceName");
return 1;
@@ -119,34 +132,39 @@ cmdUse(
return 0;
}
Len = wcslen(argv[2]);
if (Len != 1 && Len != 2)
Delete = 0;
if (wcsicmp(argv[2], L"/DELETE") == 0)
{
ConResPrintf(StdErr, IDS_ERROR_INVALID_OPTION_VALUE, L"DeviceName");
return 1;
Delete = 3;
}
if (Len == 2 && argv[2][1] != L':')
else
{
ConResPrintf(StdErr, IDS_ERROR_INVALID_OPTION_VALUE, L"DeviceName");
return 1;
}
if (argv[2][0] != L'*' && !iswalpha(argv[2][0]))
{
ConResPrintf(StdErr, IDS_ERROR_INVALID_OPTION_VALUE, L"DeviceName");
return 1;
if ((argv[2][0] != '*' && argv[2][1] != 0) &&
!ValidateDeviceName(argv[2]))
{
ConResPrintf(StdErr, IDS_ERROR_INVALID_OPTION_VALUE, L"DeviceName");
return 1;
}
}
if (wcsicmp(argv[3], L"/DELETE") == 0)
{
if (argv[2][0] == L'*')
Delete = 2;
}
if (Delete != 0)
{
if (!ValidateDeviceName(argv[Delete]) || argv[Delete][0] == L'*')
{
ConResPrintf(StdErr, IDS_ERROR_INVALID_OPTION_VALUE, L"DeviceName");
return 1;
}
return WNetCancelConnection2(argv[2], CONNECT_UPDATE_PROFILE, FALSE);
Status = WNetCancelConnection2(argv[Delete], CONNECT_UPDATE_PROFILE, FALSE);
if (Status != NO_ERROR)
PrintError(Status);
return Status;
}
else
{

View File

@@ -96,7 +96,7 @@ BEGIN
IDS_USER_FULL_NAME "Nume complet"
IDS_USER_COMMENT "Comentariu"
IDS_USER_USER_COMMENT "Comentariu de utilizator"
IDS_USER_COUNTRY_CODE "Cod de ţară"
IDS_USER_COUNTRY_CODE "Cod de țară"
IDS_USER_ACCOUNT_ACTIVE "Cont activ"
IDS_USER_ACCOUNT_EXPIRES "Cont expiră"
IDS_USER_PW_LAST_SET "Parolă recent instituită"
@@ -104,20 +104,20 @@ BEGIN
IDS_USER_PW_CHANGEABLE "Parolă modificabilă"
IDS_USER_PW_REQUIRED "Parolă necesară"
IDS_USER_CHANGE_PW "Utilizatorul poate schimba parola"
IDS_USER_WORKSTATIONS "Staţii de lucru permise"
IDS_USER_WORKSTATIONS "Stații de lucru permise"
IDS_USER_LOGON_SCRIPT "Script de autentificare"
IDS_USER_PROFILE "Profil de utilizator"
IDS_USER_HOME_DIR "Director personal"
IDS_USER_LAST_LOGON "Ultimă autentificare"
IDS_USER_LOGON_HOURS "Ore de autentificare permise"
IDS_USER_LOCAL_GROUPS "Apartenenţă grup local"
IDS_USER_GLOBAL_GROUPS "Apartenenţă grup global"
IDS_USER_LOCAL_GROUPS "Apartenență grup local"
IDS_USER_GLOBAL_GROUPS "Apartenență grup global"
IDS_USER_ENTER_PASSWORD1 "Introduceţi o parolă nouă pentru utilizatorul (curent): "
IDS_USER_ENTER_PASSWORD1 "Introduceți o parolă nouă pentru utilizatorul (curent): "
IDS_USER_ENTER_PASSWORD2 "Introduceți din nou parola: "
IDS_USER_NO_PASSWORD_MATCH "Parolele diferă!"
IDS_USE_NOW_CONNECTED "%s is now connected to %s\n"
IDS_USE_NOW_CONNECTED "Conectarea %s la %s a fost realizată.\n"
IDS_GENERIC_YES "Da"
IDS_GENERIC_NO "Nu"
@@ -126,8 +126,8 @@ BEGIN
IDS_GENERIC_ALL "Toate"
IDS_GENERIC_LOCKED "Blocat"
IDS_ERROR_OPTION_NOT_SUPPORTED "Opţiunea %s încă nu este admisă.\n"
IDS_ERROR_INVALID_OPTION_VALUE "Aţi introdus o valoare nevalidă pentru opţiunea %s.\n"
IDS_ERROR_SYSTEM_ERROR "The system error %d happened.\n"
IDS_ERROR_NO_ERROR "The command got executed successfully.\n"
IDS_ERROR_OPTION_NOT_SUPPORTED "Opțiunea %s încă nu este admisă.\n"
IDS_ERROR_INVALID_OPTION_VALUE "Ați introdus o valoare nevalidă pentru opțiunea %s.\n"
IDS_ERROR_SYSTEM_ERROR "A survenit eroarea de sistem %d.\n"
IDS_ERROR_NO_ERROR "Comanda a fost executată cu succes.\n"
END

View File

@@ -113,7 +113,7 @@ BEGIN
IDS_USER_ENTER_PASSWORD2 "Повторите ввод пароля для подтверждения: "
IDS_USER_NO_PASSWORD_MATCH "Пароли не совпадают!"
IDS_USE_NOW_CONNECTED "%s is now connected to %s\n"
IDS_USE_NOW_CONNECTED "%s сейчас подключен к %s\n"
IDS_GENERIC_YES "Да"
IDS_GENERIC_NO "Нет"
@@ -124,6 +124,6 @@ BEGIN
IDS_ERROR_OPTION_NOT_SUPPORTED "Опция %s в данный момент не поддерживается.\n"
IDS_ERROR_INVALID_OPTION_VALUE "Вы ввели неверный данные для данной опции %s.\n"
IDS_ERROR_SYSTEM_ERROR "The system error %d happened.\n"
IDS_ERROR_NO_ERROR "The command got executed successfully.\n"
IDS_ERROR_SYSTEM_ERROR "Произошла системная ошибка: %d.\n"
IDS_ERROR_NO_ERROR "Команда успешно выполнена.\n"
END

View File

@@ -113,7 +113,7 @@ BEGIN
IDS_USER_ENTER_PASSWORD2 "Şifreyi yeniden giriniz: "
IDS_USER_NO_PASSWORD_MATCH "Şifreler uyuşmuyor!"
IDS_USE_NOW_CONNECTED "%s is now connected to %s\n"
IDS_USE_NOW_CONNECTED "%s şuna bağlandı: %s\n"
IDS_GENERIC_YES "Evet"
IDS_GENERIC_NO "Hayır"
@@ -124,6 +124,6 @@ BEGIN
IDS_ERROR_OPTION_NOT_SUPPORTED "%s seçeneği daha desteklenmiyor.\n"
IDS_ERROR_INVALID_OPTION_VALUE "%s seçeneği için geçersiz bir değer girdiniz.\n"
IDS_ERROR_SYSTEM_ERROR "The system error %d happened.\n"
IDS_ERROR_NO_ERROR "The command got executed successfully.\n"
IDS_ERROR_SYSTEM_ERROR "%d dizge hatâsı oldu.\n"
IDS_ERROR_NO_ERROR "Komut başarılı bir şekilde çalıştırıldı.\n"
END

View File

@@ -1,4 +1,4 @@
LANGUAGE LANG_UZBEK, SUBLANG_DEFAULT
LANGUAGE LANG_UZBEK, SUBLANG_UZBEK_LATIN
ID_ACCEL ACCELERATORS
BEGIN
@@ -130,10 +130,10 @@ END
IDD_ABOUTBOX DIALOGEX 22, 16, 284, 170
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "О программе Блокнот ReactOS"
CAPTION "О программе Bloknot ReactOS"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Блокнот ReactOS v1.0\r\nCopyright 1997,98 Marcel Baur\r\nCopyright 2000 Mike McCormack\r\nCopyright 2002 Sylvain Petreolle\r\nCopyright 2002 Andriy Palamarchuk\r\n", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 46, 7, 232, 39
CONTROL "Bloknot ReactOS v1.0\r\nCopyright 1997,98 Marcel Baur\r\nCopyright 2000 Mike McCormack\r\nCopyright 2002 Sylvain Petreolle\r\nCopyright 2002 Andriy Palamarchuk\r\n", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 46, 7, 232, 39
CONTROL " ", -1, "Static", 0x50000000, 8, 48, 272, 11
DEFPUSHBUTTON "Закрыть", IDOK, 114, 149, 44, 15, WS_GROUP
ICON IDI_NPICON, -1, 12, 9, 20, 30
@@ -149,14 +149,14 @@ STRINGTABLE
BEGIN
STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */
STRING_PAGESETUP_FOOTERVALUE "Sahifa &s" /* FIXME */
STRING_PAGESETUP_LEFTVALUE "20 мм" /* FIXME */
STRING_PAGESETUP_RIGHTVALUE "20 мм" /* FIXME */
STRING_PAGESETUP_TOPVALUE "25 мм" /* FIXME */
STRING_PAGESETUP_BOTTOMVALUE "25 мм" /* FIXME */
STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */
STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */
STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */
STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */
STRING_NOTEPAD "Bloknot"
STRING_ERROR "ОШИБКА"
STRING_WARNING "ВНИМАНИЕ"
STRING_INFO "Информация"
STRING_ERROR "XATO"
STRING_WARNING "DIQQAT"
STRING_INFO "Axborot"
STRING_UNTITLED "Nomsiz"
STRING_ALL_FILES "Barcha fayllar(*.*)"
STRING_TEXT_FILES_TXT "Matn hujjatlari (*.txt)"

View File

@@ -170,18 +170,31 @@ void NOTEPAD_LoadSettingsFromRegistry(void)
else
{
/* If no settings are found in the registry, then use default values */
Globals.lfFont.lfCharSet = 163;
Globals.lfFont.lfClipPrecision = 2;
Globals.bShowStatusBar = FALSE;
Globals.bWrapLongLines = FALSE;
SetRect(&Globals.lMargins, 750, 1000, 750, 1000);
/* FIXME: Globals.fSaveWindowPositions = FALSE; */
/* FIXME: Globals.fMLE_is_broken = FALSE; */
LoadString(Globals.hInstance, STRING_PAGESETUP_HEADERVALUE, Globals.szHeader,
ARRAY_SIZE(Globals.szHeader));
LoadString(Globals.hInstance, STRING_PAGESETUP_FOOTERVALUE, Globals.szFooter,
ARRAY_SIZE(Globals.szFooter));
ZeroMemory(&Globals.lfFont, sizeof(Globals.lfFont));
Globals.lfFont.lfCharSet = ANSI_CHARSET;
Globals.lfFont.lfClipPrecision = CLIP_STROKE_PRECIS;
Globals.lfFont.lfEscapement = 0;
_tcscpy(Globals.lfFont.lfFaceName, _T("Lucida Console"));
Globals.lfFont.lfItalic = 0;
Globals.lfFont.lfItalic = FALSE;
Globals.lfFont.lfOrientation = 0;
Globals.lfFont.lfOutPrecision = 3;
Globals.lfFont.lfPitchAndFamily = 34;
Globals.lfFont.lfQuality = 1;
Globals.lfFont.lfStrikeOut = 0;
Globals.lfFont.lfUnderline = 0;
Globals.lfFont.lfWeight = 400;
Globals.lfFont.lfOutPrecision = OUT_STRING_PRECIS;
Globals.lfFont.lfPitchAndFamily = FIXED_PITCH | FF_MODERN;
Globals.lfFont.lfQuality = PROOF_QUALITY;
Globals.lfFont.lfStrikeOut = FALSE;
Globals.lfFont.lfUnderline = FALSE;
Globals.lfFont.lfWeight = FW_NORMAL;
Globals.lfFont.lfHeight = HeightFromPointSize(100);
}

View File

@@ -1,21 +1,21 @@
project(rapps)
set_cpp(WITH_RUNTIME)
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/atl)
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/cryptlib)
list(APPEND SOURCE
aboutdlg.c
available.c
installdlg.c
installed.c
listview.c
loaddlg.c
misc.c
richedit.c
settingsdlg.c
splitter.c
statusbar.c
toolbar.c
treeview.c
winmain.c
aboutdlg.cpp
available.cpp
gui.cpp
installdlg.cpp
installed.cpp
integrity.cpp
loaddlg.cpp
misc.cpp
settingsdlg.cpp
winmain.cpp
rapps.h)
add_definitions(-DUSE_CERT_PINNING)
@@ -23,7 +23,7 @@ file(GLOB_RECURSE rapps_rc_deps res/*.*)
add_rc_deps(rapps.rc ${rapps_rc_deps})
add_executable(rapps ${SOURCE} rapps.rc)
set_module_type(rapps win32gui UNICODE)
target_link_libraries(rapps uuid)
target_link_libraries(rapps atlnew uuid wine)
add_importlibs(rapps advapi32 comctl32 gdi32 wininet user32 shell32 shlwapi ole32 msvcrt kernel32 ntdll)
add_pch(rapps rapps.h SOURCE)
add_dependencies(rapps rappsmsg)

0
reactos/base/applications/rapps/CreateCabFile.sh Executable file → Normal file
View File

View File

@@ -1,7 +1,7 @@
/*
* PROJECT: ReactOS Applications Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/rapps_new/aboutdlg.cpp
* FILE: base/applications/rapps/aboutdlg.cpp
* PURPOSE: About Dialog
* PROGRAMMERS: Dmitry Chapyshev (dmitry@reactos.org)
*/

View File

@@ -1,7 +1,7 @@
/*
* PROJECT: ReactOS Applications Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/rapps_new/available.cpp
* FILE: base/applications/rapps/available.cpp
* PURPOSE: Functions for working with available applications
* PROGRAMMERS: Dmitry Chapyshev (dmitry@reactos.org)
* Ismael Ferreras Morezuelas (swyterzone+ros@gmail.com)
@@ -45,6 +45,7 @@ ShowAvailableAppInfo(INT Index)
ADD_TEXT(IDS_AINFO_SIZE, Info->szSize, CFE_BOLD, 0);
ADD_TEXT(IDS_AINFO_URLSITE, Info->szUrlSite, CFE_BOLD, CFE_LINK);
ADD_TEXT(IDS_AINFO_DESCRIPTION, Info->szDesc, CFE_BOLD, 0);
ADD_TEXT(IDS_AINFO_URLDOWNLOAD, Info->szUrlDownload, CFE_BOLD, CFE_LINK);
return TRUE;
}

View File

@@ -1,7 +1,7 @@
/*
* PROJECT: ReactOS Applications Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/rapps_new/installdlg.cpp
* FILE: base/applications/rapps/installdlg.cpp
* PURPOSE: "Download and Install" Dialog
* PROGRAMMERS: Dmitry Chapyshev (dmitry@reactos.org)
*/

View File

@@ -1,7 +1,7 @@
/*
* PROJECT: ReactOS Applications Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/rapps_new/installed.cpp
* FILE: base/applications/rapps/installed.cpp
* PURPOSE: Functions for working with installed applications
* PROGRAMMERS: Dmitry Chapyshev (dmitry@reactos.org)
*/

View File

@@ -1,7 +1,7 @@
/*
* PROJECT: ReactOS Applications Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/rapps_new/integrity.cpp
* FILE: base/applications/rapps/integrity.cpp
* PURPOSE: Various integrity check mechanisms
* PROGRAMMERS: Ismael Ferreras Morezuelas (swyterzone+ros@gmail.com)
* Mark Jansen

View File

@@ -160,6 +160,7 @@ BEGIN
IDS_AINFO_SIZE "\nРазмер: "
IDS_AINFO_URLSITE "\nДомашна страница: "
IDS_AINFO_LICENSE "\nРазрешително: "
IDS_AINFO_URLDOWNLOAD "\nИзтегляне: "
END
STRINGTABLE
@@ -201,6 +202,7 @@ BEGIN
IDS_APP_REG_REMOVE "Уверен ли сте, че искате да изтриете данните за сложеното приложение от регистъра?"
IDS_INFORMATION "Сведения"
IDS_UNABLE_TO_DOWNLOAD "Unable to download the package! Address not found!"
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
IDS_UNABLE_TO_REMOVE "Премахването на данните за приложението от регистъра е невъзможно!"
IDS_CERT_DOES_NOT_MATCH "SSL certificate verification failed."
IDS_INTEG_CHECK_TITLE "Verifying package integrity..."

Some files were not shown because too many files have changed in this diff Show More