Compare commits

..

710 Commits

Author SHA1 Message Date
Amine Khaldi
9bc8c8bf66 [0.4.1] Merge the hal fix by Thomas in r71307. CORE-11123
svn path=/branches/ros-branch-0_4_1/; revision=71326
2016-05-12 20:06:21 +00:00
Amine Khaldi
f6bf4a8755 [0.4.1] Merge the explorer fix by Thomas in r71318. CORE-11217
svn path=/branches/ros-branch-0_4_1/; revision=71323
2016-05-12 19:40:49 +00:00
Amine Khaldi
88d4b4ec82 [0.4.1] Merge the uninitialized variable usage fix by Alter in r71309. CORE-11157
svn path=/branches/ros-branch-0_4_1/; revision=71310
2016-05-10 18:20:37 +00:00
Thomas Faber
ba1fac2999 [HAL]
- Create a wrapper version of HalpEndSoftwareInterrupt that frees its stack before calling the noreturn version of the next software interrupt handler. Fixes excessive stack usage when DPCs are queued in quick succession.
CORE-11123 #resolve

svn path=/trunk/; revision=71307
2016-05-10 15:03:56 +00:00
Thomas Faber
418ef674ed [IPHLPAPI]
- Fix memory leaks in getInterfaceInfoSet (CIDs 716370 and 716371)
- Fix a benign uninitialized variable use (CID 500783)
CORE-11224 #resolve

svn path=/trunk/; revision=71306
2016-05-10 13:59:41 +00:00
Thomas Faber
f40cfb8b12 [IPHLPAPI]
- Tabs to spaces. No code changes.

svn path=/trunk/; revision=71305
2016-05-10 13:42:57 +00:00
Thomas Faber
1ebef466b4 [NTOS:MM]
- Keep track of physical pages allocated for special pool, and respect the initially calculated MiSpecialPagesNonPagedMaximum

svn path=/trunk/; revision=71304
2016-05-10 11:47:05 +00:00
Hermès Bélusca-Maïto
bbc880b695 [CONSOLE.CPL]: Fix a test condition. Reviewed by Thomas Faber; initially patched by Victor Martinez Calvo Should fix CID 1322302 "Fix an use after free".
Please reanalyze with Coverity :)
CORE-11179

svn path=/trunk/; revision=71303
2016-05-09 22:06:27 +00:00
Sylvain Petreolle
2a4dd63e17 [TEST]
svn path=/trunk/; revision=71302
2016-05-09 20:57:35 +00:00
Thomas Faber
80c690a270 [USBHUB]
- Fix memory leak in failure case of CreateDeviceIds. Patch by Víctor Martínez Calvo. CID 1102364
CORE-11208 #resolve

svn path=/trunk/; revision=71301
2016-05-09 17:44:16 +00:00
Eric Kohl
6645a97ddb [SHELL32]
Improvements to the file types property page:
- Always show the selected file type.
- Set the focus to the listview control when the file types page gets activated.
- Enable/disable the Delete button for the initial file type selection too.

svn path=/trunk/; revision=71300
2016-05-09 15:11:25 +00:00
Eric Kohl
44a2d2b8b6 [NETAPI32]
Prevent dereferencing null-pointers.

svn path=/trunk/; revision=71299
2016-05-09 10:26:55 +00:00
Thomas Faber
9f70db7773 [BTRFS]
- Fix warnings

svn path=/trunk/; revision=71298
2016-05-09 09:10:13 +00:00
Amine Khaldi
55f93cd3df [0.4.1] Merge the SepPropagateAcl() unknown ACE types handling by Thomas in r71296. CORE-10694
svn path=/branches/ros-branch-0_4_1/; revision=71297
2016-05-09 08:56:51 +00:00
Thomas Faber
c2cc2ba3be [NTOS:SE]
- In SepPropagateAcl, gracefully handle unknown ACE types by simply copying them.
CORE-10694 #resolve

svn path=/trunk/; revision=71296
2016-05-09 08:49:18 +00:00
Thomas Faber
d9217570cb [SHELL32]
- Fix uninitialized return value in _SHGetDefaultValue. CID 1322231
CORE-11213 #resolve

svn path=/trunk/; revision=71295
2016-05-09 08:12:00 +00:00
Christoph von Wittich
8a8de70eb2 ZeroMemory expects buffer size in bytes
svn path=/trunk/; revision=71294
2016-05-09 08:01:49 +00:00
Thomas Faber
7fb10cb4d0 [WS2_32_NEW]
- Use the correct size of ServiceBuffer in getnameinfo. Patch by Víctor Martínez Calvo. CID 716150
CORE-11214 #resolve

svn path=/trunk/; revision=71293
2016-05-09 07:49:58 +00:00
Thomas Faber
274daad96e [WS2_32_NEW]
- Add missing null termination for the line buffer in GetProtoGetNextEnt. Patch by Víctor Martínez Calvo. CID 716700
CORE-11218 #resolve

svn path=/trunk/; revision=71292
2016-05-09 07:34:46 +00:00
Thomas Faber
7c3631a94b [SHELL32]
- Fix check for GCS_VALIDATE in CDefaultContextMenu::GetCommandString. Patch by Jared Smudde.
CORE-11183

svn path=/trunk/; revision=71291
2016-05-09 07:22:59 +00:00
Mark Jansen
d923444b3c [APPHELP] Addendum to r71226, fix some failing testcases of SdbGetFileAttributes + make it more robust. CORE-10367
- Work around a ROS bug (CORE-11206) by doing some better bounds checking.
- Silence a VAD warning by checking for NULL instead of blindly passing mem to NtUnmapViewOfSection
- Rewrite module type lookup code to use an enum and to return the found header.

svn path=/trunk/; revision=71290
2016-05-08 20:43:59 +00:00
Mark Jansen
0f8226d756 [NTDLL_APITEST] Show that NtMapViewOfSection does not properly NULL out the remainder of the mapped memory. CORE-11206
svn path=/trunk/; revision=71289
2016-05-08 17:01:15 +00:00
Sylvain Petreolle
da19f382ab Add the AHK tests as an optional module.
ONLINE-567

svn path=/trunk/; revision=71288
2016-05-08 15:01:46 +00:00
Hermès Bélusca-Maïto
c716950d97 [KSFILTER]: We may need to check the result of KspScanBus call here. To see whether we need to do that, add an assert. If hit then we know KspScanBus can fail and some proper failure code will be needed.
svn path=/trunk/; revision=71287
2016-05-08 14:53:14 +00:00
Hermès Bélusca-Maïto
2171daa6f5 [KSFILTER]: Return from KsCreateBusEnumObject() when scanning the bus fails. By Victor Martinez Calvo.
CID 1322294
CORE-11201 #resolve

svn path=/trunk/; revision=71286
2016-05-08 14:35:50 +00:00
Hermès Bélusca-Maïto
81ed2a4ade [BOOTLIB]: Fix EtfspGetDirentNameLength loops. By Victor Martinez Calvo.
CID 1341138
CORE-11178 #resolve

svn path=/trunk/; revision=71285
2016-05-08 14:28:06 +00:00
Hermès Bélusca-Maïto
ea332e56c0 [USETUP]: Fix typo in SectorCount.QuadPart calculation (and add ULONGLONG casts).
By Victor Martinez Calvo.
CORE-11205 #resolve

svn path=/trunk/; revision=71284
2016-05-08 13:50:38 +00:00
Hermès Bélusca-Maïto
dcf5329778 [TELNET]: Move around the resource files, in order to add the ability to localize telnet.
By Robert Naumann.
CORE-10717 #resolve #comment Thanks!

svn path=/trunk/; revision=71283
2016-05-08 13:46:16 +00:00
Hermès Bélusca-Maïto
a2812af07f [TELNET]: Correctly show the icon.
By Henry Tang Ih and Robert Naumann.
CORE-10717

svn path=/trunk/; revision=71282
2016-05-08 13:37:18 +00:00
Thomas Faber
17fdabf3da [0.4.1]
- Merge the heap user value fix from r71279/r71278
CORE-11196

svn path=/branches/ros-branch-0_4_1/; revision=71281
2016-05-08 08:12:09 +00:00
Thomas Faber
4631e8b017 [0.4.1]
- Merge Mark's UniATA compilation fix from r71262
CORE-11157

svn path=/branches/ros-branch-0_4_1/; revision=71280
2016-05-08 08:10:00 +00:00
Thomas Faber
6b172f26a4 [RTL]
- In RtlpGrowBlockInPlace, copy the heap block's user value if the old block has the HEAP_ENTRY_EXTRA_PRESENT flag, instead of looking at the flags of the following block (where this will never be set).
CORE-11196 #resolve

svn path=/trunk/; revision=71279
2016-05-08 08:07:11 +00:00
Thomas Faber
0f3e91c5f7 [NTDLL_APITEST]
- Add a test for heap user values and flags when using RtlReAllocateHeap in-place
CORE-11196

svn path=/trunk/; revision=71278
2016-05-08 08:03:50 +00:00
Hermès Bélusca-Maïto
c93051dff0 [CONSRV]: Use cmd's terminal icon that doesn't include crazy sizes.
svn path=/trunk/; revision=71277
2016-05-07 23:17:09 +00:00
Hermès Bélusca-Maïto
02a960b81c [PROGMAN]: Add some icons (will be used later).
svn path=/trunk/; revision=71276
2016-05-07 23:14:43 +00:00
Eric Kohl
c5cff1ce1b [SHELL32]
Improvements to the file type property page:
- Read the EditFlags value for each file type from the registry.
- Sort the file type list by extension and description.
- Do not add a file type to the list if the FTA_Exclude flag is set for the file type.
- Disable the delete button if the FTA_NoRemove flag is set fot the file type.
- Set the FTA_Exclude flag for the dllfiles, lnkfiles and piffiles file types.
- Set the FTA_NoRemove flag for the batfile, cmdfile, comfile and exefile file types.

svn path=/trunk/; revision=71275
2016-05-07 21:59:00 +00:00
Daniel Reimer
94edad6a7f [RAPPS]
FTP direct links are bad for ROS.

svn path=/trunk/; revision=71274
2016-05-07 15:17:21 +00:00
Daniel Reimer
2eafaecd6a [RAPPS]
Fix changed SHA1, fix broken downloads. Have fun 0.4.1 testers ^^

svn path=/trunk/; revision=71273
2016-05-07 13:01:25 +00:00
Mark Jansen
2c3a40046f [UDFS] Avoid double free in UDFLoadLogicalVolInt. Patch by Víctor Martínez Calvo. CID 1322300 CORE-11181 #resolve
#comment Thanks!

svn path=/trunk/; revision=71272
2016-05-07 11:50:03 +00:00
Mark Jansen
5994ce5887 [KBDTOOL] Handle failure to parse scancodes. Patch by Víctor Martínez Calvo. CID 1341307 CORE-11177 #resolve
#comment Thanks!

svn path=/trunk/; revision=71271
2016-05-07 10:22:45 +00:00
Pierre Schweitzer
3b58992913 [FASTFAT]
In case we're performing an in-place move (ie, in the same directory), if short name matches before and after, keep it.

This avoids that a file with long file name sees its short name changing on normally 'non-effect' renames.
For instance, in case of case-change only rename, short name will now be preserved.

See ya, you 7y old bug :-)

CORE-3875 #resolve #comment Fixed with r71270

svn path=/trunk/; revision=71270
2016-05-06 21:06:31 +00:00
Sylvain Petreolle
38b36a3dc0 [IERNONCE]
Add the romanian resource to the repository.
CORE-11111 #resolve
Fix build.

svn path=/trunk/; revision=71269
2016-05-06 20:20:02 +00:00
Eric Kohl
a8b256c57b [USETUP]
Fix serious path localization issue.
Patch by Wim Hueskes.
CORE-9656 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=71268
2016-05-06 20:17:20 +00:00
Eric Kohl
b604470d8b [TRANSLATION]
Updating Turkish Translation.
Patch by Erdem Ersoy.
CORE-11130 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=71267
2016-05-06 14:41:41 +00:00
Eric Kohl
003c39d73b [TRANSLATION]
Romanian resources maintenance.
Patch by Ștefan Fulea.
CORE-11111 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=71266
2016-05-06 14:30:53 +00:00
Pierre Schweitzer
ae7080e660 [BTRFS]
Upgrade the WinBtrfs to release 0.4.

CORE-11172 #resolve #Committed in r71265

svn path=/trunk/; revision=71265
2016-05-05 17:26:47 +00:00
Pierre Schweitzer
3c7f167e24 [NTOSKRNL_VISTA]
Implement FsRtlValidateReparsePointBuffer().

CORE-11172

svn path=/trunk/; revision=71264
2016-05-05 16:58:16 +00:00
Mark Jansen
6137e4a401 [NTOSKRNL] Fix NtApphelpCacheControl image lookup failure return codes when validating file times.
Also silence some debug outputs in the normal usage flow.

svn path=/trunk/; revision=71263
2016-05-05 14:13:29 +00:00
Mark Jansen
7d65f2a648 fix the build for msvc (2013?) users.
svn path=/trunk/; revision=71262
2016-05-05 12:43:57 +00:00
Mark Jansen
3a8ce2cae5 [NTOSKRNL][NTDLL_APITEST] Fix error returned from NtCreateSection when opening an empty file. CORE-11166
svn path=/trunk/; revision=71261
2016-05-05 12:06:07 +00:00
Pierre Schweitzer
1393ed9477 [BTRFS]
Mark the CORE-11057 fix as local change.

CORE-11172

svn path=/trunk/; revision=71260
2016-05-05 06:48:56 +00:00
Christoph von Wittich
035804c150 [FREELDR] fix copypasta
CORE-11161

svn path=/trunk/; revision=71259
2016-05-04 08:28:44 +00:00
Amine Khaldi
a2136f74ca [0.4.1] Merge the fix for enumerating ADS from files with 3+ streams, by Pierre in r71245. CORE-11164
svn path=/branches/ros-branch-0_4_1/; revision=71258
2016-05-03 22:36:26 +00:00
Amine Khaldi
009916f9ef [0.4.1] Merge the scroll bar glitch fix by Herschel Ralston in r71231. CORE-3923 CORE-11155
svn path=/branches/ros-branch-0_4_1/; revision=71257
2016-05-03 22:31:13 +00:00
Amine Khaldi
36c3f0e984 [0.4.1] Merge the UniATA sync in revisions 71252 and 71255. CORE-11157
svn path=/branches/ros-branch-0_4_1/; revision=71256
2016-05-03 22:25:27 +00:00
Amine Khaldi
03b9615a02 [UNIATA] Fix PCH.
svn path=/trunk/; revision=71255
2016-05-03 22:23:02 +00:00
Amine Khaldi
f2d8ab6186 [0.4.1] Apply the usetup path localization fix by Wim Hueskes. CORE-9656
svn path=/branches/ros-branch-0_4_1/; revision=71254
2016-05-03 21:49:08 +00:00
Amine Khaldi
e2e746c51c [0.4.1] * Disable COMMAND.COM debugging messages. CORE-10710
svn path=/branches/ros-branch-0_4_1/; revision=71253
2016-05-03 21:40:38 +00:00
Aleksey Bragin
4b9cf2e339 [UNIATA]
- Update to 0.46d7.

CORE-11157

svn path=/trunk/; revision=71252
2016-05-03 21:16:08 +00:00
Amine Khaldi
b6b2076cba [0.4.1] * Apply the wordpad related hack from CORE-5823 by Jared Smudde.
svn path=/branches/ros-branch-0_4_1/; revision=71251
2016-05-03 20:10:13 +00:00
Amine Khaldi
5d640be351 [0.4.1] * Apply the hackfix from CORE-9836 by Joachim Henze.
svn path=/branches/ros-branch-0_4_1/; revision=71250
2016-05-03 20:08:25 +00:00
Amine Khaldi
acd95ece40 [0.4.1] * Apply the patch that allows us to dynamically change the resolution by resizing in VirtualBox. CORE-6742
svn path=/branches/ros-branch-0_4_1/; revision=71249
2016-05-03 20:01:28 +00:00
Mark Jansen
ba05a7eccf [WINTRUST_WINETEST] Import Wine Staging commit bdb15cf (WinVerifyTrust tests), by Sebastian Lackner & Me CORE-10923
svn path=/trunk/; revision=71248
2016-05-03 19:29:39 +00:00
Amine Khaldi
65674dc182 [0.4.1] Merge the shell fixes by Giannis in r71217 as they addressed "My network places" missing icon. CORE-10943
svn path=/branches/ros-branch-0_4_1/; revision=71247
2016-05-03 19:00:54 +00:00
Pierre Schweitzer
5ad9ede05c [KERNEL32]
The onliner:
- Move to next entry by applying the offset to the previous entry, and not to the first entry

This fixes enumerating ADS from files with 3+ streams. Previously, doing dir /R in a directory would have lead to a cmd crash.

CORE-11164 #resolve #comment Fixed by r71245

svn path=/trunk/; revision=71245
2016-05-03 17:58:28 +00:00
Giannis Adamopoulos
92ad6046bc [SHELL32]
- Remove a debug message that should have been removed before committing.
- Also fix a test failure.

svn path=/trunk/; revision=71244
2016-05-03 17:10:09 +00:00
Giannis Adamopoulos
48cee97ceb [SHELL32]
- Move recyclebin static lib in the shell32 folder and name it shellrecyclebin alongside shelldesktop and shellmenu static libs.

svn path=/trunk/; revision=71243
2016-05-03 14:36:04 +00:00
Giannis Adamopoulos
ac223b4e20 [SHELL32]
- CDesktopFolder: Avoid doing any operation with pidls. Use the internal fs folders instead.

svn path=/trunk/; revision=71242
2016-05-03 13:47:16 +00:00
Thomas Faber
46a0c313d0 [0.4.1]
- Merge the fix to NtSetValueKey in r71232/r71236 (ROSTESTS-200)

svn path=/branches/ros-branch-0_4_1/; revision=71241
2016-05-03 13:07:03 +00:00
Thomas Faber
aa8f87d6c8 [WIN32K:NTUSER]
- Desktops should keep a reference to their parent window station
CORE-11124

svn path=/trunk/; revision=71240
2016-05-03 12:50:35 +00:00
Thomas Faber
16beeefbbb [WIN32K:NTUSER]
- In IntDesktopObjectDelete, correctly handle the case where pDeskInfo could not be allocated
CORE-11124

svn path=/trunk/; revision=71239
2016-05-03 12:38:41 +00:00
Thomas Faber
090738b6dd [WIN32K:NTUSER]
- Fix indentation. No functional changes.

svn path=/trunk/; revision=71238
2016-05-03 12:24:28 +00:00
Giannis Adamopoulos
f03ca04852 [SHELL32]
- lnk files are .. files so don't pretend that CDrivesFolder and CControlPanelFolder can contain lnk files.
- Don't create a full pidl just to parse it right away (which is a costly operation) when an IShellLink is queried from a folder.
- Fix a bug in CDesktopFolder::GetDisplayNameOf that was exposed by changes above.

svn path=/trunk/; revision=71237
2016-05-03 09:15:36 +00:00
Thomas Faber
0beda486ca [REG_WINETEST]
- Addendum to r71232: we no longer need to skip this test.
ROSTESTS-200

svn path=/trunk/; revision=71236
2016-05-02 20:30:59 +00:00
Pierre Schweitzer
9756d84f6c [USER32]
Import Wine commit:
- bfb7e167cb399dbba0a889b797bc11ece8b9e687, Check bounds before dereferencing.

svn path=/trunk/; revision=71235
2016-05-02 17:45:42 +00:00
Pierre Schweitzer
be41ea660b [COMDLG32]
Import Wine commit:
- d288d8d333f6faea9d64a0af944f125663a449d8, Check for overflow before dereferencing.

svn path=/trunk/; revision=71234
2016-05-02 17:45:39 +00:00
Giannis Adamopoulos
1a570d8bbb [SHELL32]
- Fix loading shortcut icons. The previous code passed a full pidl to GetUIObjectOf which is really wrong.
CORE-11158

svn path=/trunk/; revision=71233
2016-05-02 13:50:13 +00:00
Thomas Faber
c55c338dfa [NTOS:CM]
- Correctly handle NULL Data with nonzero DataSize in NtSetValueKey
ROSTESTS-200 #resolve

svn path=/trunk/; revision=71232
2016-05-02 13:19:44 +00:00
James Tabor
8357726420 [User32]
- Patch by Herschel Ralston : Fix scroll bar glitch. See CORE-3923 and CORE-11155.

svn path=/trunk/; revision=71231
2016-05-02 02:46:03 +00:00
Mark Jansen
0984c6825b [APPHELP][APPHELP_APITEST] Add some apphelp GUID helper functions + tests to be used later on. CORE-10367
- SdbGetStandardDatabaseGUID
- SdbGUIDFromString
- SdbGUIDToString
- SdbIsNullGUID

svn path=/trunk/; revision=71230
2016-05-01 21:43:30 +00:00
Pierre Schweitzer
81f2467b66 [NTFS]
Cherry pick a change from r71224 by Trevor:
- Don't fail too early in NtfsCreateFile() when requesting write/supersede operation. This allows already setting appropriate error in certain cases and making the driver more consistent

svn path=/trunk/; revision=71229
2016-05-01 20:16:08 +00:00
Pierre Schweitzer
64bc0243c3 [NTFS]
This has nothing to do in a NTFS driver

svn path=/trunk/; revision=71228
2016-05-01 20:13:26 +00:00
Giannis Adamopoulos
72a9b73970 [SHELL32]
- Remove IExtractIconA_Constructor and rename IExtractIconW_Constructor to GenericExtractIcon_CreateInstance which will handle both A and W.
- Make GenericExtractIcon_CreateInstance accept a pointer to a IShellFolder and a simple pidl.
- Avoid using SHGetPathFromIDListW. Use ILGetDisplayNameExW instead. May make loading icons for folders and exe files slightly faster as it does fewer I/O and less allocations.

svn path=/trunk/; revision=71227
2016-05-01 19:54:23 +00:00
Mark Jansen
78280ad21f [APPHELP][APPHELP_APITEST] Add SdbGetFileAttributes + tests, based on the work of Mislav Blažević CORE-10367
- Implement SdbGetFileAttributes (based on the work of Mislav Blažević)
- Add tests for SdbGetFileAttributes

svn path=/trunk/; revision=71226
2016-05-01 19:12:06 +00:00
Giannis Adamopoulos
535cdf4620 [SHELL32]
- Disentangle icon extraction for control panel. Add CCPLExtractIcon_CreateInstance and isolate control panel handling in CControlPanelFolder.cpp.

svn path=/trunk/; revision=71225
2016-05-01 19:05:32 +00:00
Pierre Schweitzer
c368ace889 [DHCPCSVC]
Properly end variadic args enumeration

svn path=/trunk/; revision=71223
2016-05-01 13:36:15 +00:00
Pierre Schweitzer
6e2ec32434 [SHELL32]
Don't use uninit var

svn path=/trunk/; revision=71222
2016-05-01 13:27:11 +00:00
Pierre Schweitzer
5080a1aaf4 [KS]
- Don't leak memory in KspValidateConnectRequest(), patch by Victor Martinez
- Also compute connect medium ID string only twice (could be even computed once) instead of doing so in each loop iteration

CORE-11099 #resolve #comment Committed in r71221 

svn path=/trunk/; revision=71221
2016-05-01 08:25:22 +00:00
Amine Khaldi
e6b21d5591 [SHELL32] Properly track RC file dependencies. CORE-9806
svn path=/trunk/; revision=71220
2016-04-30 16:21:23 +00:00
Pierre Schweitzer
5c66503f42 [PSDK]
Add missing definition

svn path=/trunk/; revision=71219
2016-04-30 16:12:49 +00:00
Thomas Faber
a161bf7c30 [0.4.1]
- Update start menu bitmap

svn path=/branches/ros-branch-0_4_1/; revision=71218
2016-04-30 15:52:03 +00:00
Giannis Adamopoulos
8ee72aa102 [SHELL32]
- Get rid of CPrintersExtractIconW and add CPrintersExtractIconW_CreateInstane which creates and initializes CExtractIcon.
- Also add CNetFolderExtractIcon_CreateInstance and CRecyclerExtractIcon_CreateInstance.

svn path=/trunk/; revision=71217
2016-04-30 15:30:59 +00:00
Thomas Faber
c1a1365490 [SHELL32_APITEST]
- Add a test for SHParseDisplayName
CORE-10434

svn path=/trunk/; revision=71216
2016-04-30 15:06:57 +00:00
Mark Jansen
ce192c47ea fix the build.
svn path=/trunk/; revision=71215
2016-04-30 14:33:57 +00:00
Giannis Adamopoulos
9ff8cfba85 Try to fix build.
svn path=/trunk/; revision=71214
2016-04-30 14:09:33 +00:00
Giannis Adamopoulos
42143e7d37 [SHELL32]
- Add an overload of SHSetStrRet which loads strings by default from shell32.
- Remove some dead code fomr CDrivesFolder.

svn path=/trunk/; revision=71213
2016-04-30 14:05:10 +00:00
Giannis Adamopoulos
61d4bb4dcc [SHELL32]
- Accept parsing paths like "C:". Also simplify CDrivesFolder::ParseDisplayName a bit.
Note: trying to run "c:" from the run dialog doesn't have the right result due to a bug in ShellExecute.

svn path=/trunk/; revision=71212
2016-04-30 12:52:17 +00:00
Amine Khaldi
032a403b1a [0.4.1] Update the version number.
svn path=/branches/ros-branch-0_4_1/; revision=71211
2016-04-30 12:29:15 +00:00
Pierre Schweitzer
f5eff4b750 [FASTFAT]
Update the FCB cached dir entry in case of a rename.

CORE-11150 #resolve #comment Fixed in r71209

svn path=/trunk/; revision=71209
2016-04-30 08:20:00 +00:00
Amine Khaldi
4d606b20df [SHELL32] German layout improvements in the folder options dialog. By Joachim Henze. CORE-11143
svn path=/trunk/; revision=71208
2016-04-26 21:17:25 +00:00
Thomas Faber
cc84d2386d [ACPI]
- Fix a broken status check in Bus_StartFdo. Spotted by willok.

svn path=/trunk/; revision=71207
2016-04-26 18:29:42 +00:00
Amine Khaldi
a91ac10b0f [CLASSPNP] Use NT_ASSERTMSGW instead of ASSERTMSGW.
svn path=/trunk/; revision=71206
2016-04-25 22:47:45 +00:00
Amine Khaldi
09f17e982e [CLASSPNP] Addendum to r71183.
svn path=/trunk/; revision=71205
2016-04-25 22:39:15 +00:00
Sylvain Petreolle
4a708c0f30 [CONFIGURE]
Addendum to r69601:
host-tools are "no longer required" but actually still exist.
Add the CMakeCache cleanup for them.


svn path=/trunk/; revision=71204
2016-04-24 22:40:53 +00:00
Pierre Schweitzer
a5f9846eb9 [BTRFS]
Don't remove an entry list twice in add_to_space_list().

This fixes a BSOD when trying to create a new file on a Btrfs volume.

Already sent upstream. Delayed due to inactivity.

CORE-11057 #resolve #comment Fixed with r71202

svn path=/trunk/; revision=71202
2016-04-24 19:58:15 +00:00
Sylvain Petreolle
83317e3688 [CDMAKE]
Don't check for extension length on Joliet images.
Encountered with AHK binaries.

ONLINE-567

svn path=/trunk/; revision=71201
2016-04-24 18:59:33 +00:00
Mark Jansen
b1e3b339f6 [APPHELP][APPHELP_APITEST] Update SdbTagToString tests to check all known tags CORE-10367
- Add a list of hardcoded tags, for all versions up to win7 they are checked against windows.
- Update SdbTagToString with a few missing strings
- Hardcode the used version to Win7 for now, as backporting these strings would not make much sense.

svn path=/trunk/; revision=71200
2016-04-24 17:19:09 +00:00
Sylvain Petreolle
1b54763b3b [NDIS]
Revert r71188 

svn path=/trunk/; revision=71199
2016-04-24 15:50:25 +00:00
Mark Jansen
f97c563d01 Nothing to see here.
svn path=/trunk/; revision=71198
2016-04-24 13:27:22 +00:00
Mark Jansen
7aaa9aee54 [APPHELP][APPHELP_APITEST] Add SdbTagToString + test by Mislav Blažević CORE-10367
svn path=/trunk/; revision=71197
2016-04-24 13:05:00 +00:00
Eric Kohl
84690a71d8 [SYSSETUP]
Rename SetAccountDomain to SetAccountsDomainSid and export it.

svn path=/trunk/; revision=71194
2016-04-24 11:29:40 +00:00
Mark Jansen
1fd32f0bbf * Addendum to r71192,
which was based on the research of Jared Smudde, Sylvain Deverre and Robert Naumann.
CORE-10837

svn path=/trunk/; revision=71193
2016-04-23 23:20:44 +00:00
Mark Jansen
8b77c254f8 [BROWSEUI][SHELL32] Stub Folder Options Property Page extension CORE-10837
- Stub the Property pages
- Disable some code that prevented the property pages from working (CORE-11140)
- Leave the menu item disabled for now, since a dialog that does not do anything will only confuse people (CORE-11141)

svn path=/trunk/; revision=71192
2016-04-23 23:05:07 +00:00
Mark Jansen
aac1b749ea [SHELL32] Fix the grouping of folder options radiobuttons CORE-10837
svn path=/trunk/; revision=71191
2016-04-23 22:22:40 +00:00
Mark Jansen
91d86a9a91 [SDK][SDK_APITEST] Improve delayload support CORE-10935
- Add an apitest for our delayload functions.
- Improve the delayload (mainly the failure cases, throw exceptions where expected etc).
- Add some tests for advanced delayload features (currently blocked on CORE-6504 and CORE-10957)

svn path=/trunk/; revision=71190
2016-04-23 20:38:06 +00:00
Sylvain Petreolle
8c386bbbcc [ROSTESTS]
apitests: win32kdll and win32nt can't be built on Release builds,
NtUserSetDbgTag is not exported.


svn path=/trunk/; revision=71189
2016-04-23 20:08:10 +00:00
Sylvain Petreolle
6cb4110a2e [NDIS]
Silence a debug output.
CORE-11137 #resolve


svn path=/trunk/; revision=71188
2016-04-23 19:09:30 +00:00
Sylvain Petreolle
eae7001339 Save the ReiserFS driver in the right place on installation CDs.
Patch by Peter Hater.

CORE-11005

svn path=/trunk/; revision=71187
2016-04-21 20:18:05 +00:00
Amine Khaldi
79a74c6baf [URLMON] Stub and export URLDownloadA. CORE-11136
svn path=/trunk/; revision=71186
2016-04-21 14:16:51 +00:00
Amine Khaldi
248dcd328b * Addendum to r71184. CORE-9111
svn path=/trunk/; revision=71185
2016-04-20 12:39:37 +00:00
Amine Khaldi
08a0346e9f [SDK] One step further towards ReactOS source code tree restructure: the sdk folder that groups includes, libraries and tools. CORE-9111
svn path=/trunk/; revision=71184
2016-04-20 12:36:25 +00:00
Amine Khaldi
e85488750c [CLASSPNP] Fix MSVC build. Brought to you by Timo.
svn path=/trunk/; revision=71183
2016-04-20 12:16:16 +00:00
Amine Khaldi
66d24776ff [LIBPNG] Update to v1.6.21. CORE-11128
svn path=/trunk/; revision=71182
2016-04-20 09:00:52 +00:00
Amine Khaldi
173e69f4af [README.WINE] Mark some modules and source files as synced with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=71181
2016-04-20 08:50:01 +00:00
Sylvain Petreolle
faca4ea066 Make the bootcd_extras, livecd_extras, hybridcd_extras actually work.
CORE-9527
Cannot be used for the AHK suite test bot, cdmake cannot add directories.
ONLINE-567

Arch, #TestYourCode :)

svn path=/trunk/; revision=71180
2016-04-19 21:41:46 +00:00
Pierre Schweitzer
eb85db6579 [NTOSKRNL]
Typo--;

svn path=/trunk/; revision=71179
2016-04-19 06:25:18 +00:00
Pierre Schweitzer
d1a397ab03 [NTOSKRNL]
Use the PairCount variable of the MCB to store the current amount of runs in the table. This will be properly used later on.

CORE-11002

svn path=/trunk/; revision=71178
2016-04-18 20:49:14 +00:00
Pierre Schweitzer
909eb635f2 [KMTESTS:FSRTL]
Add more failing tests for MCB. These are pretty basics and deal with holes.
They are pretty handy to show how broken the current MCB implementation is, in regard to holes management: it fails at properly counting runs when there are holes and it creates virtual runs (hence the broken count) for each hole. This shouldn't happen.

CORE-11002

svn path=/trunk/; revision=71177
2016-04-17 21:17:49 +00:00
Timo Kreuzer
050c4e8ff4 [XDK/DDK] Fix copy pasta
svn path=/trunk/; revision=71176
2016-04-17 21:14:51 +00:00
Thomas Faber
f66b801a75 [NTOS:KE]
- In debug builds, restore EBP early in KiSwitchThreads to get a sensible backtrace
CORE-11123

svn path=/trunk/; revision=71175
2016-04-17 09:55:13 +00:00
Timo Kreuzer
b5478dccca [NTOSKRNL]
Modify the ret8 interrupt return path in KiTrapExitStub, so that nested interrupts (e.g. as a result of an interrupt storm from a broken driver) will work more "like on Windows", i.e., now the broken driver will not cause stack exhaustion anymore, but a proper system hang! And it will be an even more efficient system hang than Windows has! This is not the '90s. You can't just walk up and crash the system, you have to do something cool first and do it properly "like Windows does", even if you're not using the same assembly instructions.

svn path=/trunk/; revision=71174
2016-04-16 22:38:11 +00:00
Thomas Faber
a976f17441 [USER32_APITEST]
- Add a test for window station reference counts
CORE-11124

svn path=/trunk/; revision=71173
2016-04-16 20:30:11 +00:00
Timo Kreuzer
5e40514cb7 [XDK/DDK] Update ASSERT definitions based on latest WDK (with some modifications regarding cast to void and macro parameter expansion). Use NT_ASSERT for ASSERT globally on reactos MSVC builds.
svn path=/trunk/; revision=71172
2016-04-16 15:53:32 +00:00
Thomas Faber
8a9b1f69ff [CMLIB]
- Turn down a noisy DPRINT

svn path=/trunk/; revision=71171
2016-04-16 14:19:47 +00:00
Timo Kreuzer
851f35f9cf [XDK/DDK] Fix prototype of FsRtlRegisterUncProvider, based on latest WDK
svn path=/trunk/; revision=71170
2016-04-16 13:14:31 +00:00
Thomas Faber
7da1830d85 [RTL]
- Silence noisy DPRINTs

svn path=/trunk/; revision=71169
2016-04-16 11:43:57 +00:00
Thomas Faber
05c5e89e5d [NTOS][WIN32K]
- Disable some noisy DPRINTs

svn path=/trunk/; revision=71168
2016-04-16 10:38:58 +00:00
Thomas Faber
17e18bc653 [WIN32K:NTUSER]
- Don't leak desktop reference in failure case of NtUserSwitchDesktop

svn path=/trunk/; revision=71167
2016-04-16 10:22:35 +00:00
Pierre Schweitzer
d23404960a [NTOSKRNL]
In FsRtlAddBaseMcbEntry(), don't merge runs in case there's a hole in LBNs

CORE-11002

svn path=/trunk/; revision=71166
2016-04-15 20:50:40 +00:00
Thomas Faber
270998174c [WIN32K:NTUSER]
- Don't access WindowStationName after free
- Handle RtlCreateAtomTable failure

svn path=/trunk/; revision=71165
2016-04-15 20:43:25 +00:00
Thomas Faber
8ab4a127ba [WIN32K:NTUSER]
- Initialize the window station object before calling ObInsertObject, since the object will be deleted in case of failure.
CORE-11124

svn path=/trunk/; revision=71164
2016-04-15 20:24:44 +00:00
Thomas Faber
741f025e65 [WIN32K:NTUSER]
- Fix indentation. No code changes.

svn path=/trunk/; revision=71163
2016-04-15 19:49:33 +00:00
Pierre Schweitzer
d814167aba [KMTESTS:FSRTL]
Add more non-failing tests

CORE-11002

svn path=/trunk/; revision=71162
2016-04-15 19:43:12 +00:00
Thomas Faber
9313bf7d63 [NTOS:MM]
- Fix list walk in MmGetSessionById

svn path=/trunk/; revision=71161
2016-04-15 18:30:18 +00:00
Pierre Schweitzer
60f5fc07fc [FREELDR]
Cherrypick r71159

svn path=/trunk/; revision=71160
2016-04-14 20:42:12 +00:00
Pierre Schweitzer
82c9e05743 [NTFS]
Don't attempt to read a sparse run of the disk.

Patch by Trevor Thompson

CORE-10998

svn path=/trunk/; revision=71159
2016-04-14 20:39:55 +00:00
Thomas Faber
db73e15d85 [ACPICA]
- Revert the changes adding arbitrary bit length read/write support since they cause problems on VirtualBox and will be reworked upstream.
CORE-11115 #resolve

svn path=/trunk/; revision=71158
2016-04-14 19:38:40 +00:00
Thomas Faber
519abb5b4a [NTOS:IO]
- Avoid excessive stack usage in IopInitializeDriverModule.

svn path=/trunk/; revision=71157
2016-04-14 15:18:53 +00:00
Pierre Schweitzer
d55cb36612 [NTFS]
Don't perform an overestimated allocation in NtfsReadFile()

Patch by Trevor Thompson

CORE-10998

svn path=/trunk/; revision=71156
2016-04-13 20:06:56 +00:00
Pierre Schweitzer
97d46bb600 [NTFS]
Don't leak memory in case of failures in NtfsReadDisk().

Based on a patch by Trevor Thompson.

CORE-10998

svn path=/trunk/; revision=71155
2016-04-13 19:52:42 +00:00
Mark Jansen
278ccfd7c8 [APPHELP] Change the ApphelpCheckInstallShieldPackage stub to a non-throwing one, use OutputDebugString by default. CORE-8591
svn path=/trunk/; revision=71154
2016-04-13 18:23:54 +00:00
Thomas Faber
d58a87beca [NTOS:PS]
- Return sensible values for KernelTime/UserTime from NtQueryInformationProcess:ProcessTimes
CORE-7007 #resolve

svn path=/trunk/; revision=71153
2016-04-12 17:44:47 +00:00
Thomas Faber
8bed306ee8 [NTDLL_APITEST]
- Add a test for NtQueryInformationProcess:ProcessTimes
CORE-7007

svn path=/trunk/; revision=71152
2016-04-12 17:39:01 +00:00
Thomas Faber
d28a4b2480 [ACPICA]
- Update to version 20160318
CORE-11114 #resolve

svn path=/trunk/; revision=71151
2016-04-12 15:44:33 +00:00
Thomas Faber
42ec0c2167 [COM_APITEST]
- Add some more classes, thanks to http://www.geoffchappell.com/studies/windows/ie/browseui/classes/index.htm

svn path=/trunk/; revision=71150
2016-04-12 13:18:32 +00:00
Thomas Faber
76370aa3b4 [ADVAPI32]
- Fix null termination in RegQueryInfoKeyA. Based on Wine commit 303daeef by Alexandre Juilliard.

svn path=/trunk/; revision=71149
2016-04-12 13:01:35 +00:00
Thomas Faber
fa41877cb2 [PSDK]
- Add CLSID_ACLHistory, CLSID_ACLMRU, CLSID_ACLCustomMRU

svn path=/trunk/; revision=71148
2016-04-12 11:58:11 +00:00
Thomas Faber
ce2bf75da7 [PSDK]
- Import SHCreateShellItemArrayFromIDLists, IShellView3, IAssocHandlerInvoker, IAssocHandler, IEnumAssocHandlers, SHAssocEnumHandlers and EnumerableObjectCollection from Wine

svn path=/trunk/; revision=71147
2016-04-12 09:27:27 +00:00
Thomas Faber
400687e3ed [PSDK]
- Reorder some definitions in shobjidl.idl to get us in better sync with Wine

svn path=/trunk/; revision=71146
2016-04-12 06:51:20 +00:00
Pierre Schweitzer
7598e7c2c4 [NTOSKRNL]
In FsRtlAddBaseMcbEntry(), try to detect incompatible LBNs before altering mappings.

This fixes a few tests failures

CORE-11002

svn path=/trunk/; revision=71145
2016-04-11 20:29:35 +00:00
Mark Jansen
57c45625a3 [SHELL32][SHELL32_WINETEST] Connect CDefViewDual to CDefView to fix crashes in the shelldispatch test ROSTESTS-209
- CDefViewDual::get_Application now returns a new CDefView to fix the winetest.
- Update CFolder, CFolderItem(s), CFolderItemVerb(s), CShell to use the new IDispatchImpl
- Enable the last two skipped testcases (test_ShellFolderViewDual, test_ShellWindows)

svn path=/trunk/; revision=71144
2016-04-11 18:28:31 +00:00
Colin Finck
1591074c3f [DOXYGEN]
doxygen.reactos.org is back, with a revamped Doxyfile and a new design! (= the standard Doxygen design :P)

This is mostly the default Doxyfile, with just obvious settings imported from our old one.
I've also enabled some advanced features such as dependency graphs and the treeview.
The configuration is far away from perfect, but everybody is invited to tune it and see the results on the next day.
Doxygen is regenerated everyday at 4:00 UTC. RosApps and RosTests are also included now.

You're also invited to add Doxygen comments everywhere. Right now, the documentation is dominated by our third-party imports.


svn path=/trunk/; revision=71143
2016-04-11 05:43:46 +00:00
Mark Jansen
60cf559dc6 [SHELL32] Use the previously implemented Typelib registration from ATL to register shell32. ROSTESTS-209
svn path=/trunk/; revision=71142
2016-04-10 21:32:27 +00:00
Pierre Schweitzer
4d3121a2c1 [KMTESTS:FSRTL]
Add a simple test for FsRtlAddLargeMcbEntry() which shows how hard it's broken... Not only it doesn't support mismatching LBNs, but it also replaces current mapping with broken one

CORE-11002

svn path=/trunk/; revision=71141
2016-04-10 18:02:04 +00:00
Thomas Faber
83f145b065 [MOUNTMGR]
- Avoid an unnecessarily large stack buffer in MountMgrMountedDeviceArrival
- Add missing OBJ_KERNEL_HANDLE. CORE-10207

svn path=/trunk/; revision=71140
2016-04-10 17:51:47 +00:00
Mark Jansen
1b444ed447 [ATL]
- Implement Typelib registration in CComModule::RegisterServer, based on dll/win32/atl/atl.c and dll/win32/atl80/atl80.c
- Add oleaut32 to devmgr and stobject import libraries
CORE-11104 #resolve

svn path=/trunk/; revision=71139
2016-04-10 16:53:00 +00:00
Mark Jansen
356a216e2c [SHELL32]
- Stub IShellFolderViewDual2
ROSTESTS-209 #comment CDefViewDual.patch committed.

svn path=/trunk/; revision=71138
2016-04-10 12:05:06 +00:00
Pierre Schweitzer
277ab38c90 [NTOSKRNL]
In  FsRtlAddBaseMcbEntry(): only merge runs if LBNs are consistent.

This fixes a few failing tests.

CORE-11002

svn path=/trunk/; revision=71137
2016-04-10 10:29:28 +00:00
Thomas Faber
05838e4ee8 [COM_APITEST]
- Add some classes and interfaces related to CORE-10838.

svn path=/trunk/; revision=71136
2016-04-10 09:40:16 +00:00
Thomas Faber
ca6fdccb45 [PSDK]
- Correct CLSID_FileSearchBand and add CLSID_IE_SearchBand and CLSID_ChannelsBand. Patch by Sylvain Deverre.
CORE-10838

svn path=/trunk/; revision=71135
2016-04-10 09:33:03 +00:00
Thomas Faber
0f968e68a7 [PSDK]
- Add DSA_GetItemCount and DSA_AppendItem. Patch by Sylvain Deverre.
CORE-10838

svn path=/trunk/; revision=71134
2016-04-10 09:22:08 +00:00
Mark Jansen
a7c3ff7e94 [SHELL32]
- Stub IShellView2
Patch by Jared Smudde
CORE-11049 #resolve #comment Thanks!

svn path=/trunk/; revision=71133
2016-04-09 23:20:15 +00:00
Pierre Schweitzer
e845d90149 [NTOSKRNL]
Drop dead code in FsRtlAddBaseMcbEntry().

CORE-11002

svn path=/trunk/; revision=71132
2016-04-09 22:18:14 +00:00
Mark Jansen
dfb5dab3d6 [ACPPAGE] Implement the base of the compatibility tab in explorer as shell extension.
Because the underlying shim infrastructure is not active yet, the page is disabled by default.
Hello Reactos :)
CORE-10375

svn path=/trunk/; revision=71131
2016-04-09 21:40:32 +00:00
Thomas Faber
2063cc07b6 [CDFS]
- Implement file locking
CORE-10790 #resolve

svn path=/trunk/; revision=71130
2016-04-09 19:33:42 +00:00
Thomas Faber
b05fcc754d [NTOS:WMI]
- Avoid a memory leak in failure case of WmipGetRawSMBiosTableData.
CORE-11095 #resolve

svn path=/trunk/; revision=71129
2016-04-09 16:16:12 +00:00
Thomas Faber
372ab04bc4 [USBSTOR]
- In USBSTOR_GetMaxLUN, correctly handle devices that do not support this request. Patch by Vadim Galyant.
CORE-10515 #resolve

svn path=/trunk/; revision=71128
2016-04-09 16:13:37 +00:00
Thomas Faber
ce2ec6562e [COM_APITEST]
- Add even more interfaces

svn path=/trunk/; revision=71127
2016-04-09 15:13:01 +00:00
Thomas Faber
70c91c4798 [COM_APITEST]
- Add some more interfaces

svn path=/trunk/; revision=71126
2016-04-09 14:05:08 +00:00
David Quintana
20666d0805 [UNIVGA16]
Change the cylliric glyphs for "Ы" and "ы", to allow them to have a pixel space before the next character. By Dmitri Poguliayev.

svn path=/trunk/; revision=71125
2016-04-09 13:46:52 +00:00
Thomas Faber
4238b10456 [IPHLPAPI]
- Improve stub for Icmp6ParseReplies
ROSTESTS-214

svn path=/trunk/; revision=71124
2016-04-09 09:26:19 +00:00
Thomas Faber
e71bfbadc6 [COM_APITEST]
- Add ieframe classes CLSID_Internet, CLSID_CUrlHistory, CLSID_InternetShortcut, CLSID_ShellUIHelper, CLSID_ShellNameSpace, CLSID_WebBrowser and CLSID_WebBrowser_V1
- Add shdocvw classes CLSID_SearchAssistantOC, CLSID_ShellSearchAssistantOC and CLSID_ShellShellNameSpace

svn path=/trunk/; revision=71123
2016-04-09 09:22:57 +00:00
Thomas Faber
02d3757499 [COM_APITEST]
- Add IID_ICallFactory, IID_IForegroundTransfer and IID_IRpcOptions
- Fix a format string mismatch

svn path=/trunk/; revision=71122
2016-04-09 09:18:57 +00:00
Thomas Faber
e58452bd21 [COM_APITEST]
- Add more interfaces, in particular IID_IMarshal2 and DIID_DWebBrowserEvents
- Alphabetize ieframe classes

svn path=/trunk/; revision=71121
2016-04-09 09:00:44 +00:00
Thomas Faber
1687e7dce2 [COM_APITEST]
- Test INamespaceWalk, INamespaceWalkCB and INamespaceWalkCB2
CORE-11093

svn path=/trunk/; revision=71120
2016-04-09 08:49:17 +00:00
Thomas Faber
acfe26b095 [OLE32]
- Apply Wine commit 110665a3 (ole32: Don't call spy on IMalloc::Free(NULL)) by Nikolay Sivov. Fixes test failures in atl:CComHeapPtr
CORE-11107 #resolve

svn path=/trunk/; revision=71119
2016-04-09 08:31:49 +00:00
Thomas Faber
a59f1989c5 [SHELL32]
- Revert the delay-loading changes from r71114 since they break 2nd stage.
ROSTESTS-209

svn path=/trunk/; revision=71118
2016-04-08 10:36:31 +00:00
Thomas Faber
ee729a69a3 [ATL]
- Add a basic implementation for IDispatchImpl. Patch by Mark Jansen.
CORE-11087

svn path=/trunk/; revision=71117
2016-04-08 08:38:48 +00:00
Thomas Faber
78a727d095 [SHELL32]
- Add stubs for the shell dispatch object, CShell, and its relatives. Patch by Mark Jansen.
[SHELL32_WINETEST]
- We no longer need to skip test_ParseName and test_Verbs thanks to Mark's work.
CORE-6892
ROSTESTS-209

svn path=/trunk/; revision=71116
2016-04-08 08:30:09 +00:00
Thomas Faber
0664f98833 [SHELL32]
- Explicitly use -W version of ShellExecute. Patch by Mark Jansen.
ROSTESTS-209

svn path=/trunk/; revision=71115
2016-04-08 07:56:22 +00:00
Thomas Faber
347c6105e0 [SHELL32]
- Delay-import some libraries. Patch by Mark Jansen.
ROSTESTS-209

svn path=/trunk/; revision=71114
2016-04-08 07:55:32 +00:00
Amine Khaldi
116f67cc1d [WINTRUST] Import Wine Staging commit bdb15cf by Mark Jansen: Verify image hash in WinVerifyTrust. CORE-10923
svn path=/trunk/; revision=71113
2016-04-07 14:23:55 +00:00
Amine Khaldi
f319f77c2c [DBGHELP] Stub dbghelp. CORE-2990
svn path=/trunk/; revision=71112
2016-04-07 13:58:19 +00:00
Thomas Faber
472b96ba74 [NTOS:IO]
- Do not leak ServiceName in IopInitializeBuiltinDriver
CORE-11084 #resolve

svn path=/trunk/; revision=71111
2016-04-06 20:10:09 +00:00
Thomas Faber
f860a631fc [NTOS:IO]
- Get rid of some magic numbers

svn path=/trunk/; revision=71110
2016-04-06 20:02:38 +00:00
Thomas Faber
552f1fd24d [NTOS:IO]
- Handle RtlCreateUnicodeString failure in IopInitializeBuiltinDriver. Patch by Víctor Martínez Calvo. CID 1341416
CORE-11029 #resolve

svn path=/trunk/; revision=71109
2016-04-06 20:00:34 +00:00
Thomas Faber
518a536514 [NTDLL_APITEST]
- Add missing va_end. Patch by Víctor Martínez Calvo.
ROSTESTS-202 #resolve

svn path=/trunk/; revision=71108
2016-04-06 19:31:20 +00:00
Thomas Faber
3d165be77b [CRT_APITEST]
- Add missing va_end. Patch by Víctor Martínez Calvo.
ROSTESTS-221 #resolve

svn path=/trunk/; revision=71107
2016-04-06 12:34:26 +00:00
Thomas Faber
1a15d6a55c [BOOTLIB]
- Fix uninitialized variable in MmFwGetMemoryMap. Patch by Víctor Martínez Calvo. CID 1341421
CORE-11026 #resolve

svn path=/trunk/; revision=71106
2016-04-06 12:30:06 +00:00
Thomas Faber
17943c3f75 [NDIS]
- Print status code in case MiniportInitialize fails
CORE-11073

svn path=/trunk/; revision=71105
2016-04-06 12:14:28 +00:00
Eric Kohl
88a13bc297 [CHARMAP]
Statusbar character descriptions.
Patch by Baruch Rutman.
CORE-7386 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=71104
2016-04-05 20:29:48 +00:00
Robert Naumann
a6e21cf122 [WELCOME] Fix the blurry header bitmap. By Henry Tang Ih. CORE-10712
svn path=/trunk/; revision=71103
2016-04-05 19:29:56 +00:00
Robert Naumann
fd892c0f79 [EXPLORER][SHELL32] Fix some blurry and ugly icons. By Jared Smudde. CORE-10847 CORE-10848
svn path=/trunk/; revision=71102
2016-04-05 17:35:11 +00:00
Thomas Faber
edc42192c4 [WS2_32_APITEST]
- Add test for getservbyname
CORE-10440

svn path=/trunk/; revision=71101
2016-04-05 12:44:16 +00:00
Thomas Faber
8726fc984a [WS2_32_APITEST]
- Add test for getservbyport
CORE-10440

svn path=/trunk/; revision=71100
2016-04-05 12:20:47 +00:00
Robert Naumann
0b456041ef [EXPLORER] Add missing German translation. Patch by Joachim Henze. CORE-11075
svn path=/trunk/; revision=71099
2016-04-04 18:10:01 +00:00
Eric Kohl
cba34a3d1a [SERVMAN]
Improved column ordering.
Patch by Carlo Bramini.
CORE-10674 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=71098
2016-04-03 22:13:01 +00:00
Thomas Faber
8a7494dd08 [KERNEL32]
- Correctly calculate the buffer size if the PATH variable is set but empty in BasepComputeProcessPath. Yes, this is a bug in Windows.
CORE-11080 #resolve

svn path=/trunk/; revision=71097
2016-04-03 20:48:51 +00:00
Pierre Schweitzer
d741481035 [NTOSKRNL]
Rework debug prints in Mcb, this is what helped bringing the infamous r71091.
NFC.

CORE-11002

svn path=/trunk/; revision=71096
2016-04-03 20:17:09 +00:00
Eric Kohl
57bdb633c8 [NETSTAT]
- Fix parsing of the -p option and enable / as option indicator.
- Display foreign address of a listening TCP port as '<host>:0'.

svn path=/trunk/; revision=71095
2016-04-03 14:10:31 +00:00
Timo Kreuzer
bb8967851b [KMTEST] Improve test output
svn path=/trunk/; revision=71094
2016-04-03 14:05:58 +00:00
Daniel Reimer
43e5749a1d [RAPPS]
Automatic Fixup of the whole RAPPS DB with a Python sync script from Christopher Reimer (based on the script from Ismael Ferreras Morezuelas): https://dl.dropboxusercontent.com/u/30053674/shaonificator.py
- Fixed ANY INI parsing errors like double language sections, missing braces, missing variable descriptions, typos...
- Fixed ANY sizes of downloads + all language specific alterations.
- Fixed ANY dead links.
- Fixed ANY SHA1 hashes.
- Comments are no more. All ppl who contributed and left their names in the comments of the files are now found in CONTRIBUTORS.
++ Removed offbyone.txt. The Browser is no more.

svn path=/trunk/; revision=71093
2016-04-03 13:38:29 +00:00
Timo Kreuzer
d1c586e3f3 [CREATESPEC] Some cleanup and fixes
svn path=/trunk/; revision=71092
2016-04-03 13:36:00 +00:00
Pierre Schweitzer
b37377e363 [KMTESTS:FSRTL]
Add more tests for LargeMcb functions.

These are not invented but real cases: they are extracted from Ext2Fsd driver attempting to read a file from disk. The read file in ReactOS is totally corrupted.

This shows how broken our current MCB implementation is. And unfortunately confirms CORE-11002.
I recommend not to import any other FSDs relying on MCB as long as this is not fixed (eg. CORE-11040); it makes them pretty pointless.

CORE-11002

svn path=/trunk/; revision=71091
2016-04-03 10:25:32 +00:00
Eric Kohl
57b8eba2fe [NETAPI32]
Fix copypasta bug from r71085.
Hint by Thomas Faber. Thank you very much!

svn path=/trunk/; revision=71090
2016-04-01 21:16:45 +00:00
Hermès Bélusca-Maïto
a66b77582f [CFGMGR32]: Fix an export, caught by Jason Wendt.
CORE-11076 #comment Fixed, thanks!

svn path=/trunk/; revision=71089
2016-04-01 18:51:08 +00:00
Thomas Faber
902af12d45 [USBSTOR]
- Fix memory leak in USBSTOR_ClassRequest. Patch by Vadim Galyant (vgal at rambler dot ru).
CORE-11074 #resolve

svn path=/trunk/; revision=71088
2016-04-01 08:32:40 +00:00
Eric Kohl
79407a8027 [NET]
Net utility not enumerating local user accounts.
Patch by Curtis Wilson.
CORE-11023 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=71087
2016-03-31 21:48:43 +00:00
Eric Kohl
ec5cd6b41d [ADVAPI32]
CredWriteDomainCredentialsW missing in advapi32.dll.
Patch by Jared Smudde.
CORE-11055 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=71086
2016-03-31 21:22:05 +00:00
Eric Kohl
84cd712088 [NETAPI32]
DsEnumerateDomainTrustsW missing in netapi32.dll.
Patch by Jared Smudde.
CORE-11056 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=71085
2016-03-31 21:12:46 +00:00
Thomas Faber
3a5f8b5d7e [APPHELP]
- Add apphelp.dll. Patch by Mark Jansen, partially based on work by Mislav Blažević and the Wine team.
CORE-10367 #resolve

svn path=/trunk/; revision=71084
2016-03-31 12:54:05 +00:00
Thomas Faber
d4705d3a33 [NTOS:PNP]
- Fix indentation in PnpRootPdoPnpControl. Also avoid unnecessary casts. No functional changes.

svn path=/trunk/; revision=71083
2016-03-31 07:54:52 +00:00
Thomas Faber
72cf18964b [NTOS:PNP]
- Avoid INVALID_HANDLE_VALUE, it's not meant for the kernel.

svn path=/trunk/; revision=71082
2016-03-31 07:51:08 +00:00
Thomas Faber
d44ee74466 [SHELL32]
- Correctly handle desktop pidls in CDesktopFolder::CompareIDs. Based on a patch by Sylvain Deverre.
CORE-10747 CORE-10801 #resolve

svn path=/trunk/; revision=71081
2016-03-30 11:35:22 +00:00
Thomas Faber
113dd2e1e9 [SHELL32]
- Correctly handle NULL pidls in CDesktopFolder::CompareIDs and CDrivesFolder::CompareIDs. Based on a patch by Sylvain Deverre.
CORE-10745 #resolve
CORE-10747

svn path=/trunk/; revision=71080
2016-03-30 11:11:37 +00:00
Thomas Faber
510fc325df [SHELL32]
- Treat psfgaoOut as optional in SHParseDisplayName. Patch by Sylvain Deverre.
CORE-10747

svn path=/trunk/; revision=71079
2016-03-30 09:35:04 +00:00
Amine Khaldi
ef66463fce [IERNONCE] Turkish translation by Erdem Ersoy. CORE-11042
svn path=/trunk/; revision=71078
2016-03-29 09:53:44 +00:00
Thomas Faber
001dc229d5 [APPHELP_APITEST]
- Add tests for the apphelp SDB compatibility layer. Patch by Mark Jansen.
CORE-10367

svn path=/trunk/; revision=71077
2016-03-29 08:55:40 +00:00
Thomas Faber
df2d6a0e8a [BROWSEUI]
- Add stubs for IEnumString and IAutoCompleteDropDown to CAutoComplete. Patch by Jared Smudde.
CORE-11045 #resolve

svn path=/trunk/; revision=71076
2016-03-29 08:27:26 +00:00
Daniel Reimer
053ffccb8e [CAROOTS]
Updated SSL certs to up to date Mozilla DB. Done with swyter's great script from ROSBE-61

svn path=/trunk/; revision=71075
2016-03-28 23:15:30 +00:00
Daniel Reimer
d65859c0da [RAPPS]
BOMS! EVERYWHERE!

svn path=/trunk/; revision=71074
2016-03-28 22:56:27 +00:00
Daniel Reimer
1aac0898f6 [ROSAPPS]
Fixup the icons by Jared Smudde
ROSAPPS-307 #resolve #comment Committed, thx ^^

svn path=/trunk/; revision=71073
2016-03-28 21:54:06 +00:00
Daniel Reimer
ef66168b39 [Woops...]
Fix some missing stuff...

svn path=/trunk/; revision=71072
2016-03-28 21:40:16 +00:00
Daniel Reimer
68c216c066 [RAPPS/RAPPS_NEW]
Add Update Database to the toolbar by Jared Smudde
CORE-10924 #resolve #comment Committed, thx ^^

svn path=/trunk/; revision=71071
2016-03-28 21:38:35 +00:00
Daniel Reimer
e85d20412c [USERINIT]
Fix Russian translation for userinit by BinaryTree
CORE-10936 #resolve #comment Committed, thx.

svn path=/trunk/; revision=71070
2016-03-28 21:26:21 +00:00
Daniel Reimer
70e4386998 [RAPPS]
Update link to msxml3 and add entry for msxml6.
CORE-10602 #resolve #comment Fixed. Thx 

svn path=/trunk/; revision=71069
2016-03-28 21:16:49 +00:00
Amine Khaldi
55799c678e [TASKMGR][SYSDM] Russian translation update by Sergey Shmygalev. CORE-11043
svn path=/trunk/; revision=71068
2016-03-28 20:29:51 +00:00
Daniel Reimer
3f3038d338 [RAPPS]
Database Update... incl. SHA1 hashes. Appreciate it! This took 5 hrs thx to the stupid and USELESS hashes!

svn path=/trunk/; revision=71067
2016-03-28 18:26:24 +00:00
Timo Kreuzer
92100df1fc [CMAKE/MSVC] Enable function level linking and comdat folding independent from build type. This reduces freeldr size and allows to build with /RTC1 again. Since GCC doesn't support function level linking, cmlib should be refactored by moving some functions into different source files to avoid linking unused code into freeldr.
svn path=/trunk/; revision=71066
2016-03-28 16:38:26 +00:00
Timo Kreuzer
920ada6ae0 {SPEC2DEF] Allow forwarders to contain ordinals (xydll.#123)
svn path=/trunk/; revision=71065
2016-03-28 16:31:32 +00:00
Thomas Faber
027a043944 [SHELL32_APITEST]
- Add tests for IShellFolder::CompareIDs. Patch by Mark Jansen, with additional test cases by Sylvain Deverre.
CORE-10747

svn path=/trunk/; revision=71064
2016-03-28 15:35:21 +00:00
Thomas Faber
677a03e5af [USER32]
- Fix is_dib_monochrome for bitmaps using BITMAPCOREINFO. Patch by Mark Jansen.
CORE-10889

svn path=/trunk/; revision=71063
2016-03-28 14:58:20 +00:00
Thomas Faber
6da01fa019 [RTL]
- Don't print an uninitialized variable in parse_assembly_identity_elem. Spotted by Mark Jansen.
CORE-10927 #resolve

svn path=/trunk/; revision=71062
2016-03-28 11:43:16 +00:00
Thomas Faber
d7dacbad47 [CMAKE]
- Delay imports belong before regular imports because delayimp may pull in functions from kernel32
CORE-10935

svn path=/trunk/; revision=71061
2016-03-27 15:14:32 +00:00
Pierre Schweitzer
60b7bdf7c8 [NTFS]
Fix invalid read for data shared over two sectors

Patch by Trevor Thompson

CORE-10998

svn path=/trunk/; revision=71060
2016-03-27 09:33:22 +00:00
James Tabor
bc08222791 [User32]
- Fix crash by use of MDI container rules.
- Patch by Michael Müller: Preserve beginning of extra data for MDI windows.
- Patch by Jacek Caban : Ignore WM_CHILDACTIVATE on disabled windows in DefMDIChildProc.
- CORE-10912 Wine Staging 1.9.4

svn path=/trunk/; revision=71059
2016-03-26 23:12:01 +00:00
James Tabor
b0c749c4ea [User32]
- Patch by Piotr Caban : Select text control content while setting dialog focus.
- CORE-10912 Wine Staging 1.9.4
- Added comments.

svn path=/trunk/; revision=71058
2016-03-26 21:20:55 +00:00
Amine Khaldi
e308102f4a [REISERFS] Import ReiserFS file system driver for Windows. It will be enabled later on. Brought to you by Peter Hater. CORE-11005
svn path=/trunk/; revision=71057
2016-03-26 20:40:42 +00:00
Thomas Faber
aa172ad912 [USER32]
- Use the correct, previously calculated width and height in BITMAP_LoadImageW instead of assuming pbmi is an actual BITMAPINFO. Fixes loading bitmaps using BITMAPCOREINFO format. Patch by Mark Jansen.
CORE-10889

svn path=/trunk/; revision=71056
2016-03-26 15:35:21 +00:00
Pierre Schweitzer
7dd5bed1c6 [NTFS]
Fix a typo.

Patch by Trevor Thompson

CORE-10998

svn path=/trunk/; revision=71055
2016-03-26 13:22:32 +00:00
Pierre Schweitzer
49cf2b67df [FREELDR]
Cherrypick r71053

svn path=/trunk/; revision=71054
2016-03-26 13:19:09 +00:00
Pierre Schweitzer
4516374507 [NTFS]
Fix a bug in sparse files reading.

Spotted and fixed by Aman Priyadarshi

svn path=/trunk/; revision=71053
2016-03-26 13:15:14 +00:00
Pierre Schweitzer
0df3e104b4 [BTRFS]
Upgrade the WinBtrfs to release 0.3.

Mostly bugfixes

CORE-11024 #resolve #comment Committed in r71052

svn path=/trunk/; revision=71052
2016-03-26 11:53:07 +00:00
Hermès Bélusca-Maïto
7fb342fec3 [SYSSETUP]
- Reduce the C COM "ugliness" by using suitable macros. Thanks to Mark Jansen for having pointed that.
- Use sizeof() instead of ARRAYSIZE() * sizeof(WCHAR) to do the same thing.

svn path=/trunk/; revision=71051
2016-03-26 02:11:58 +00:00
Hermès Bélusca-Maïto
7dc1d07379 [SYSSETUP]: Code formatting, and exclusively use UNICODE strings.
svn path=/trunk/; revision=71050
2016-03-26 01:43:34 +00:00
Hermès Bélusca-Maïto
fcc8dd0c5a [SYSSETUP]
Allow for an optional working directory in the shortcuts definitions in the shortcuts.inf file.
Patch by Mark Jansen
CORE-11020 #comment Thank you very much!

[SHORTCUTS.INF]
As an application of the previous feature, make the shortcuts (desktop & start menu) of cmd.exe start it from the user directory.
CORE-11018 #comment Please retest with r71049.

svn path=/trunk/; revision=71049
2016-03-26 01:16:35 +00:00
Robert Naumann
85ca1a67fc [IERNONCE] Add resources, update file header, remove unneeded includes CORE-7194
svn path=/trunk/; revision=71048
2016-03-25 23:54:55 +00:00
Pierre Schweitzer
de0bb0d228 [NTOSKRNL_VISTA]
Bug fixes to FsRtlRemoveDotsFromPath() (buffer overrun, buffer underrun, etc.).

This fixes the failing test

svn path=/trunk/; revision=71047
2016-03-25 22:12:08 +00:00
Pierre Schweitzer
ef0b98d6fb [KMTESTS]
- Define a new macro function KmtGetSystemOrEmbeddedRoutineAddress() which is to be used to get a function address from Mm if it exists system-wide or to fallback to embedded function if it doesn't exist
- Use this mechanism to add tests for the newly implemented FsRtlRemoveDotsFromPath() which is Vista+.

That allows, with a single build (and thus, same binaries), testing a function in ReactOS and in Windows. 

svn path=/trunk/; revision=71046
2016-03-25 18:53:43 +00:00
Ziliang Guo
77f62e2539 Last rapps sync patch for rapps_new. Sync by Mark Jensen. Patch by toe_head2001.
CORE-10986

svn path=/trunk/; revision=71045
2016-03-25 02:14:36 +00:00
Ziliang Guo
1e01918302 Additional rapps sync involving SSL certs. Porting done by Mark Jensen. Original code from Ismael Ferreras Morezuelas.
CORE-10986

svn path=/trunk/; revision=71044
2016-03-25 02:10:08 +00:00
Ziliang Guo
3ccdac9aca Sync rapps_new with rapps. Porting done by Mark Jensen. Original code from Ismael Ferreras Morezuelas.
CORE-10986

svn path=/trunk/; revision=71043
2016-03-24 23:03:35 +00:00
Amine Khaldi
72fc8c1283 [HIVESFT] Fix Santiago timezone in ReactOS time settings. By Peter Hater. CORE-10231
svn path=/trunk/; revision=71042
2016-03-24 18:18:30 +00:00
Amine Khaldi
989c5c1042 [SHELL32] Do not ignore the localized name for Desktop. By Ștefan Fulea. CORE-11001
svn path=/trunk/; revision=71041
2016-03-24 18:05:47 +00:00
Amine Khaldi
1c83377e38 [NPFS] Add version information. By Lee Schroeder. CORE-11004
svn path=/trunk/; revision=71040
2016-03-24 10:21:25 +00:00
Hermès Bélusca-Maïto
8699bf007d [BTRFS]
BUGBUG in fileinfo.c: 'datalen' is used but not initialized!

[NTOSKRNL_VISTA]
Add most of the same compile-time definitions as for ntoskrnl proper, since this static library can be seen as part of the kernel! Fixes MSVC build.

svn path=/trunk/; revision=71039
2016-03-23 21:24:28 +00:00
Pierre Schweitzer
d0b46d4b4f [BTRFS]
Add the driver to the registry and to the CDs (out of cab)
Feel free to enjoy btrfs in ReactOS :-)

CORE-10892

svn path=/trunk/; revision=71038
2016-03-23 20:37:55 +00:00
Pierre Schweitzer
d6b45221ca [BTRFS]
Import the WinBtrfs 0.2 driver from https://github.com/maharmstone/btrfs.

Based on the initial work from Peter Hater, with various modification and patches sent upstream (yay, yet another collaboration :-)).

This driver is in its earlies, so expect crashes, issues, and so on. We'll keep it updated to get rid of these issues.
For now, it reads really well from a btrfs volume!

CORE-10892

svn path=/trunk/; revision=71037
2016-03-23 20:35:05 +00:00
Pierre Schweitzer
bd24dc4921 [NTOSKRNL_VISTA]
Introduce a new library dedicated to recent drivers: ntoskrnl_vista.

Its purpose is to provide some Vista+ syscalls to drivers that would require them.
Only 'simple' syscalls not depending on internal structures can land in this library (for the others, you're doomed ;-)).
This library is to be statically linked to your driver.

For the initial commit, the following syscalls have been implemented:
- RtlUnicodeToUTF8N(), RtlUTF8ToUnicodeN(), taken from Wine trunk, implemented by Thomas
- FsRtlRemoveDotsFromPath() implemented for the library

These three are required by the WinBtrfs FS driver

CORE-10892

svn path=/trunk/; revision=71036
2016-03-23 20:01:51 +00:00
Thomas Faber
8a1bed04bb [DBGHELP]
- Properly rename SYMBOL_INFO's member to Index, as done upstream. Dedicated to Timo.

svn path=/trunk/; revision=71035
2016-03-23 11:43:20 +00:00
Sylvain Petreolle
69a888dc46 [SMSS]
Less debug, better diagnostis.

svn path=/trunk/; revision=71034
2016-03-22 18:34:18 +00:00
Amine Khaldi
48463497bb [README.WINE] Mark some modules as synced with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=71033
2016-03-21 16:28:41 +00:00
Pierre Schweitzer
2bff25caed [NTOSKRNL]
Fix build.
Seriously... GCC, you allow this?!

svn path=/trunk/; revision=71032
2016-03-20 19:30:43 +00:00
Pierre Schweitzer
a15c1b7b67 [EXT2]
Update the driver to release 0.63.

One notable change is support for ExtX links (hard/sym). They work out of the box due to all the previous work that was done for supporting reparse points on NTFS.

Full changelog available at: http://www.ext2fsd.com/?p=195

CORE-10996 #resolve #comment Commited in r71031

svn path=/trunk/; revision=71031
2016-03-20 18:36:38 +00:00
Pierre Schweitzer
0a5da2af17 [NTOSKRNL]
Implement in a really simple way CcSetBcbOwnerPointer() and CcUnpinDataForThread(). They don't do everything the Windows Cc does, but at least, they do the basic job.

CORE-10996

svn path=/trunk/; revision=71030
2016-03-20 18:33:54 +00:00
Timo Kreuzer
b9ead554ad [PSDK] "Fix" _SYMBOL_INFO structure, by replacing "info" member with a union of Index (correct member name) and info (required by wine code)
svn path=/trunk/; revision=71029
2016-03-20 17:11:49 +00:00
Pierre Schweitzer
f8ab19dde0 [NTDLL_APITEST]
RtlGenerate8dot3Name: add more test locales

svn path=/trunk/; revision=71028
2016-03-20 11:31:42 +00:00
Pierre Schweitzer
34de8c69b3 [NTDLL_APITEST]
Set correct locale in RtlGenerate8dot3Name test.
This makes the test reproducible on every target plateform.

Patch by Mark Jansen.

ROSTESTS-218 #resolve #comment Patch commited in r71027. Thanks!

svn path=/trunk/; revision=71027
2016-03-20 10:51:14 +00:00
Amine Khaldi
1071daa616 [RAPPS_NEW] Add menu to the main window. By Mark Jansen. CORE-10992
svn path=/trunk/; revision=71026
2016-03-18 21:51:58 +00:00
Amine Khaldi
71df9d2dc5 [INETCPL][MMSYS][MSTSC][REGEDIT][SHELL32] Minor icon fixes by Jared Smudde. CORE-10987
svn path=/trunk/; revision=71022
2016-03-18 10:44:46 +00:00
Amine Khaldi
024dcc7549 [MUP][NTOS] Fix some misspellings. By Jared Smudde. CORE-10984
svn path=/trunk/; revision=71021
2016-03-18 10:29:46 +00:00
Ziliang Guo
acf15ae965 Implement SHA1 checksum in new RAPPS. Patch by Mark Jansen.
CORE-10908 #resolve

svn path=/trunk/; revision=71020
2016-03-18 06:40:39 +00:00
Pierre Schweitzer
32d02efe94 [MPR]
Import Wine commit:
- e8c8ddcbfc8bc4458add06062005a4022162deab, Don't send lpRemoteName when requesting network place.

This is the end: ReactOS WNet is fully in sync with Wine, with all the features required for network providers in.
Enjoy your VBox/VMware shared folders working with synced upstream!

CORE-10878
CORE-10032

svn path=/trunk/; revision=71019
2016-03-17 18:18:18 +00:00
Ged Murphy
bea0c19634 Implement CHeapPtr with a template allocator.
Re-Implement CComHeapPtr by deriving from CHeapPtr with a COM allocator
Patch by Mark Jansen
CORE 10903

svn path=/trunk/; revision=71018
2016-03-17 18:05:44 +00:00
Pierre Schweitzer
34c525c85d [VFATLIB]
Hint for future and current developers: there's a hidden feature in ReactOS, you can build it locally before committing, so that you can check whether your commit breaks build...
Amazing, isn't it?

svn path=/trunk/; revision=71017
2016-03-17 07:55:00 +00:00
Hermès Bélusca-Maïto
14590f92cf [VFATLIB]: Few "adjustments" (inspired from the code of DPRINT1) to diagnose
CORE-10932 CORE-10981 #comment Please retest with revision 71016 and make a debug log!

svn path=/trunk/; revision=71016
2016-03-17 01:11:10 +00:00
Pierre Schweitzer
02ce356779 [MPR]
Import Wine commit (by Nikolay Sivov):
- e920b4ecffd6387e24dd046fd7fa97d13d418d26, Implement WNetUseConnectionA().

CORE-10032

svn path=/trunk/; revision=71015
2016-03-16 18:40:14 +00:00
Eric Kohl
ca5647ee50 [RAPPS][RAPPS_NEW]
Missing italian translations in ReactOS.
Patch by Carlo Bramini.
CORE-9725

svn path=/trunk/; revision=71014
2016-03-14 18:55:23 +00:00
Eric Kohl
aedb89b5d9 [SHELL32]
Missing italian translations in ReactOS.
Patch by Carlo Bramini.
CORE-9725

svn path=/trunk/; revision=71013
2016-03-14 18:44:24 +00:00
Eric Kohl
d39f1f56f5 [SNDREC32]
Missing italian translations in ReactOS.
Patch by Carlo Bramini.
CORE-9725

svn path=/trunk/; revision=71012
2016-03-14 18:30:35 +00:00
Eric Kohl
3dae907e81 [NOTEPAD]
Missing italian translations in ReactOS.
Patch by Carlo Bramini.
CORE-9725

svn path=/trunk/; revision=71011
2016-03-14 18:25:07 +00:00
Amine Khaldi
b7c126d10e [TREE][USERINIT] Italian Translation update by Riccardo Montanari with fixes by me. CORE-10970
svn path=/trunk/; revision=71010
2016-03-14 09:22:20 +00:00
Eric Kohl
768609963a [MSGINA]
Missing italian translations in ReactOS.
Patch by Carlo Bramini.
CORE-9725

svn path=/trunk/; revision=71009
2016-03-13 23:21:52 +00:00
Eric Kohl
7f1403f94b [LSASRV]
Missing italian translations in ReactOS.
Patch by Carlo Bramini.
CORE-9725

svn path=/trunk/; revision=71008
2016-03-13 23:06:55 +00:00
Amine Khaldi
bf13654827 [README.WINE] Addendum to r71006.
svn path=/trunk/; revision=71007
2016-03-13 18:18:06 +00:00
Amine Khaldi
8164b6f2bc [MSACM32.DRV] Move to dll/win32.
svn path=/trunk/; revision=71006
2016-03-13 18:08:50 +00:00
Eric Kohl
5f61233a8f [CLIPBRD][MMC][REACTOS][APPWIZ][CONSOLE]
Update Simplified Chinese and Traditional Chinese Translation.
Patch by Henry Tang Ih.
CORE-10939 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=71005
2016-03-13 18:05:10 +00:00
Eric Kohl
d4cd5254ba [BROWSEUI]
Brazilian Portuguese translation for browseui.dll.
Patch by Edison Henrique Andreassy.
CORE-10933 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=71004
2016-03-13 16:55:23 +00:00
Eric Kohl
475537344f [INTL][INPUT]
Brazilian Portuguese translation for intl.cpl and input.dll.
Patch by Edison Henrique Andreassy.
CORE-10930 #release #comment Thanks a lot!

svn path=/trunk/; revision=71003
2016-03-13 14:21:09 +00:00
Amine Khaldi
8b061d20f4 [FREETYPE] Update to v2.6.3. CORE-10964
svn path=/trunk/; revision=71002
2016-03-13 11:33:31 +00:00
Amine Khaldi
614ed3b39a [WELCOME] React => ReactOS. By Henry Tang Ih. CORE-10946
svn path=/trunk/; revision=71001
2016-03-13 10:36:19 +00:00
Amine Khaldi
f9253f9bea [README.WINE] Mark some dlls as synced with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=71000
2016-03-13 09:06:54 +00:00
Hermès Bélusca-Maïto
aac6a3218e [SHELL32]: Modify EnumPickIconResourceProc so that it indeed uses its hModule parameter, and as a last simplification, just gives hDlgCtrl to EnumResourceNamesW.
svn path=/trunk/; revision=70999
2016-03-12 23:51:57 +00:00
Hermès Bélusca-Maïto
fba8d14251 [SHELL32]: Use _countof instead of ARRAYSIZE macro.
svn path=/trunk/; revision=70998
2016-03-12 17:09:39 +00:00
Hermès Bélusca-Maïto
c872e338a1 [SHELL32]: Correctly copy the icon file name string, using the user-defined nMaxFile parameter.
svn path=/trunk/; revision=70997
2016-03-12 17:06:33 +00:00
Pierre Schweitzer
6c63754861 [BOOTLIB]
Fix some invalid sizeof() usage

svn path=/trunk/; revision=70996
2016-03-12 17:01:39 +00:00
Amine Khaldi
49a077dc61 [SHELL32] Fix build.
svn path=/trunk/; revision=70995
2016-03-11 22:59:57 +00:00
Hermès Bélusca-Maïto
36ccda324d [SHELL32]: Use the system colours for drawing the icon list item selection rectangle, instead of using hardcoded values.
svn path=/trunk/; revision=70994
2016-03-11 22:13:48 +00:00
Hermès Bélusca-Maïto
431880741a [SHELL32]: Few SendMessageA -> SendMessageW conversions, and whitespace fixes.
svn path=/trunk/; revision=70993
2016-03-11 22:12:44 +00:00
Hermès Bélusca-Maïto
264200c726 [DELAYIMP]: Whitespace fixes only (tabs -> spaces).
svn path=/trunk/; revision=70992
2016-03-10 18:31:52 +00:00
Aleksandar Andrejevic
ab5df40430 [NTVDM]
Make the default graphics cursor more narrow and less ugly.
The new cursor is based on the one from DOSBox.


svn path=/trunk/; revision=70991
2016-03-10 02:44:37 +00:00
Aleksandar Andrejevic
2f923086b1 [NTVDM]
Implement PaintMouseCursor and EraseMouseCursor for video modes 12h and 13h.


svn path=/trunk/; revision=70990
2016-03-10 00:59:50 +00:00
Hermès Bélusca-Maïto
ac22a1149a [SHELL32]: Use Unicode version of GetWindowTextLength in the Run dialog box.
svn path=/trunk/; revision=70989
2016-03-10 00:05:00 +00:00
Amine Khaldi
e43a9a5105 [WINE/CONFIG] Update the LLVM bug report. Spotted by Mark Jansen.
svn path=/trunk/; revision=70985
2016-03-09 18:38:31 +00:00
Hermès Bélusca-Maïto
fd4e6f9c26 [PSDK][XDK]
- Add few missing #ifdef __GNUC__ before including msvctarget.h.
- The contents of intrin.h is included only if RC_INVOKED is not defined. Compatible with MinGW and WinSDK.
- Ignore PROBE_ALIGNMENT definition if no platform is defined, in case RC_INVOKED is defined. Compatible with MinGW and latest WinSDK.
The two last fixes are also necessary to not make the Visual Studio resource compiler complain when a resource file is opened in it.

svn path=/trunk/; revision=70984
2016-03-09 16:54:43 +00:00
Amine Khaldi
7e46a7f7f4 [KERNEL32] Correct Turkish Locale. By Erdem Ersoy. CORE-10921
svn path=/trunk/; revision=70983
2016-03-09 16:40:59 +00:00
Amine Khaldi
cded9ccbed [TRANSLATIONS] Turkish translation update by Erdem Ersoy. CORE-10920
svn path=/trunk/; revision=70982
2016-03-09 16:39:02 +00:00
Amine Khaldi
8a0062231b [PSDK] Update oleidl.idl. CORE-10912
svn path=/trunk/; revision=70981
2016-03-09 16:34:27 +00:00
Amine Khaldi
3a9620d0b4 [TRANSLATIONS] Spanish translation update by Ismael Ferreras Morezuelas. CORE-10922
svn path=/trunk/; revision=70980
2016-03-09 16:33:41 +00:00
Amine Khaldi
a0ab4941f0 [USER32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70979
2016-03-09 09:25:21 +00:00
Amine Khaldi
98e06283e7 [SETUPAPI_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70978
2016-03-09 08:44:49 +00:00
Amine Khaldi
182359adfd [SHELL32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70977
2016-03-09 08:43:20 +00:00
Amine Khaldi
13376ac48f [MSVCRT_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70976
2016-03-09 08:36:59 +00:00
Amine Khaldi
6be757f3b7 [IMM32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70975
2016-03-09 08:32:48 +00:00
Hermès Bélusca-Maïto
5d8398fc61 [NTVDM]: Fix space padding calculation in the text-mode hex dumper.
svn path=/trunk/; revision=70974
2016-03-09 00:07:24 +00:00
Amine Khaldi
73f123b287 [KERNEL32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70973
2016-03-08 15:49:46 +00:00
Amine Khaldi
2efa541daf [XDK][PSDK][DDK] Improve winnt.h and make it share more definitions with wdm.h.
svn path=/trunk/; revision=70972
2016-03-08 15:35:17 +00:00
Amine Khaldi
70c93228cb [GDI32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70971
2016-03-08 15:01:05 +00:00
Amine Khaldi
6b4fafcb54 [PSDK] Update shobjidl.idl. CORE-10912
svn path=/trunk/; revision=70970
2016-03-08 14:55:33 +00:00
Amine Khaldi
c5d7583214 [BCRYPT] Implement mbedTLS backend. Brought to you by Peter Hater. CORE-10934
svn path=/trunk/; revision=70969
2016-03-08 14:49:52 +00:00
Amine Khaldi
6ac836433e [PSDK] Update xmldomdid.h. CORE-10912
svn path=/trunk/; revision=70968
2016-03-07 16:32:35 +00:00
Amine Khaldi
6b2347f73e [PSDK] Add some missing MUI_* definitions.
svn path=/trunk/; revision=70967
2016-03-06 21:32:01 +00:00
Amine Khaldi
b72891aa32 [DNSAPI_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70963
2016-03-06 16:50:59 +00:00
Amine Khaldi
bab6d16d7c [ADVAPI32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70962
2016-03-06 16:43:16 +00:00
Amine Khaldi
6e801f790b [OLEPRO32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70961
2016-03-06 16:11:19 +00:00
Amine Khaldi
8266de896c [PSDK] Update winerror.h. CORE-10912
svn path=/trunk/; revision=70960
2016-03-06 16:06:07 +00:00
Hermès Bélusca-Maïto
eadaf9793c [PROGMAN]: Fix build. Tango-like icon by Ismael Ferreras Morasuelas (swyter).
svn path=/trunk/; revision=70959
2016-03-06 15:01:08 +00:00
Thomas Faber
2145a94c5c [PROGMAN]
- Hermès, go fix build or whatever

svn path=/trunk/; revision=70958
2016-03-06 11:42:25 +00:00
Hermès Bélusca-Maïto
1f41be7d09 [PSDK]: Fix a define.
svn path=/trunk/; revision=70957
2016-03-05 22:46:54 +00:00
Amine Khaldi
375b0b6042 [PSDK] Satisfy MSVC 2010. Dedicated to Hermès.
svn path=/trunk/; revision=70956
2016-03-05 22:40:18 +00:00
Pierre Schweitzer
cfec64a66a [FS_REC]
Implement support for recognizing the Btrfs volumes.

Patch by Peter Hater.

CORE-10892 #comment The fs_rec part has been committed, thanks!

svn path=/trunk/; revision=70955
2016-03-05 13:01:11 +00:00
Amine Khaldi
821cc3d85c [XMLLITE_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70954
2016-03-05 11:09:57 +00:00
Amine Khaldi
f99a66eafb [WMIUTILS_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70953
2016-03-05 11:09:08 +00:00
Amine Khaldi
0916eb633b [WINMM_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70952
2016-03-05 11:06:50 +00:00
Amine Khaldi
15e3e7fd28 [WTSAPI32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70951
2016-03-05 11:04:47 +00:00
Amine Khaldi
eff9d67cf2 [WLDAP32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70950
2016-03-05 11:01:59 +00:00
Amine Khaldi
d3b1ceab03 [WININET_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70949
2016-03-05 10:59:21 +00:00
Amine Khaldi
0dbcea8773 [WININET] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70948
2016-03-05 10:58:26 +00:00
Amine Khaldi
44db21603f [WINHTTP_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70947
2016-03-05 10:55:00 +00:00
Amine Khaldi
6de537bd43 [WINHTTP] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70946
2016-03-05 10:51:52 +00:00
Amine Khaldi
cf5231619b [WBEMPROX_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70945
2016-03-05 10:48:40 +00:00
Amine Khaldi
dc9f8b24d1 [WBEMPROX] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70944
2016-03-05 10:48:13 +00:00
Amine Khaldi
9ff47835c1 [WBEMDISP] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70943
2016-03-05 10:36:27 +00:00
Amine Khaldi
7f6cf10dd9 [VBSCRIPT_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70942
2016-03-05 10:34:43 +00:00
Amine Khaldi
1faa5d60a4 [VERSION] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70941
2016-03-05 10:33:17 +00:00
Amine Khaldi
f54544cd06 [USP10_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70940
2016-03-05 10:30:57 +00:00
Amine Khaldi
5182944828 [USP10] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70939
2016-03-05 10:30:03 +00:00
Amine Khaldi
bf460ff671 [URLMON_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70938
2016-03-05 10:28:41 +00:00
Amine Khaldi
cc0b58e9c8 [URLMON] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70937
2016-03-05 10:27:46 +00:00
Amine Khaldi
2805e855c4 [TAPI32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70936
2016-03-05 10:26:27 +00:00
Pierre Schweitzer
277399b7d0 [AUTOCHK]
Add support for the Btrfs file system

CORE-10892

svn path=/trunk/; revision=70935
2016-03-05 10:24:16 +00:00
Pierre Schweitzer
bdcc0812c3 [UBTRFS]
Implement the utility DLL for the Btrfs file system

svn path=/trunk/; revision=70934
2016-03-05 10:22:15 +00:00
Amine Khaldi
35050b07f8 [SHLWAPI_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70933
2016-03-05 10:21:38 +00:00
Pierre Schweitzer
19f279aa02 [BTRFSLIB]
Stub the Btrfs lib

CORE-10892

svn path=/trunk/; revision=70932
2016-03-05 10:20:32 +00:00
Amine Khaldi
18e1e62ec0 [SHLWAPI] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70931
2016-03-05 10:20:00 +00:00
Amine Khaldi
6a78ba7288 [SECUR32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70930
2016-03-05 10:14:32 +00:00
Amine Khaldi
a12a32176f [PSDK] Add missing URL_ESCAPE_AS_UTF8.
svn path=/trunk/; revision=70929
2016-03-05 10:10:10 +00:00
Amine Khaldi
eaadf9f84a [RICHED32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70928
2016-03-05 10:08:10 +00:00
Amine Khaldi
916e33e5cc [SCRRUN_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70927
2016-03-05 10:07:02 +00:00
Amine Khaldi
c3885d3546 [SCRRUN] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70926
2016-03-05 10:06:02 +00:00
Amine Khaldi
c20ac899c6 [RPCRT4] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70925
2016-03-05 10:04:14 +00:00
Amine Khaldi
2021521c14 [RICHED20_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70924
2016-03-05 09:58:36 +00:00
Amine Khaldi
465363dbbd [RICHED20] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70923
2016-03-05 09:57:50 +00:00
Amine Khaldi
53f7b483b5 [PROGMAN] Properly import from Wine Staging 1.9.4. This fixes PCH usage, marks ReactOS specific diffs, reduces difference to upstream code, properly documents the sync in README.WINE, improves header inclusions and more. Changes should be sent upstream by their author (TM). CORE-10912
svn path=/trunk/; revision=70922
2016-03-05 08:45:08 +00:00
Amine Khaldi
e5678878b7 [PROGMAN] Fix build.
svn path=/trunk/; revision=70921
2016-03-05 08:24:55 +00:00
Hermès Bélusca-Maïto
61d6b87b99 [OOPS]
A little bird pointed to me that I forgot to add progman to compilation...

svn path=/trunk/; revision=70920
2016-03-05 01:29:46 +00:00
Hermès Bélusca-Maïto
841705c296 [PROGMAN]
- Fix the Shell-About box.
- Whitespace/indentation fixes in string.c
- Add missing size for the ICON resource item of the dialog "Program attributes". MSVC resource compiler considered that as an error, while GCC's windres compiled that without warning (who knows what they took as the default value...).

svn path=/trunk/; revision=70919
2016-03-05 01:27:27 +00:00
Hermès Bélusca-Maïto
1b6a12077c [PROGMAN]: Add the famous Program Manager (Win3.1 style) from Wine 1.9.5, with minor fixes for compilation. The icon should be replaced as soon as possible.
svn path=/trunk/; revision=70918
2016-03-04 19:22:35 +00:00
Hermès Bélusca-Maïto
7073e04791 [AUTOCHK][CHKDSK]
- Whitespace fixes;
- Remove useless comments.

[FORMAT]
- Whitespace (tabs -> spaces) and indentation fixes.

[VFATLIB]
- Change of name of variable.

svn path=/trunk/; revision=70917
2016-03-04 17:09:34 +00:00
Hermès Bélusca-Maïto
dc17af93ed [FORMAT]
- Completely reunicodify the application. CORE-9369
- Add back the original copyright/author information.

svn path=/trunk/; revision=70916
2016-03-04 16:26:57 +00:00
Robert Naumann
f19459a13b [RAPPS] Display error messages on download failures. Patch by toe_head2001. Thank you!
svn path=/trunk/; revision=70915
2016-03-04 16:10:26 +00:00
Robert Naumann
7110605be1 [APPWIZ] Stubplement ConfigStartMenu Patch by Jared Smudde. CORE-10788
svn path=/trunk/; revision=70914
2016-03-04 15:43:31 +00:00
Amine Khaldi
f9a4d5fa42 [PSDK] Update richedit.h. CORE-10912
svn path=/trunk/; revision=70913
2016-03-04 10:18:29 +00:00
Amine Khaldi
9676b263df [RASAPI32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70912
2016-03-04 09:46:02 +00:00
Amine Khaldi
35b4271233 [PSAPI_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70911
2016-03-04 09:44:49 +00:00
Amine Khaldi
8daa517099 [QMGR] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70910
2016-03-04 09:44:01 +00:00
Amine Khaldi
9bbc722f5e [OPENGL32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70909
2016-03-04 09:41:45 +00:00
Amine Khaldi
32c6851049 [ODBCCP32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70908
2016-03-04 09:39:35 +00:00
Amine Khaldi
299154ad71 [PDH] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70907
2016-03-04 09:38:25 +00:00
Amine Khaldi
c59425388d [OLEDLG_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70906
2016-03-04 09:36:12 +00:00
Amine Khaldi
798ac71373 [OLEDLG] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70905
2016-03-04 09:35:57 +00:00
Amine Khaldi
182031e324 [OLEAUT32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70904
2016-03-04 09:33:46 +00:00
Amine Khaldi
5567f3cf36 [OLEAUT32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70903
2016-03-04 09:33:34 +00:00
Amine Khaldi
0a2db0a106 [OLE32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70902
2016-03-04 09:30:16 +00:00
Amine Khaldi
bdeb901264 [OLE32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70901
2016-03-04 09:25:52 +00:00
Amine Khaldi
afcabd6d9e [PSDK] Update objidl.idl. CORE-10912
svn path=/trunk/; revision=70900
2016-03-04 09:20:21 +00:00
Hermès Bélusca-Maïto
4f69fb7420 [HELP]: Use ARRAYSIZE(buffer) instead of hardcoding its size.
svn path=/trunk/; revision=70899
2016-03-03 23:00:55 +00:00
Eric Kohl
ba411a1da0 [TIMEDATE]
Brazilian Portuguese translation for timedate.cpl.
Patch by  Edison Henrique Andreassy.
CORE-10919 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=70898
2016-03-03 20:16:39 +00:00
Eric Kohl
f1de96bca2 Brazilian Portuguese translation for console.dll.
Patch by Edison Henrique Andreassy.
CORE-10918 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=70897
2016-03-03 20:13:25 +00:00
Eric Kohl
e34e1dfc1d Brazilian Portuguese translation for access.cpl.
Patch by Edison Henrique Andreassy.
CORE-10916 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=70896
2016-03-03 20:10:20 +00:00
Amine Khaldi
476ff7e622 [OLE32] Adapt to the recent objbase.h change.
svn path=/trunk/; revision=70895
2016-03-03 17:54:32 +00:00
Amine Khaldi
c9e309bf60 [PSDK] Update objbase.h. CORE-10912
svn path=/trunk/; revision=70894
2016-03-03 17:49:03 +00:00
Amine Khaldi
ae74d4fba9 [MSIEXEC] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70893
2016-03-03 14:29:43 +00:00
Amine Khaldi
1c0b7826ac [MSI_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70892
2016-03-03 14:28:57 +00:00
Amine Khaldi
5b552508ae [MSI] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70891
2016-03-03 14:28:37 +00:00
Amine Khaldi
528c860782 [PSDK] Add some missing definitions.
svn path=/trunk/; revision=70890
2016-03-03 14:11:13 +00:00
Amine Khaldi
e262b6027a [MSRLE_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70889
2016-03-03 14:10:09 +00:00
Amine Khaldi
9637fe24af [MSCMS_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70888
2016-03-03 14:08:46 +00:00
Amine Khaldi
b65776bc1b [ODBC32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70887
2016-03-03 14:08:04 +00:00
Amine Khaldi
147cf7ee71 [MSXML3_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70886
2016-03-03 14:05:59 +00:00
Amine Khaldi
ce187684eb [MSXML3] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70885
2016-03-03 14:00:49 +00:00
Amine Khaldi
565ee09080 [MSCTF] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70884
2016-03-03 13:48:58 +00:00
Amine Khaldi
0737aa31b7 [PSDK] Add some missing definitions.
svn path=/trunk/; revision=70883
2016-03-03 13:45:51 +00:00
Amine Khaldi
44d89b03bc [MSACM32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70882
2016-03-03 13:44:45 +00:00
Amine Khaldi
666f8ba388 [MPR_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70881
2016-03-03 13:43:32 +00:00
Amine Khaldi
1458f62d38 [MLANG_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70880
2016-03-03 13:42:35 +00:00
Amine Khaldi
57634b2a21 [MSACM32.DRV] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70879
2016-03-03 13:41:35 +00:00
Amine Khaldi
338dcef71c [MSACM32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70878
2016-03-03 13:40:51 +00:00
Amine Khaldi
8abbe01e6c [MMDEVAPI] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70877
2016-03-03 13:39:42 +00:00
Amine Khaldi
77f243c007 [MCIQTZ32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70876
2016-03-03 13:38:34 +00:00
Amine Khaldi
7aea6cbc61 [IMAGEHLP_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70875
2016-03-03 13:37:13 +00:00
Amine Khaldi
c3677ca740 [MAPI32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70874
2016-03-03 13:36:26 +00:00
Amine Khaldi
5d4b069a8b [PSDK] Update d3d11shader.h. CORE-10912
svn path=/trunk/; revision=70873
2016-03-03 13:25:26 +00:00
Amine Khaldi
6c51c66d48 [JSCRIPT_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70872
2016-03-03 13:25:03 +00:00
Amine Khaldi
07a14c5c02 [JSCRIPT] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70871
2016-03-03 13:24:43 +00:00
Amine Khaldi
832c97fe3b [INETCOMM] Sync with Wine Staging 1.9.4. CORE-10912 [PSDK] Update objidl.idl. [MAPI32][OLE32] Adapt to objidl.idl changes.
svn path=/trunk/; revision=70870
2016-03-03 13:03:11 +00:00
Hermès Bélusca-Maïto
b1ef18e020 [AUTOCHK][CHKDSK]: Minor fixes / formatting. Really add chkdsk to build.
[FMIFS]: Quickly implement the chkdsk function, the same way as it is done for the formatting function.

svn path=/trunk/; revision=70869
2016-03-03 00:36:25 +00:00
Hermès Bélusca-Maïto
9723b5e974 [CHKDSK]
- Integrate chkdsk into our build system.
- Whitespace fixes.

svn path=/trunk/; revision=70868
2016-03-02 22:05:19 +00:00
Hermès Bélusca-Maïto
4dc68af961 [ROSAPPS]: Remove chkdsk from the CMakeLists.
svn path=/trunk/; revision=70867
2016-03-02 20:23:09 +00:00
Hermès Bélusca-Maïto
9ebceb025b [CHKDSK]: Move checkdisk utility into the main trunk, but don't add it to compilation yet.
svn path=/trunk/; revision=70866
2016-03-02 20:21:27 +00:00
Amine Khaldi
b4c2da5739 [IEFRAME] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70865
2016-03-02 10:41:57 +00:00
Amine Khaldi
b3d83afecb [PSDK] Update some D3D10 related headers. CORE-10912
svn path=/trunk/; revision=70864
2016-03-02 10:41:10 +00:00
Amine Khaldi
fda1ee7c7d [GDIPLUS_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70863
2016-03-02 10:35:00 +00:00
Amine Khaldi
615db957ca [GDIPLUS] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70862
2016-03-02 10:34:40 +00:00
Amine Khaldi
1a6ea4f8e9 [PSDK] Update gdiplusflat.h. CORE-10912
svn path=/trunk/; revision=70861
2016-03-02 10:17:31 +00:00
Amine Khaldi
2de608a0e7 [FUSION][FUSION_1_1][FUSION_2_0] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70860
2016-03-02 10:11:41 +00:00
Amine Khaldi
c685be6a9e [DNSAPI] Correct and improve DnsFlushResolverCacheEntry_A() stub. CORE-10912
svn path=/trunk/; revision=70859
2016-03-02 09:58:46 +00:00
Hermès Bélusca-Maïto
778b819070 [VFATLIB]: Sync the FAT checker with dosfstools' fsck.vfat, from https://github.com/dosfstools/dosfstools . Synced with master branch, commit ed4e47b6757c05d4c23a9075b8b68003aa5dbfb8
svn path=/trunk/; revision=70858
2016-03-02 01:08:54 +00:00
Hermès Bélusca-Maïto
9fe7f7642f [USETUP]: In case chkdsk detects some disk errors, just display a warning message but allow the user to continue the installation.
svn path=/trunk/; revision=70857
2016-03-02 00:51:48 +00:00
Amine Khaldi
d763a707db [ADVPACK_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70856
2016-03-01 19:31:48 +00:00
Amine Khaldi
7b83519263 [CREDUI_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70855
2016-03-01 19:30:48 +00:00
Amine Khaldi
43c1223262 [DINPUT_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70854
2016-03-01 19:29:57 +00:00
Amine Khaldi
fcfb86e245 [DBGHELP] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70853
2016-03-01 19:28:06 +00:00
Amine Khaldi
39897547f2 [CRYPT32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70852
2016-03-01 19:21:01 +00:00
Amine Khaldi
d814026136 [CRYPT32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70851
2016-03-01 19:20:47 +00:00
Amine Khaldi
084413dfe6 [README.WINE] Mark the remaining DX modules as synced with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70850
2016-03-01 19:13:32 +00:00
Amine Khaldi
de0a20f43e [COMDLG32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70849
2016-03-01 19:12:27 +00:00
Amine Khaldi
1f027afc05 [COMDLG32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70848
2016-03-01 19:11:55 +00:00
Amine Khaldi
34400f4d6f [COMCTL32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70847
2016-03-01 19:02:49 +00:00
Amine Khaldi
74d4ba7655 [COMCTL32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70846
2016-03-01 19:02:33 +00:00
Amine Khaldi
6e92889aa6 [CMD_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70845
2016-03-01 18:56:31 +00:00
Amine Khaldi
cfef8c6c9b [INCLUDE/WINE] Update test.h. By Thomas Faber. CORE-10912
svn path=/trunk/; revision=70844
2016-03-01 18:56:14 +00:00
Amine Khaldi
3b02352dfc [AVIFIL32_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70843
2016-03-01 18:32:02 +00:00
Amine Khaldi
c5485a4bf0 [AVIFIL32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70842
2016-03-01 18:31:48 +00:00
Amine Khaldi
d9ba4bf170 [QUARTZ_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70841
2016-03-01 18:26:00 +00:00
Amine Khaldi
4e179c15ac [QUARTZ] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70840
2016-03-01 18:25:44 +00:00
Amine Khaldi
d4d184c689 [INCLUDE/WINE] Update winternl.h. CORE-10912
svn path=/trunk/; revision=70839
2016-03-01 18:21:47 +00:00
Amine Khaldi
1bd33c5367 [DXSDK] Add missing ksuuids.h inclusion.
svn path=/trunk/; revision=70838
2016-03-01 18:15:48 +00:00
Hermès Bélusca-Maïto
e3445e18d1 [USETUP]
- bootsup.c/.h, usetup.c: Save the old MBR sector in the system partition (this makes easier to restore the old one).
- fslist.c/.h, usetup.h: Fix header inclusion order.
- partlist.c/.h, usetup.c: On BIOS-PC architectures, the system partition can be formatted in any FS as long as it is the active partition (on the contrary, on architectures where such system partition is required, it is formatted in FAT). We currently do not have write support for all FSes out there (apart for FAT until now), so do a "clever" "trick" to work around this problem: on initialized disks, find the active partition and check its FS. If we support write access to this FS then we're OK, otherwise we change the (active) system partition for the one on which we are going to install ReactOS (which is, by construction, formatted with a FS on which we support write access).
The MBR (resp. the VBR) of the disk (resp. of the system partition) are always saved into files, making easy for people to boot on them (using FreeLdr) or restoring them.

CORE-10898

svn path=/trunk/; revision=70837
2016-03-01 15:00:56 +00:00
Amine Khaldi
a91cef7070 [STRMBASE] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70836
2016-03-01 13:41:22 +00:00
Amine Khaldi
284bfcc823 [PSDK] Update d3dcommon.idl. CORE-10912
svn path=/trunk/; revision=70835
2016-03-01 13:38:40 +00:00
Amine Khaldi
24426079d7 [DXDIAGN_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70834
2016-03-01 13:18:35 +00:00
Amine Khaldi
1c657e3e04 [DXDIAGN] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70833
2016-03-01 13:17:52 +00:00
Amine Khaldi
2e477a8332 [DPLAYX] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70832
2016-03-01 12:30:17 +00:00
Amine Khaldi
26f0614d70 [BCRYPT_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70831
2016-03-01 12:28:40 +00:00
Amine Khaldi
4efedc0606 [BCRYPT] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70830
2016-03-01 12:27:13 +00:00
Amine Khaldi
580e868308 [PSDK] Update bcrypt.h. CORE-10912
svn path=/trunk/; revision=70829
2016-03-01 12:24:32 +00:00
Amine Khaldi
dce802c523 [ATL100_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70828
2016-03-01 12:16:06 +00:00
Amine Khaldi
6310ce0e66 [ATL] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70827
2016-03-01 12:14:12 +00:00
Amine Khaldi
49bcd564e8 [CABINET] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70826
2016-03-01 12:12:48 +00:00
Aleksandar Andrejevic
c6e5bf1f49 [NTVDM]
Some programs expect an 8x8 font at F000:FA6E.
CORE-10877 #comment Works rather well as of r70825.


svn path=/trunk/; revision=70825
2016-03-01 00:44:20 +00:00
Pierre Schweitzer
5e3fd4edeb [NTOSKRNL]
The Ewoks concil said it's fine to dereference null pointers in the kernel, so, partly revert r70819 (by partly, I mean: revert everything excepted the comments that were fixed!).
Also add asserts that exist on Windows to make it obvious we're about to kill the whole kernel

To make it clear: fix the FSD!

svn path=/trunk/; revision=70824
2016-02-29 21:45:44 +00:00
Amine Khaldi
a1a070ac19 [DXSDK] Update d3dx9anim.h. CORE-10912
svn path=/trunk/; revision=70823
2016-02-29 21:09:38 +00:00
Amine Khaldi
6fb762b426 [DXSDK] Update d3dx9tex.h. CORE-10912
svn path=/trunk/; revision=70822
2016-02-29 21:07:02 +00:00
Amine Khaldi
0918f6d8ea [D3DX9_24][D3DX9_36] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70821
2016-02-29 21:01:26 +00:00
Hermès Bélusca-Maïto
679011f92d [USETUP]
- Formatting fixes only.
[DISKPART]
- Fix a confusion CylinderAlignment vs. SectorAlignment.
- Formatting fixes.

svn path=/trunk/; revision=70820
2016-02-29 20:58:32 +00:00
Pierre Schweitzer
2f26a4a9e9 [NTOSKRNL]
Don't attempt to null-dereference fastio routine without checking whether it was set first.

This fixes RW with FSDs using cache but no FastIO possibilities.

CORE-10892

svn path=/trunk/; revision=70819
2016-02-29 13:59:32 +00:00
Thomas Faber
5786d08d01 [VERSION]
- Trunk is 0.5-SVN now.

svn path=/trunk/; revision=70818
2016-02-29 13:12:57 +00:00
Thomas Faber
42a427d782 [ROSAUTOTEST]
- Update Testman web service URI for the new website since a redirect from the old address will not work for POST. Should fix WHS Testbot.
ROSTESTS-215 #resolve

svn path=/trunk/; revision=70817
2016-02-29 11:57:19 +00:00
Aleksandar Andrejevic
c799784abf [NTVDM]
VidBiosScrollWindow shouldn't corrupt the screen in non-alphanumeric modes.
CORE-10877


svn path=/trunk/; revision=70816
2016-02-29 04:14:55 +00:00
Hermès Bélusca-Maïto
960b573f7b [REACTOS]: s/partiton/partition/
svn path=/trunk/; revision=70815
2016-02-29 01:22:02 +00:00
James Tabor
3e20700354 - Fix build.
svn path=/trunk/; revision=70814
2016-02-29 00:32:08 +00:00
James Tabor
96ab54cc90 [Win32SS]
- Based on patch : Jacek Caban : Don't use window' s parent as an owner if WS_CHILD style is not set.
- https://www.winehq.org/pipermail/wine-cvs/2016-February/111835.html
- Pass all win:test_parent_owner.
- Add window last view to Desktop Information structure.

svn path=/trunk/; revision=70813
2016-02-29 00:29:52 +00:00
Amine Khaldi
6a531b1d1a [DINPUT] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70812
2016-02-29 00:08:18 +00:00
Amine Khaldi
033a7c5720 [D3DRM_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70811
2016-02-29 00:05:39 +00:00
Amine Khaldi
44d7b7156e [D3DRM] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70810
2016-02-29 00:01:53 +00:00
Amine Khaldi
3268729a9f [PSDK] Update ndrtypes.h. CORE-10912
svn path=/trunk/; revision=70809
2016-02-28 23:59:17 +00:00
Amine Khaldi
2172618e95 [D3D8][D3D9][DDRAW][WINED3D] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70808
2016-02-28 23:33:47 +00:00
Amine Khaldi
351cc7ab9c [WINHLP32] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70807
2016-02-28 23:05:53 +00:00
Amine Khaldi
8978288c0b [REG_WINETEST] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70806
2016-02-28 23:04:29 +00:00
Amine Khaldi
5352d102a7 [INCLUDE/WINE] Update test.h. CORE-10912
svn path=/trunk/; revision=70805
2016-02-28 22:55:32 +00:00
Amine Khaldi
edd653485e [REG] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70804
2016-02-28 22:53:26 +00:00
Amine Khaldi
8d45bf82db [UNICODE] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70803
2016-02-28 22:40:54 +00:00
Sylvain Petreolle
dd21fa115a [ROSTESTS]
Handle generated tests on all architectures.
Update i386 files.

The kernel32 generated remains disabled,
Wine's definition of COMMCONFIG differs from our/MSDN definition.
Commented out nonexisting LPEXCEPTION_RECORD.

svn path=/trunk/; revision=70802
2016-02-28 20:56:00 +00:00
Eric Kohl
fbaaa03502 [DESK]
Brazilian Portuguese translation for desk.cpl.
Patch by Edison Henrique Andreassy.
CORE-10905 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=70801
2016-02-28 20:48:31 +00:00
Eric Kohl
9173d75317 Brazilian Portuguese translation for hdwwiz.cpl.
Patch by Edison Henrique Andreassy.
CORE-10901 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=70800
2016-02-28 20:44:26 +00:00
Eric Kohl
8035df5526 [INPUT]
Prevent removal of all languages from the language list by disabling the 'Remove' button when only one item remains. Enable the 'Remove' button when there is more than one item in the list.
CORE-3587 #resolve

svn path=/trunk/; revision=70799
2016-02-28 17:01:35 +00:00
Hermès Bélusca-Maïto
619dcec227 [USETUP]: Isolate the recognition of the filesystem of a partition into its own function.
svn path=/trunk/; revision=70798
2016-02-28 16:01:54 +00:00
Hermès Bélusca-Maïto
dd0671dab2 [USETUP]
- Remove some unused structure members.
- Consistently use the vocable "system partition" and "boot partition" (using MS aka. hardware-oriented definition) according to:
  https://en.wikipedia.org/wiki/System_partition_and_boot_partition
  http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/boot-and-system-volumes.html
  in few words:
  "system partition": the one that will be started by the platform firmware, and where the bootloader is found (only one per computer);
  "boot partition": the one where the OS of your choice resides (any number).

svn path=/trunk/; revision=70797
2016-02-28 15:25:22 +00:00
Pierre Schweitzer
cb7c75c1d1 [FS_REC]
--MagicValues;

svn path=/trunk/; revision=70796
2016-02-28 11:27:05 +00:00
Hermès Bélusca-Maïto
429d288e03 [USETUP]: Fix some translations (especially the french one).
svn path=/trunk/; revision=70795
2016-02-28 02:51:47 +00:00
Pierre Schweitzer
5b8d869263 [SHELL32]
Thanks to r70793, this hack is no longer needed.

CORE-10878
CORE-10032

svn path=/trunk/; revision=70794
2016-02-27 21:01:11 +00:00
Pierre Schweitzer
13dfbf2592 [MPR]
Fix enumeration of network places root directory when starting the enumeration from network providers enumeration

CORE-10878 #resolve #comment Fixed with r70793

svn path=/trunk/; revision=70793
2016-02-27 20:58:32 +00:00
Hermès Bélusca-Maïto
ad68f421d5 [USETUP]
- Use a more complete list of partition type names for displaying the partition types in the list.
CORE-4043 #resolve
- HACK (for ChkDsk): Guess the filesystem type of the current partition, based on its partition type ID. This is hackish because partitions with the same ID can be formatted with different file systems (e.g.: Linux partition ID 0x83 can cover EXT2/3/4, ReiserFS, etc). Therefore do NOT use GetPartTypeStringFromPartitionType for that!! (see r68156 and r70283).

svn path=/trunk/; revision=70792
2016-02-27 20:49:17 +00:00
Amine Khaldi
9ddf12fef6 [NTOSKRNL] Demote the UNIMPLEMENTED_DBGBREAK in WmiSetMark() to UNIMPLEMENTED. By Jared Smudde. CORE-10687
svn path=/trunk/; revision=70791
2016-02-27 20:18:14 +00:00
Amine Khaldi
5facba1484 [ROSTESTS] Even if "generated" build tests were done for i386, do not penalize the other arch builds by removing all the core modules tests from them. Simply skip the source file in question from their build. This reverts r70789.
svn path=/trunk/; revision=70790
2016-02-27 18:15:59 +00:00
Sylvain Petreolle
ca4faae3ba [ROSTESTS]
"generated" build tests were done for i386.
Don't build them on another architectures.

svn path=/trunk/; revision=70789
2016-02-27 15:49:58 +00:00
Pierre Schweitzer
3355fd5594 [FASTFAT]
Don't mark a pending IRP twice

svn path=/trunk/; revision=70788
2016-02-25 20:52:55 +00:00
Pierre Schweitzer
0f01876900 [NTFS]
Add a missing lock

svn path=/trunk/; revision=70787
2016-02-25 20:49:31 +00:00
Amine Khaldi
6184b009f9 [TRANSLATIONS] Spanish translation update and general localization improvements by Ismael Ferreras Morezuelas. CORE-10685
svn path=/trunk/; revision=70786
2016-02-25 11:03:21 +00:00
Eric Kohl
eda8c9117f Russian translation for mspaint.
Patch by BinaryTree.
CORE-10740 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=70785
2016-02-24 22:18:54 +00:00
James Tabor
1a71a5dae6 [Win32SS]
- Fix hang, CORE-10785 and ROSTESTS-208.

svn path=/trunk/; revision=70784
2016-02-24 10:20:06 +00:00
James Tabor
1673380d6e - Fix build, this is used later.
svn path=/trunk/; revision=70783
2016-02-24 08:45:36 +00:00
James Tabor
c8fff05661 [Win32SS]
- Fix all wine win:test_GetMessagePos tests.
- See CORE-10867, please verify this is a fix.

svn path=/trunk/; revision=70782
2016-02-24 08:41:26 +00:00
Pierre Schweitzer
c87591d771 [DISK]
Also had the nasty partition number hack to IOCTL_DISK_GET_PARTITION_INFO_EX.

It is required for some file system to work in ReactOS (teasing :-))

svn path=/trunk/; revision=70781
2016-02-24 07:55:36 +00:00
Pierre Schweitzer
c0be6ae94e [NTFS]
Properly queue the IRP for deferred execution in case we got pending status

svn path=/trunk/; revision=70780
2016-02-24 07:54:20 +00:00
Pierre Schweitzer
5876421913 [NTFS]
Even more locking

svn path=/trunk/; revision=70779
2016-02-23 22:19:38 +00:00
Pierre Schweitzer
3d8efb5447 [NTFS]
Moar locking
Any resemblance to previous commit, living or dead, is purely coincidental

svn path=/trunk/; revision=70778
2016-02-23 20:45:11 +00:00
Pierre Schweitzer
2bda155345 [NTFS]
Moar locking

svn path=/trunk/; revision=70777
2016-02-23 19:57:10 +00:00
Ged Murphy
e37191a410 [ATL]
- Move CComBSTR and CComPtr to atlcomcli.h
- Patch from Mark Jansen
CORE-10610[ATL]
- Move CComBSTR and CComPtr to atlcomcli.h
- Patch from Mark Jansen
CORE-10610


svn path=/trunk/; revision=70776
2016-02-23 19:31:38 +00:00
Robert Naumann
0419710117 [SHELL32] Fix displaying icons and some strings in the file overwrite dialog.
Patch by Jared Smudde CORE-10832

svn path=/trunk/; revision=70775
2016-02-23 16:06:27 +00:00
Pierre Schweitzer
7c336358c8 [NTOSKRNL]
Implement the MiWriteCombined case of MmMapIoSpace().

This fixes NVIDIA display drivers loading in ReactOS. See: https://www.reactos.org/forum/viewtopic.php?p=120359#p120359

svn path=/trunk/; revision=70774
2016-02-22 22:52:35 +00:00
Pierre Schweitzer
3283c55709 [NTFS]
r70772b

svn path=/trunk/; revision=70773
2016-02-22 22:23:08 +00:00
Pierre Schweitzer
a8644f7a2d [NTFS]
- Implement IRP_MJ_CLEANUP (minus the cases we can't deal with yet)
- Implement open handles count for FCB & VCB
- Implement volume locking (so useful)

svn path=/trunk/; revision=70772
2016-02-22 22:20:54 +00:00
Pierre Schweitzer
24d3676235 [DISK]
- Remove one hack that seems not to be required anylonger.
- Add a comment to highlight the usage of the infamous partition 0 hack (who's the IopParseDevice() hack friend!)

svn path=/trunk/; revision=70771
2016-02-22 20:47:55 +00:00
Hermès Bélusca-Maïto
26495e949a [LOL]
Starting NT 5.1 a mysterious "VideoPortCheckForDeviceExistance" (with a 'a') export made its apparition, and is the same as the already existing "VideoPortCheckForDeviceExistence" (with a 'e') ^^
I add it only to be compatible with Win2k3 SP2 videoprt.sys exports.

svn path=/trunk/; revision=70770
2016-02-22 19:11:34 +00:00
Hermès Bélusca-Maïto
92e0fb44ca [VIDEOPRT]
- Complete the table of exported VideoPort functions (compatible Win2k3 SP2), some functions were missing in it: see for example the last picture of http://www.reactos.org/forum/viewtopic.php?f=4&t=14727#p120344 .
- Don't redirect the VideoPortInterlockedIncrement/Decrement/Exchange functions directly to NTOS, because otherwise they cannot be included in the exports table.

svn path=/trunk/; revision=70769
2016-02-22 19:07:44 +00:00
Pierre Schweitzer
195caaa854 [CLIPBRD]
Don't play with uninit var

svn path=/trunk/; revision=70768
2016-02-21 11:33:54 +00:00
Pierre Schweitzer
2b33641cc1 [KBDTOOL]
Don't deal with uninit memory

svn path=/trunk/; revision=70767
2016-02-21 11:32:17 +00:00
Amine Khaldi
1e830e6cc4 [SHELL32][USERENV] Add missing translations that led to empty start menu with the Swedish language. By Andreas Bjerkeholt. CORE-10857
svn path=/trunk/; revision=70766
2016-02-21 11:11:56 +00:00
Amine Khaldi
4b68bbe18c [MBEDTLS] Sync to v2.2.1. By Ismael Ferreras Morezuelas. CORE-10817
svn path=/trunk/; revision=70765
2016-02-21 10:56:57 +00:00
Eric Kohl
19f0f75966 [BATT]
Shrink the icon size.
Patch by Jared Smudde.
CORE-10750 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=70764
2016-02-21 09:18:35 +00:00
Eric Kohl
191936726e [VARIOUS]
Updating Turkish Translation.
Patch by Erdem Ersoy.
#CORE-10879 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=70763
2016-02-21 09:07:41 +00:00
Hermès Bélusca-Maïto
76f949716c [CDMAKE]
- Update source file headers.
- Improve some error output.
- Factorize code that creates El-Torito boot entries.
- Start thinking how to add UDF and AutoCRC support.

svn path=/trunk/; revision=70762
2016-02-21 03:00:16 +00:00
Eric Kohl
8d665c9085 [VARIOUS]
Romanian resources maintenance
Patch by Ștefan Fulea.
CORE-10811 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=70761
2016-02-20 21:14:13 +00:00
Eric Kohl
2e13653bcf [MAIN]
Improve the icons! (in MAIN.CPL)
Patch by Jared Smudde.
CORE-10813 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=70760
2016-02-20 18:50:52 +00:00
Pierre Schweitzer
cf7b88e22f [NP_ENUM]
Add a test application that allows checking that currently network places enumeration is broken in ReactOS

svn path=/trunk/; revision=70759
2016-02-20 15:56:49 +00:00
Pierre Schweitzer
58ef33073d [SHELL32]
Don't leak memory when enumerating network places...

svn path=/trunk/; revision=70758
2016-02-20 09:52:35 +00:00
Pierre Schweitzer
515de755e6 [NTOSKRNL]
If the cache wasn't initialized by the FSD serving the image, don't allow section creation to avoid later (dramatic) failure in CC.

Based on a patch by Sylvain Deverre.

CORE-10038 #comment Modified patch committed in r70756

svn path=/trunk/; revision=70756
2016-02-15 21:22:05 +00:00
Pierre Schweitzer
eacfcdff7c [MPR]
Import Wine commit:
- d070c263adf840cc14dde84eb8e73b04490d1900, Partially implement WNetUseConnectionW().

This reduces diff to Wine, by providing a cleaner implementation of WNetUseConnectionW().

CORE-10032

svn path=/trunk/; revision=70755
2016-02-15 20:32:25 +00:00
Pierre Schweitzer
f873af4b21 [MPR]
Import Wine commit (by Nikolay Sivov):
- 164fe0470ccf7cb3c0946cbb52d4139aec0c4a03, Query for NPAddConnection and NPAddConnection3 when loading a provider.

CORE-10032

svn path=/trunk/; revision=70754
2016-02-15 20:15:54 +00:00
James Tabor
cf5302e3de [User32]
- Update usage comments related to CORE-10855.

svn path=/trunk/; revision=70753
2016-02-15 17:38:23 +00:00
James Tabor
fbc10d8ca8 [User32]
- Update usage comments related to CORE-10855.

svn path=/trunk/; revision=70752
2016-02-15 17:34:17 +00:00
Hermès Bélusca-Maïto
22becce7e3 [USER32][NTUSER]
Remove some dead code; fix comments; mention that some code is redundant. This is added to help future people in cleaning up that mess called "win32k/user32".

svn path=/trunk/; revision=70751
2016-02-15 01:20:54 +00:00
Pierre Schweitzer
dcef60424d [NTFS]
Cowardly refuse to continue processing (enumerating/reading) when stumbling upon a compressed entry.
This avoids infinite loops when enumerating, incorrect files contents when reading.

CORE-10814 #resolve #comment 'Fixed' with r70750

svn path=/trunk/; revision=70750
2016-02-14 22:44:54 +00:00
Hermès Bélusca-Maïto
5bb8c16219 [WINHLP32]: This is true that it's Wine help, on Wine.... but not in ReactOS!
svn path=/trunk/; revision=70749
2016-02-14 21:35:14 +00:00
Pierre Schweitzer
364edfc021 [FASTFAT]
[NTFS]
Thanks to r70746, now, drop our beloved fix/hack/whatever about non-initialized floppy disks.

svn path=/trunk/; revision=70748
2016-02-14 19:56:17 +00:00
Pierre Schweitzer
a8410e8c47 [EXT2]
Revert r70746, more appropriate fix was committed in r70746

svn path=/trunk/; revision=70747
2016-02-14 19:54:54 +00:00
Pierre Schweitzer
78eb31503a [FLOPPY]
When discovering floppy controlers, immediately probe controlers to check whether they have a disk and if so, what's its geometry.
This avoids waiting for the first read, which will obviously never happen because FSD will try other operations depending on not set geometry.

This implies a modification in RWDetermineMediaType() to avoid infinite wait, in case there's no disk at all in the controler.

Addendum to r70725

svn path=/trunk/; revision=70746
2016-02-14 19:53:47 +00:00
Eric Kohl
9a468d30e5 [USERINIT]
Select the current keyboard layout in the keyloard layout list.

svn path=/trunk/; revision=70745
2016-02-14 18:57:12 +00:00
Hermès Bélusca-Maïto
c95d274bf6 [WIN32K:NTUSER]
- Cleanup window clipboard data while the window still exists and is not dereferenced.
- When a window is about to be destroyed (just before we send the WM_DESTROY message), if it is the current clipboard owner, make it release the clipboard. The WM_RENDERALLFORMATS message is then sent, and if needed, one WM_DRAWCLIPBOARD message.
- Send a WM_DRAWCLIPBOARD message when SetClipboardViewer is called.
WM_DRAWCLIPBOARD messages are sent as notifications to the corresponding windows.

svn path=/trunk/; revision=70744
2016-02-14 18:41:49 +00:00
Hermès Bélusca-Maïto
81c6aeb2dd [WIN32K]: Some whitespace fixes.
svn path=/trunk/; revision=70743
2016-02-14 18:26:23 +00:00
Eric Kohl
44cee0d9ea [USERINIT]
Set the keyboard layout properly.

svn path=/trunk/; revision=70742
2016-02-14 15:39:11 +00:00
Eric Kohl
0611e9366e [REGEDIT]
Minor improvement of Russian translation.
Patch by stacheldraht.
CORE-10775 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=70741
2016-02-14 12:43:52 +00:00
Eric Kohl
350cdf5b7d [CHARMAP][CPL]
Improve English string in ReactOS.
Patch by Henry Tang Ih.
CORE-10844 #resolve #comment Thank you very much!

svn path=/trunk/; revision=70740
2016-02-14 10:56:55 +00:00
Eric Kohl
af4dc35090 [USERINIT]
Update Simplified/Traditional Chinese Translation.
Patch by Henry Tang Ih.
CORE-10825 #resolve #comment Thank you very much!

svn path=/trunk/; revision=70739
2016-02-14 09:00:47 +00:00
Hermès Bélusca-Maïto
1022f13973 [CLIPBRD]
- Avoid calling OpenClipboard with a NULL window handle.
- Display the clipboard erasing confirmation message before actually opening and resetting its contents.

[WIN32K]
- Improve few comments.
- In UserOpenClipboard, return success early in case the clipboard was already opened by the clipboard owner.

svn path=/trunk/; revision=70738
2016-02-14 01:52:58 +00:00
Hermès Bélusca-Maïto
6caeaebbdc [CLIPBRD]
- Update the name of the application.
[SHORTCUTS]
- Add a clipboard viewer shortcut into the start menu (for boot and live-cd).
CORE-10853

Translators, please review!

svn path=/trunk/; revision=70737
2016-02-13 23:54:42 +00:00
Hermès Bélusca-Maïto
c3c8cf879c [CLIPBRD]
- Add clipboard file icon by Jared Smudde.
- Open any clipboard data file given in the command line.

[BOOTDATA]
- Add registry entries for file extension .clp.

CORE-10853 #resolve #comment Support added in revision 70736.

svn path=/trunk/; revision=70736
2016-02-13 23:16:19 +00:00
Hermès Bélusca-Maïto
60c090d24a [CLIPBRD]: Finish the implementation of clipboard write file support. There may be room for improvements.
CORE-10852 #resolve

svn path=/trunk/; revision=70735
2016-02-13 20:57:39 +00:00
Eric Kohl
df2659d0ac [INTL]
Add the BS_TOP flag to the multiline checkboxes. The checkbox will display at the top of the control rather than at the middle.

svn path=/trunk/; revision=70734
2016-02-13 20:47:38 +00:00
Hermès Bélusca-Maïto
daeaf449c3 Remove trailing whitespace.
svn path=/trunk/; revision=70733
2016-02-13 17:05:08 +00:00
Hermès Bélusca-Maïto
667ae1acce [CLIPBRD]
- Disable message box messages added for testing purposes (but still keep them here in case one needs them).
- Start implementing clipboard write file support. Work in progress. See CORE-10852

svn path=/trunk/; revision=70732
2016-02-13 17:04:40 +00:00
Eric Kohl
a978398354 [USERINIT]
- Fill the keyboard layout list.
- Try to select a matching keyboard layout when the language selection gets changed.

svn path=/trunk/; revision=70731
2016-02-13 16:12:24 +00:00
Hermès Bélusca-Maïto
8b028fbdc8 [CLIPBRD]: Complete the read support from .clp clipboard files to be actually able to read files saved with the Windows 2k3 clipboard.
There actually exist two clipboard file formats, so-called "Win3.1" and a "WinNT" formats. Strangely enough Win2k (and Win2k3) clipboard viewer always save the files under the "Win3.1" format, whichever one you select.
I discovered the subtle difference between those two formats by looking at a very old MSDN sample program "EMFDCODE (Enhanced Metafile Decoder)" by Dennis Crain (see https://web.archive.org/web/20080406095812/http://msdn.microsoft.com/archive/en-us/dnargdi/html/msdn_emfdcode.asp? ) that still can be found on the Internet...
CORE-10550 #comment Read support fixed in r70730.

svn path=/trunk/; revision=70730
2016-02-13 16:08:09 +00:00
Hermès Bélusca-Maïto
3ef979d4d3 [DESK.CPL]: Fix resolution slider issues.
Patch by "reactosfanboy" and Mark Jansen (nick "learn_more")
CORE-10792 #resolve

svn path=/trunk/; revision=70729
2016-02-13 13:43:35 +00:00
Hermès Bélusca-Maïto
340d1b6e9f [MSCONFIG_NEW]: Activate OS-version-specific behaviour (ReactOS vs. Windows and pre-Vista vs. post-Vista).
svn path=/trunk/; revision=70728
2016-02-13 13:11:39 +00:00
Hermès Bélusca-Maïto
c6443d2f80 [MAGNIFY]: Improve french translation.
svn path=/trunk/; revision=70727
2016-02-13 13:00:04 +00:00
Hermès Bélusca-Maïto
92cc24aefe [MSCONFIG_NEW]: Explicitely use unicode APIs.
svn path=/trunk/; revision=70726
2016-02-13 12:58:41 +00:00
Pierre Schweitzer
f79fbfbb61 [EXT2]
Add the ReactOS famous... hack? fix? whatever? already present in FastFAT, NTFS...:
When accessing a floppy disk, our floppy storage stack can return that the disk type is unknown (some would say it's legit - see comments in FastFAT) and will also return a disk sector size of 0.
Then, when trying to read the floppy disk with said size, everything goes wrong (null length read is never a good thing). So, as in any other FSD in ReactOS, for disk sector size to 512 bytes in this really specific case.

This fixes BSOD when having a floppy drive in ReactOS (whatever its filesystem).

CORE-10464 #resolve #comment Fixed with r70725

svn path=/trunk/; revision=70725
2016-02-13 09:16:45 +00:00
Hermès Bélusca-Maïto
d6607c45f8 [DESK.CPL]: Use "WallPaperDir" for the value name of the wallpaper directory (compatible MSWin and what we do have already in the registry).
svn path=/trunk/; revision=70724
2016-02-13 00:32:34 +00:00
Hermès Bélusca-Maïto
e47d8784d4 [SHELL32]: Proper fix for CORE-9837 (see r68283): "Get run icon from shell32", including partial revert and code closer to Wine.
CORE-9837 #comment Proper fix in r70723

svn path=/trunk/; revision=70723
2016-02-13 00:16:19 +00:00
Hermès Bélusca-Maïto
992af1e421 [UNDOCSHELL]: Add descriptions for the RunFileDlg shell function (ripped off taskmgr's run.h file).
svn path=/trunk/; revision=70722
2016-02-12 23:50:33 +00:00
Hermès Bélusca-Maïto
445d808604 Whitespace fix only.
svn path=/trunk/; revision=70721
2016-02-12 23:46:14 +00:00
Hermès Bélusca-Maïto
b4741c36f4 [WIN32K]: Since r7146 (12 years ago) we correctly set a small Close button for tool windows. WARNING: Please do NOT sync this piece of code with Wine! Ours behave better when one changes the values of SM_CXSMSIZE / SM_CYSMSIZE.
svn path=/trunk/; revision=70720
2016-02-12 23:10:59 +00:00
Hermès Bélusca-Maïto
fe53065a4e [UXTHEME]
Temporarily disable the WS_EX_DLGMODALFRAME test whose presence broke opening the system menu when the user clicks on the window caption icon.
This half-broken DefWndNCHitTest comes from user32; see r70718 for more details.

svn path=/trunk/; revision=70719
2016-02-12 22:12:51 +00:00
Hermès Bélusca-Maïto
e02c739f6d [WIN32K][USER32]
- Both functions UserGetInsideRectNC and NC_GetInsideRect are the same: remove the redundant code and keep only NC_GetInsideRect.
- Move default WM_NCHITTEST into kernel side, getting rid of half-broken DefWndNCHitTest in user32. Note that we use a DefWndNCHitTest version almost unmodified in uxtheme.dll.
  I did this move also because otherwise, we didn't correctly checked for the presence of the window system menu icon. On the contrary the function GetNCHitEx (obviously taken from Wine's NC_HandleNCHitTest) correctly checks for this.

James, please review!

svn path=/trunk/; revision=70718
2016-02-12 22:10:29 +00:00
Hermès Bélusca-Maïto
6bed745b3d [UXTHEME]: Use a similar working logic to display (or not) the icon (or the default one) to windows/dialogs, taking in particular their exstyle WS_EX_DLGMODALFRAME in particular.
Dedicated to Jared Smudde.
CORE-9635 #resolve #comment A better fix was committed in r70717 to match r70715

svn path=/trunk/; revision=70717
2016-02-12 19:07:29 +00:00
Hermès Bélusca-Maïto
492e14a055 This stuff should not have been committed.
svn path=/trunk/; revision=70716
2016-02-12 17:37:41 +00:00
Hermès Bélusca-Maïto
c98d80baf0 [WIN32K]: Fix display of window title icon for dialogs having the WS_EX_DLGMODALFRAME style.
CORE-10850 #resolve
CORE-10437 #comment The real fix was committed in r70715.

svn path=/trunk/; revision=70715
2016-02-12 17:31:19 +00:00
Hermès Bélusca-Maïto
ed391467a5 [SYSICON]: Whitespace fixes only.
svn path=/trunk/; revision=70714
2016-02-12 17:21:32 +00:00
Hermès Bélusca-Maïto
3a3ddebe62 [WIN32SS]
- Fix orthograph
- Mention in the code that some stuff are hacks & need to be fixed.
- Add parentheses around bit checks.

svn path=/trunk/; revision=70713
2016-02-12 16:40:36 +00:00
Hermès Bélusca-Maïto
921fdfd85b But do not compile by default those extra tests. Colin, it is curious that when rosautotest encounters a test EXE that it doesn't like, it just completely bails out the test session. This should be fixed/behaviour improved.
svn path=/trunk/; revision=70712
2016-02-12 15:24:30 +00:00
Hermès Bélusca-Maïto
6d2ccc456c I forgot this file.
svn path=/trunk/; revision=70711
2016-02-12 15:12:54 +00:00
Hermès Bélusca-Maïto
4d930e07e8 [ROSTESTS]: Add "sysicon" test back, and augment it.
svn path=/trunk/; revision=70710
2016-02-12 15:10:59 +00:00
Hermès Bélusca-Maïto
0455477600 [FREELDR]: Continue removing code not related to freeldr entry-point from entry.S, and adopt source file names for i386 architecture similar to those of amd64.
svn path=/trunk/; revision=70709
2016-02-11 22:33:03 +00:00
Eric Kohl
6c834bbca5 [USERINIT]
Make the language selection work as expected.

svn path=/trunk/; revision=70708
2016-02-11 20:00:46 +00:00
Hermès Bélusca-Maïto
ba1d28dcc8 [CMLIB]: Implement CmpFreeSecurityDescriptor. See r70609.
CORE-10793 CORE-10796

svn path=/trunk/; revision=70707
2016-02-10 22:28:12 +00:00
Hermès Bélusca-Maïto
1eb1638e2e [CMLIB]
- Fix some comments.
- Simplify code.
- Add a missing check for hive exit nodes when deleting cells.

svn path=/trunk/; revision=70706
2016-02-10 22:18:20 +00:00
Hermès Bélusca-Maïto
4191c57d0f [CMLIB]: fix a typo in the constant name.
svn path=/trunk/; revision=70705
2016-02-10 22:04:57 +00:00
Robert Naumann
ed74c8abe7 [EXPLORER] Yet another bitmap resource fix. By Jared Smudde. CORE-10781
svn path=/trunk/; revision=70704
2016-02-08 23:30:49 +00:00
Robert Naumann
ccac5e7ee3 [EXPLORER] Stubplement Customize Notifications dialog. Patch by Jared Smudde. CORE-10725
svn path=/trunk/; revision=70703
2016-02-08 23:16:36 +00:00
Eric Kohl
84a8d432f8 Add missing newline!
svn path=/trunk/; revision=70702
2016-02-08 14:51:52 +00:00
Eric Kohl
8f032fb669 [REACTOS]
Add columns and column titles to the partition listview.

svn path=/trunk/; revision=70701
2016-02-08 14:41:09 +00:00
Eric Kohl
b8c5994f8f [REACTOS]
Remove remaining groupboxes from wizard pages.

svn path=/trunk/; revision=70700
2016-02-07 21:06:31 +00:00
Eric Kohl
2104e66991 [USETUP]
Danish translation for usetup.
Patch by Lars Rasmussen.
CORE-10812 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=70699
2016-02-07 20:24:18 +00:00
Eric Kohl
6592d7d424 [WLANSVC]
Add the version information for the WLAN Service.
Patch by Lee Schroeder.
CORE-10836 #resolve #comment Thanks a lot!

svn path=/trunk/; revision=70698
2016-02-07 20:08:08 +00:00
Thomas Faber
ba31c44d1e [KERNEL32]
- Hide STATUS_SXS_INVALID_ACTCTXDATA_FORMAT in BasepProbeForDllManifest and fake a manifest not found status instead. Windows's RtlCreateActivationContext will always return this code since we call it with a completely invalid structure. Should fix boot on VMware-Hybrid testbot.
CORE-10843

svn path=/trunk/; revision=70697
2016-02-07 09:38:47 +00:00
Thomas Faber
cab26c80f1 [LWIP]
- Don't use the already over-used LWIP_TAG for lookaside list allocations

svn path=/trunk/; revision=70696
2016-02-06 22:11:03 +00:00
Hermès Bélusca-Maïto
9a5b681194 [FREELDR]
- Whitespace fixes only in the disk code.
- Fix the name of the EXT2 FS driver.
- Move I/O initialization after Mm init so that we can properly read disk data into the correct buffers if needed (and I will need that).

svn path=/trunk/; revision=70695
2016-02-05 23:47:35 +00:00
Hermès Bélusca-Maïto
1d42ae7dce Order of definitions is still important!
svn path=/trunk/; revision=70694
2016-02-05 21:15:25 +00:00
Hermès Bélusca-Maïto
7a8e098eb7 [FREELDR]: Add source file header to scsiport.c; move structure definitions together.
svn path=/trunk/; revision=70693
2016-02-05 21:12:53 +00:00
Hermès Bélusca-Maïto
c62cd02730 [FREELDR]
Start splitting FreeLdr in the same spirit as our new UEFI boot manager/loader: split into a boot library, the boot manager code, and the NT loader.
- The boot library provides the basic support (read INI/INF files, memory management, debugging, ARC compatibility/emulation, ...).
- The boot manager code is FreeLdr proper.
- The NT loader is used for loading Windows or ReactOS. Because of that fact I rename its directory "windows" into "NTLDR" to underline the fact it can load NT-type OSes (more exactly version 5.x), to which both Windows 2k/XP/2k3 and ReactOS belong. The APIs will certainly be renamed "NtLdrXXX" instead of "WinLdrXXX".
- The general PE loader is put into the boot library since it is needed also by FreeLdr proper to be able to load SCSI drivers (on x86/64/... architectures; on ARC systems SCSI support is automatically provided).

svn path=/trunk/; revision=70692
2016-02-05 00:17:33 +00:00
Eric Kohl
ee1d2a2874 Used a better check for the root item of the treeview. The listview, status bar and address bar should only get wiped when the user selects the root item of the treeview.
CORE-10803 #comment Retest please!

svn path=/trunk/; revision=70691
2016-02-04 23:50:36 +00:00
Hermès Bélusca-Maïto
10bff42ab6 Remove redundant extra terminating ';' in all of our C code.
svn path=/trunk/; revision=70690
2016-02-04 20:42:07 +00:00
Hermès Bélusca-Maïto
02e447d135 [CODE]: s/interupt/interrupt/
svn path=/trunk/; revision=70689
2016-02-04 20:27:44 +00:00
Hermès Bélusca-Maïto
8bc34bbe18 [FREELDR]: Export RtlAssert.
svn path=/trunk/; revision=70688
2016-02-03 22:56:17 +00:00
Hermès Bélusca-Maïto
bc01b35fdf [FREELDR]
- The PE code can be built as an executable, it works as expected and nothing changes (the size of the generated code doesn't change).
- Export the Scsi functions also on x86 MSVC builds. Because of that, increase the number of expected PE sections in the FreeLdr image check function. Note that x64 MSVC build do not have the Scsi code ready yet, hence it doesn't export the corresponding functions.
- The spec2def command should have the name of the generated PE file.
- Remove one hardcoded value.

During my investigations I noticed that using a section alignment of 0x400 for freeldr MSVC builds (instead of the default 0x1000) made the MSVC builds *bigger*. Furthermore, using the default alignment of 0x1000 makes the freeldr MSVC builds unbootable. I don't understand why. Maybe a freeldr guru knows that?

svn path=/trunk/; revision=70687
2016-02-03 22:18:05 +00:00
Hermès Bélusca-Maïto
3f9bbc9a01 [BOOTMGR]
- Make BmMain stdcall as it's an entry point, the same way as ROSLOAD's OslMain.
[ROSLOAD]
- Fix a comment.
- Fix compilation on x64 and on GCC by specifying the entrypoint stack, exactly as what we do for KiSystemStartup in the kernel.

svn path=/trunk/; revision=70686
2016-02-03 19:12:34 +00:00
James Tabor
201e5c881a [User32]
- Patch by Manuel : Explorer not draw (16 bits) icons. See CORE-10789.

svn path=/trunk/; revision=70685
2016-02-03 16:39:28 +00:00
Hermès Bélusca-Maïto
a346165f3c [FREELDR]: Move the (private) HAL Pci bus initialization calls to where they are needed: for SCSI initialization (see r46017).
svn path=/trunk/; revision=70684
2016-02-03 16:30:39 +00:00
Hermès Bélusca-Maïto
076441f3ce [FREELDR]
- Move the NTOS loader files that were scattered in many places into their own directory (now all that stuff is inside freeldr/windows).
- Split arch/arm/winldr.c into the real winldr code (going into freeldr/windows) and entry point code (going into arch/arm/entry.c).

svn path=/trunk/; revision=70683
2016-02-03 15:20:37 +00:00
Hermès Bélusca-Maïto
9f8022a2b3 [FREELDR]
- Move some code where it should better belong to.
- Add few source code file headers.
- Add missing partition IDs.

svn path=/trunk/; revision=70682
2016-02-03 14:07:18 +00:00
Hermès Bélusca-Maïto
7e33c2343e [i8042PRT]: Forgot this one, addendum to r70680.
svn path=/trunk/; revision=70681
2016-02-03 00:40:37 +00:00
Hermès Bélusca-Maïto
9cc0aedad7 [FREELDR][STREAM][NTOS]
Replace old bugzilla report IDs to their JIRA counterparts.

[LIBUSB]
The third parameter of IoRegisterDeviceInterface is a pointer (optional). Use NULL instead of 0.

svn path=/trunk/; revision=70680
2016-02-03 00:37:23 +00:00
Hermès Bélusca-Maïto
fe52797f20 [FREELDR]: Remove deprecated code.
svn path=/trunk/; revision=70679
2016-02-03 00:04:05 +00:00
Hermès Bélusca-Maïto
4d428f4551 [NTOS:INBV]
- Initialize global variables to known default values.
- When Inbv initializes the display, reset the video mode *ONLY* if we do not have a custom boot logo (because otherwise we want to see our custom boot logo!). This also fixes the video mode used by ReactOS when booting it using Windows ntldr!

svn path=/trunk/; revision=70678
2016-02-02 23:28:45 +00:00
Sylvain Petreolle
ecc5e30ce6 MSVC: Properly define debug functions for release builds.
svn path=/trunk/; revision=70677
2016-02-02 20:51:50 +00:00
Hermès Bélusca-Maïto
81e1b30067 [USETUP]: Enlarge some string buffers that hold localized printf-formatted strings.
svn path=/trunk/; revision=70676
2016-02-02 02:23:56 +00:00
Hermès Bélusca-Maïto
f2f176a202 [USETUP]
- Use defines instead of hardcoded values for partition type IDs.
- Add some support for installing ReactOS on EXT2 partitions.
- Add few code that will be needed when we support NTFS installation.
- Refactor InstallFatBootcodeToPartition and its auxiliary functions. CORE-4870

svn path=/trunk/; revision=70675
2016-02-02 01:55:05 +00:00
Hermès Bélusca-Maïto
f9e7ff40dc [CMLIB]: Demote the DPRINT1 saying that we leak the security block descriptor to a DPRINT. People (Alex & me) working on cmlib already know this. "Fixes" timeout problems of the testbots due to spamming this dprint.
svn path=/trunk/; revision=70674
2016-02-01 23:10:38 +00:00
Pierre Schweitzer
db453b5b54 [BOOTDATA]
Drop last references to rosvboxmgmt!

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70673
2016-02-01 22:18:47 +00:00
Pierre Schweitzer
629f718914 [ROSVBOXMGMT]
Drop rosvboxmgmt hack.
Thanks, you served us well. But r70670 killed you. Too bad!

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70672
2016-02-01 22:17:43 +00:00
Pierre Schweitzer
886fc1b808 [SHELL32]
Time to (re)act!
Step 2/2: continue Giannis' UNC hack in Shell32:
- Implement the ILCreateFromNetworkPlaceW() helper, which is just Giannis' code to allow creating a hacky PIDL for enumeration.
- Implement the CNetFolderEnum class, which allows enumerating network places. So far, it's pretty basic (no tree structure) but, it does its job. It would be to improve
- Implement the CNetFolder::EnumObjects() function.

This commit, in itself, more or less obsoletes hackssign application. Indeed, now, you just need to go to your network places, to be able to browse your network shares (like VMware or VBox shares) provided you installed the VMware/VBox additions in your VM.
However, hackssign will remains in rosapps for now: we don't have any other way to assign a drive letter to a network place so far, and VMware doesn't provide such feature.
Furthermore, this is a big hack. And until we have a correct implementation, we can keep another hack along ;-).

Feel free to decently enjoy your network shares in ReactOS :-).

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70671
2016-02-01 22:07:55 +00:00
Pierre Schweitzer
ef3e0ddadc [MPR]
Time to (re)act!
Step 1/2:
- Implement WNetUseConnectionA() as a simple forwarder to WNetUseConnectionW().
This function should make it somehow, somewhen to Wine. Feel free to help the process by lighting cierges.
- Halplement WNetUseConnectionW() to match a really specific case: it can handle requests from VBoxTray and pass them properly to VBox NP.
In its current state, this function isn't to be shared with Wine.
Other calls (specifically without local path, nor network provider) aren't handled and will lead to an error.

But, in itself, this commit obsoletes rosvboxmgmt by making ReactOS able to autostart (on VBoxTray demand :-)) the VBox shared folders.
Furthermore, if you ask for a drive letter to be assigned to your shared folder, it will happen!

Now, in order to use VBox shared folders, just configure VBox to assign them a drive letter, install ReactOS, install VBox Guest Additions... Profit!

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70670
2016-02-01 21:59:47 +00:00
Sylvain Petreolle
cebd126f81 [OPENGL]
Free the variable arguments in vsnprintf implementation.
Patch by Victor Martinez.
CORE-10629

svn path=/trunk/; revision=70669
2016-01-31 19:14:24 +00:00
Sylvain Petreolle
e0ac8691be cmlib: Fix debug string becoming too big for testbot (doesn't fix successful-but-canceled ntdll:NtDeleteKey)
Alex, do we have an actual free-security-descriptor function ?

svn path=/trunk/; revision=70668
2016-01-31 17:42:05 +00:00
Sylvain Petreolle
fb390d657c [TASKMGR]
Remove hacks for idle time.

svn path=/trunk/; revision=70663
2016-01-30 17:18:08 +00:00
Sylvain Petreolle
2076f09a0c [TASKMGR]
protect some variables with the critical section
Patch by Mark Jansen.
CORE-10787

svn path=/trunk/; revision=70662
2016-01-30 17:01:04 +00:00
Hermès Bélusca-Maïto
4dd9a543a3 [BOOTDATA]: Normally, in the hybridcd, the livecd stuff should go into its own subdirectory.
svn path=/trunk/; revision=70655
2016-01-29 01:18:53 +00:00
Hermès Bélusca-Maïto
32c29291cd [VERSION]: Improve versioning based on r70641.
svn path=/trunk/; revision=70651
2016-01-29 00:07:08 +00:00
Aleksey Bragin
f6cd52a04f [LDR]
- Fix a typo in kernel32's manifest prober routine
- Don't RtlGetActiveActivationContext if it's already existing
- Improve actctx and ldr debug prints
- This fixes numerous LDR bugs, such as the famous bug with MSVCR90 CORE-7313, .NET installation issues CORE-7489 and, hopefully, many other. Thank you very much for putting your trust in me!

svn path=/trunk/; revision=70646
2016-01-27 15:02:28 +00:00
Pierre Schweitzer
1d3fa0bb12 [MPR]
Import Wine commit:
- 80eb2fa08eb21ba9504438493fa66097ed03faf5, Add support for REG_EXPAND_SZ for providers path.

This fixes VMware network provider (vmhgfs.dll) not being able to be loaded in ReactOS.

CORE-10032

svn path=/trunk/; revision=70645
2016-01-26 18:09:47 +00:00
Daniel Reimer
259b98442e [REACTOS]
Finish German translation, fix some coordinates and sync these fixes to all other languages. Fix a typo.

svn path=/trunk/; revision=70644
2016-01-26 01:45:29 +00:00
Eric Kohl
952474b7f9 [REACTOS]
- Remove the code that hides the system menu and the cancel button. Users should be able to cancel the installation process.
- Add code to reboot ReactOS after completing or cancelling the wizard. It is disabled for now.
- Remove the groupbox on the device page.
- Resize / realign the controls on the drive page.
- Replace the listbox on the drive page by a list view.

svn path=/trunk/; revision=70643
2016-01-25 22:39:26 +00:00
Amine Khaldi
2de93288c0 [VERSION] Improve the way we define ReactOS version, to allow us to mark it as SVN or as a release, and for the latter, allow us to mark it as a candidate or as the final one.
svn path=/trunk/; revision=70641
2016-01-25 18:37:20 +00:00
Amine Khaldi
c8bc427d74 [I8042PRT] Apply a workaround for Dell Latitude D630. By Thomas Faber. CORE-10797
svn path=/trunk/; revision=70639
2016-01-25 18:08:06 +00:00
Eric Kohl
ac19c5f29c [REACTOS]
- Fix height of the inner wizard pages.
- Do not show the header for the finish page.
- Remove the language selection page and the ReactOS logo because they have been moved to userinit.
- Start removing groupbox controls from the wizard pages. They just occupy a lot of space.
- Resize / realign the install type page and add some descriptive text to all languages.
- Allocate setup data from the heap and pass the setup data pointer to each wizard page.
- Move the drive wizard page (DriveDlgProc) to a separate file.
- Move the common declarations to a new header file.

svn path=/trunk/; revision=70638
2016-01-23 23:20:32 +00:00
Aleksey Bragin
7b1920c911 [NTOSKRNL]
- Fix a typo.

svn path=/trunk/; revision=70637
2016-01-22 09:23:21 +00:00
Alex Ionescu
a68573d0c5 [BOOTLIB]: Fuck you binutils.
svn path=/trunk/; revision=70636
2016-01-21 17:08:33 +00:00
Amine Khaldi
125060988e [RTL] Revert some accidental formatting changes in r70634. NFC.
svn path=/trunk/; revision=70635
2016-01-21 16:52:31 +00:00
Alex Ionescu
445a748bf8 [RTL/NDK]: For some strange reason, we were missing LdrRelocateImage. Also we had the right type for LdrRelocateImageWithBias, but not the former. Fix that.
[BOOTLIB]: Finish the rest of the image loader. However, relocations appear to fail.

svn path=/trunk/; revision=70634
2016-01-21 16:16:12 +00:00
Alex Ionescu
55b6c66d7a [BOOTLIB]: Cleanup, less magic.
svn path=/trunk/; revision=70633
2016-01-21 15:47:14 +00:00
Alex Ionescu
953f5a4f99 [BOOTLIB]: Implement checksum calculation for PE header sum.
[BOOTLIB]: Implement most of ImgpLoadPEImage. The checksum of the mapped image file matches the checksum in the flat PE file, meaning our load loop works as designed.
Next step are relocations and we'll be done.

svn path=/trunk/; revision=70632
2016-01-21 05:16:40 +00:00
Alex Ionescu
d5f06366a8 [DDK]: SVN isn't GIT alex. It's not smart enough to commit the entire tree, only the place where you right-clicked.
svn path=/trunk/; revision=70631
2016-01-20 17:01:53 +00:00
Alex Ionescu
d59c799233 [ROSLOAD]: SUBSYSTEM_WINDOWS_BOOT_APPLICATION is 16, not 14.
svn path=/trunk/; revision=70630
2016-01-20 17:00:51 +00:00
Alex Ionescu
53c32a9428 [BOOTLIB]: Begin PE loader. Works so far. Next up is loading the sections, zeroing out the .bss, and computing checksum.
svn path=/trunk/; revision=70629
2016-01-20 17:00:18 +00:00
Amine Khaldi
26f25f68f5 [USETUP] Add missing Italian STRING_EXTENDED_PARTITION string. CORE-10809
svn path=/trunk/; revision=70627
2016-01-20 15:20:59 +00:00
Alex Ionescu
e7cbf6ea1b [ROSLOAD]: Create directory and build rules. rosload.efi is now dropped in system32\boot just like on the Windows Setup DVD. BlImgLoadBootApplication is able to find it.
[BOOTMGR/BOOTLIB]: Fix factorings that were incorrect but not noticed when bootmgr was the only bootlib user. Now with rosload in the picture, they became obvious.
[EFISYS]: BCD should not be on the EFISYS.BIN, only on the boot volume, just like a Windows DVD.

svn path=/trunk/; revision=70626
2016-01-20 06:59:12 +00:00
Alex Ionescu
5126de14b6 [HIVEBCD/BOOTMGR]: Prep work
svn path=/trunk/; revision=70625
2016-01-20 03:53:59 +00:00
Alex Ionescu
5a21e5a50e [BOOTLIB]: Cleanups and small fixes.
svn path=/trunk/; revision=70624
2016-01-20 03:43:56 +00:00
Alex Ionescu
00d85d909c [BOOTMGR]: Cleanup, less magic, one bug fix.
svn path=/trunk/; revision=70623
2016-01-20 02:58:39 +00:00
Alex Ionescu
c68737148c [BOOTLIB]: Fix build
svn path=/trunk/; revision=70622
2016-01-20 01:29:59 +00:00
Alex Ionescu
adeb70e21e [BOOTLIB]: Rough sketches of BlImgLoadBootApplication, BlImgStartBootApplication, BlImgUnLoadBootApplication.
svn path=/trunk/; revision=70621
2016-01-20 01:28:50 +00:00
Pierre Schweitzer
e7f66b6dad [MPR]
Import Wine commits:
- 39ec97ea9dcba270bbea31a7eaa7b842bf1beb1f, Implement WNetAddConnectionA(), WNetAddConnection2A(), WNetAddConnection3A().
- 092c60e98cec9956127145f7c8a5db88082ce7d2, Implement WNetAddConnectionW(), WNetAddConnection2W(), WNetAddConnection3W().

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70619
2016-01-19 18:39:18 +00:00
Alex Ionescu
68e9874f36 [BOOTMGR]: Support for launching a recovery sequence.
[BOOTMGR]: Stub support for boot errors.
[BOOTMGR]: Stubplement support for device creation for boot applications (only for fully specified devices)
[BOOTMGR]: Implement support for execution transfer, including recovery mode/sequence.
[BOOTMGR]: Implement support for launching a boot entry.
[BOOTLIB]: Support for EFI Firmware device enumeration, driver attachment, and comparison.
[BOOTLIB]: Support for appending BOOLEAN or INTEGER BCD options.
Next step is the PE loader.

svn path=/trunk/; revision=70618
2016-01-19 18:21:54 +00:00
Amine Khaldi
de0a6b1666 [TRANSLATIONS] Turkish translation update by Erdem Ersoy. CORE-10805
svn path=/trunk/; revision=70616
2016-01-18 19:20:44 +00:00
Alex Ionescu
ac25cdec6c [BOOTMGR]: Implement support for getting the default boot entry, the current boot menu policy, and finish implementation of getting the selected boot entry.
[BOOTMGR]: Stubplement support for catching keystrokes right before boot (such as F8, F10). No key input is actually read.
Boot Manager now attempts to load the winload entry as part of BmpLaunchBootEntry.

svn path=/trunk/; revision=70615
2016-01-18 18:16:49 +00:00
Alex Ionescu
12f04d8cb1 [HIVEBCD]: Fix wrong element type for application device element.
[BOOTMGR]: Implement boot sequence population. We correctly detect our winload.efi entry in the BCD hive.
[BOOTMGR]: Document more application entry flags.
[BOOTLIB]: Document and implement BCD object description parsing. Based off BCD Reference Guide / Geoff Chappel's website.
[BOOTLIB]: Add support for appending a boot option to an entry.

svn path=/trunk/; revision=70614
2016-01-18 16:54:44 +00:00
Alex Ionescu
f3c6cefe6f [BOOTMGFW]: Implement BmEnumerateBootEntries.
[BOOTLIB]: Implement BlGetOptionGuid. All BCD option APIs should now be implemented.
[BOOTLIB]: Fix memory corruption + out-of-bounds bugs in BlAppendBootOptions, which made the BCD options remain empty.

svn path=/trunk/; revision=70611
2016-01-18 05:26:10 +00:00
Alex Ionescu
51f9487ff7 [HIVEBCD]: Implement an entire wholeseome BCD boot hive, including multiple levels of inheritance (globalsettings, dbgsettings, emssettings, bootloadersettings), plus entries for {memdiag}, {bootmgr} and {winload}.
[BOOTLIB]: Fix a bug in BCD parsing which was causing massive heap corruption. Became evident with the increased complexity of the new BCD hive.

svn path=/trunk/; revision=70610
2016-01-18 04:18:12 +00:00
Alex Ionescu
ba3178b813 [CMLIB/NTOSKRNL]: Move key deletion functions to cmlib, so that UEFI boot library can use them.
[BOOTLIB]: Implement BCD element deletion (bootreg: implement key deletion)
[BOOTMGR]: Implement BL_FATAL_ERROR_BCD_ENTRIES fatal error.
[BOOTMGR]: Stubplement support for memory list data parsing (when memtest.efi will run), and stubplement support for boot persistent data blobs.
[BOOTMGR]: Stubplement boot sequence support, create stub for boot entry population.
[BOOTMGR]: Stubplement boot entry selection, create stub for boot entry enumeration.
Mostly factoring-level changes to get us closer to the needed code paths.

svn path=/trunk/; revision=70609
2016-01-17 21:48:00 +00:00
Eric Kohl
f91d835c5a [USERINIT]
Add missing newline for MSVC.

svn path=/trunk/; revision=70608
2016-01-17 19:37:18 +00:00
Eric Kohl
8c9a41db96 [USERINIT]
Add two dialogs that are shown when the LiveCD is booted. The first dialog is used to select the language and keyboard layout. The second dialog is used to either start the shell or the GUI installer. Language and keyboard layout selection are still work in progress.

svn path=/trunk/; revision=70607
2016-01-17 19:20:47 +00:00
Sylvain Petreolle
9511b56f3c [FLOPPY]
Check for controller configuration status.
CORE-10761 #comment Please retest.

svn path=/trunk/; revision=70606
2016-01-17 16:59:55 +00:00
Hermès Bélusca-Maïto
8c2454ea74 [CMLIB]
- Now that both FreeLdr and MKHIVE use the regular (aka. the "NT-style public") CMLIB functions, get rid of the "old-style public" cmlib functions, with the exception of CmCreateRootNode and CmPrepareHive which remain for now due to a slight different implementation difference between NT and ours. Remove the cmtools.c file containing those old functions.
- Remove the now-deprecated VALUE_LIST_CELL structure (which was an old version of CELL_DATA:KeyList).
- When freeing hive bins (in HvpFreeHiveBins), use the storage number count stored in the hive instead of a constant value.
- Flat hives have only one storage type (they are read-only and reside only in memory).
CORE-10802
CORE-10793

svn path=/trunk/; revision=70605
2016-01-17 02:12:37 +00:00
Hermès Bélusca-Maïto
17c6bfd956 [FREELDR]
Make FreeLdr fully using the CMLIB library. CORE-10802 #resolve
CORE-10793

svn path=/trunk/; revision=70604
2016-01-17 01:42:11 +00:00
Hermès Bélusca-Maïto
660ad50bae [MKHIVE]
- Fix two warnings in GCC Linux build (in KeBugCheckEx and in a call to the helper function RepGetValueData).
- Remove two unused RTL ANSI functions.
- Fix USHORT vs. ULONG type misuage.
- Fix SIZE_T vs. ULONG usage.

svn path=/trunk/; revision=70603
2016-01-17 01:29:43 +00:00
Hermès Bélusca-Maïto
30da982e36 [MKHIVE]
- Make mkhive tool correctly initialize the Max(Value)[Name|Data]Length members of HHIVE structure. CORE-10794 #resolve
- Add default security hive descriptors to our mkhive-built registry hives. CORE-10795 #resolve
- Make MKHIVE fully using the CMLIB library. CORE-10802
CORE-10793

svn path=/trunk/; revision=70602
2016-01-17 00:50:03 +00:00
Hermès Bélusca-Maïto
5a29ec2659 [CMLIB]
- One less hardcoded number.
- Minor code formatting.

[NTOS]
- Minor code formatting (cmvalche.c).
- The key-node timestamp can usually be retrieved without using another temporary value.
- The security descriptor copy allocated for the hive can be freed after it was assigned to it.

[MKHIVE]
- Minor formatting of the source headers.
- Update the list of registry value types; add another error code (to be used later on).
- Remove now unused "ntoskrnl.h" header.

CORE-10793

svn path=/trunk/; revision=70601
2016-01-16 23:54:45 +00:00
Eric Kohl
b45ce14687 [MMC]
- Prepare the 'file open', 'file save' and 'file save as' actions.
- Store the file name in the console struncture.

svn path=/trunk/; revision=70600
2016-01-16 15:17:12 +00:00
Hermès Bélusca-Maïto
2bb29d9cea [BOOTDATA]
- Add "aif" and "aiff" to the supported MCI Extensions.
- Remove an extra erroneous "rmi" entry that was wrongly marked as being of type "MPEGVideo".

svn path=/trunk/; revision=70597
2016-01-16 00:30:01 +00:00
Pierre Schweitzer
a8eec26809 [MOUNTMGR]
Warn when stubling upon Winism.

svn path=/trunk/; revision=70596
2016-01-15 21:12:57 +00:00
Hermès Bélusca-Maïto
9e6cbffcd8 [FREELDR]
- Since the registry handling rewrite of Timo in r61595 all the freeldr-specific registry structures got deprecated. Remove them, as well as few other prototypes of non-existing functions.
- Use the CMLIB registry flags instead of some (already-removed) flags --> fix build.

svn path=/trunk/; revision=70594
2016-01-14 20:00:18 +00:00
Hermès Bélusca-Maïto
62e9fb7872 [CMLIB]
- Do not define _NTOSKRNL_ at compilation time, keep only the _NTSYSTEM_ define (and NASSERT).
- Remove deprecated unused private flags.
- Modify CmCreateRootNode to make it look more similar to the CmpCreateRootNode function of ntoskrnl/config/cmsysini.c, to ease future code adaptation in cmlib & mkhive and then deprecate CmCreateRootNode in favour of CmpCreateRootNode.

svn path=/trunk/; revision=70593
2016-01-14 18:03:35 +00:00
Hermès Bélusca-Maïto
5cef0d2fc2 [VFATLIB]: Comments (and DPRINT) fixes only.
svn path=/trunk/; revision=70583
2016-01-13 14:12:04 +00:00
Hermès Bélusca-Maïto
734bc29142 [CMLIB]
- Fix HBLOCK_SIZE vs. HSECTOR_SIZE mix-ups in HvpGetHiveHeader.
- Add a function to create cluster-aligned hive base blocks (HBASE_BLOCK) based on the existing code of HvpGetHiveHeader, and use it everytime we need to allocate HBASE_BLOCKs.
- Keep the actual base block size in the BaseBlockAlloc member, and use this value for the "quota" parameter when we free the blocks.
- Introduce & use a function to initialize the hive file name array (mainly used for debugging purposes).
- "HvpInitializeMemoryInplaceHive" should read "HvpInitializeFlatHive" instead since this function is used to initialize a flat hive. Memory-in-place hives are a different thing.
- Fix some memory leaks in the error paths of HvLoadHive.
- Initialize some additional hive members in HvInitialize(Hive).

svn path=/trunk/; revision=70582
2016-01-13 01:40:58 +00:00
Hermès Bélusca-Maïto
36a7330eee [CMLIB]: Better fix for r70580.
svn path=/trunk/; revision=70581
2016-01-12 22:22:18 +00:00
Hermès Bélusca-Maïto
c63d2718c5 [CMLIB]: Fix host-tool compilation (+ add a comment).
svn path=/trunk/; revision=70580
2016-01-12 22:17:39 +00:00
Hermès Bélusca-Maïto
ab7ca4116c [CMLIB]
- Fix some structure definitions to match Win2k3 symbols (define also _SECURITY_DESCRIPTOR_RELATIVE for the host-tools so that the CM_KEY_SECURITY structure is always correctly defined).
- Complete other structure definitions with respect to the NT version defined at compile time; http://msdn.mirt.net/ was used as the source of information.
- Add the definition of CM_BIG_DATA for supporting big valued keys (see also http://www.msuiche.net/2009/06/07/windows-vista-and-later-registry-secrets/ for what they are).

[NTOS]
- Move CM functions defined in the CMLIB out of the internal ntoskrnl headers.

svn path=/trunk/; revision=70579
2016-01-12 21:37:36 +00:00
Pierre Schweitzer
cae19acb7a [ROSVBOXMGMT]
Let's add hacks to glue hacks together:
In case rosvboxmgmt is started with its current directory not being the directory where it is along with hackssign_client.exe, then autoassign fails finding the hackssign client executable and thus, fails assigning drive letter.
This is what happens when you starts rosvboxmgmt on boot with shell.
So, when using autoassign, first look for the location of rosvboxmgmt and set our current directory there.

This fixes rosvboxmgmt autoassign not working on boot.

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70578
2016-01-11 22:41:32 +00:00
Hermès Bélusca-Maïto
658e9e13b3 [DESK.CPL]
Resolution selection improvement patch by Mark Jansen:
- Fix a bug that allowed only a subset of resolutions to be visible.
- Update the preview on the fly when dragging the resolution slider.
- Fix a bug that prevented the monitor preview from properly invalidating the preview, leaving the old preview partially visible.
Needs to be included in 0.4 branch.
CORE-10786

svn path=/trunk/; revision=70577
2016-01-11 20:52:44 +00:00
Eric Kohl
30862b5020 [vfatlib]
- Use a single wipe function (FatWipeSectors) for FAT12, FAT16 and FAT32.
- Code has been reviewed by Hermès and me. Ready for merge into 0.4.

svn path=/trunk/; revision=70576
2016-01-11 20:44:06 +00:00
Hermès Bélusca-Maïto
d0eb702ec2 [NTOS:CONFIG]
Remove a very old hack (that dated back from the Configuration Manager rewrite): now the hives are already correctly loaded in memory, therefore there is no need to call CmCreateRootNode after creating a hive, because the root node is subsequently initialized with calls to CmpCreateLinkNode. The comment saying that calls to CmCreateRootNode can be removed when CmpCreateLinkNode is used, is now in order. This means we correctly parse & mount the hives. The CmCreateRootNode function is now only used in the 'mkhive' tool in order to create file hives, since this tool needs to create new hives from nowhere (that's why also our bootloaders do not need this function: they only load & parse existing hive files).

The fact that this hack remained caused us hidden troubles: some hives (SAM, SOFTWARE) had "two" root keys: a first one that was unused (which was created by this hackish call), and the second one which was the one used (and was created by CmpCreateLinkNode as expected).

svn path=/trunk/; revision=70575
2016-01-11 00:37:44 +00:00
Eric Kohl
4216e8389f [SCSIPORT]
Fix indentation! No code changes!

svn path=/trunk/; revision=70574
2016-01-10 22:39:25 +00:00
Hermès Bélusca-Maïto
a677879087 [NTOS:CONFIG]
- Remove useless casts.
- Fix a REG_OPTION_* hack.

svn path=/trunk/; revision=70573
2016-01-10 22:35:09 +00:00
Eric Kohl
cd9434b877 [NDK]
Add PLUGPLAY_CONTROL_RETRIEVE_DOCK_DATA.

svn path=/trunk/; revision=70572
2016-01-10 21:26:46 +00:00
Eric Kohl
b83fd18555 [INTL]
- Remove the Advanced page for non-admin users.
- Disable the 'complex script' and 'east asian language' checkboxes for non-admin users.

svn path=/trunk/; revision=70571
2016-01-10 21:12:23 +00:00
Timo Kreuzer
24c45ac2f1 [PSDK]
Add missing dbghelp.h definitions

svn path=/trunk/; revision=70570
2016-01-10 19:46:16 +00:00
Timo Kreuzer
1c0099452e [CREATESPEC]
- Implement retrieving export names from forwarders
- Add error() function to print errors
- Refactor image/symbol loading
- Fix some bugs and add some hacks, so that it compiles in out tree
- Add to build

svn path=/trunk/; revision=70569
2016-01-10 18:50:36 +00:00
Eric Kohl
3c1003aaf5 [LSASRV]
Add credential function stubs to the lsa dispatch table.

svn path=/trunk/; revision=70568
2016-01-10 13:01:29 +00:00
Eric Kohl
396b335764 [LSASRV]
Add missing exports.

svn path=/trunk/; revision=70567
2016-01-10 12:44:35 +00:00
Eric Kohl
cc8ac23992 [ADVAPI32]
Implement LsaOpenPolicySce.
[LSASRV]
Update the LsarOpenPolicySce prototype.

svn path=/trunk/; revision=70566
2016-01-10 10:27:46 +00:00
Hermès Bélusca-Maïto
1dba309628 [CMLIB][NTOS:CONFIG]
- The BaseBlock->Length member is really the size in bytes of the full hive, minus the header (base) block size.
- Remove the last remnents of the "hack of doom" aka. the one similar in magnitude to the US national debt, addendum to r61621 and r26712. The FileSize can be computed with BaseBlock->Length.

svn path=/trunk/; revision=70565
2016-01-10 02:16:39 +00:00
Hermès Bélusca-Maïto
a5ed535978 [NTOS:CONFIG]
- Use the standard "CmHive" naming (that is used in all the rest of the 'config' module) for the first parameter of CmpInitializeHive.
[CMLIB]
- Fix the order of the 'HiveFlags'/'FileType' parameters in HvInitialize (the function 'CmGetSystemControlValues' in ntoskrnl/config/cmcontrl.c got them right already).

svn path=/trunk/; revision=70564
2016-01-10 01:28:04 +00:00
Hermès Bélusca-Maïto
3182337569 [CMLIB]: Use the HvGetCell* macros where it's possible.
svn path=/trunk/; revision=70563
2016-01-09 23:50:10 +00:00
Hermès Bélusca-Maïto
c8688507db [CMLIB]: Go from 3-space indentation to 4-space.
svn path=/trunk/; revision=70562
2016-01-09 23:42:45 +00:00
Hermès Bélusca-Maïto
c55976dada [CMLIB]
- HV_BLOCK_SIZE and HBLOCK_SIZE are the same thing; prefer the newly introduced HBLOCK_SIZE define.
- Improve the HvGetCell* macros.
- Add next to the defined hive signatures what their corresponding strings are (for documentation purpose).
- Some whitespace fixes in the headers.

svn path=/trunk/; revision=70561
2016-01-09 23:15:05 +00:00
Eric Kohl
496764ad58 [DEVMGR]
Set the focus to the treeview when the main window recieves a WM_ACTIVATE message.
CORE-10769 #resolve #comment Fixed in r70560.

svn path=/trunk/; revision=70560
2016-01-09 22:22:17 +00:00
Timo Kreuzer
2a5c5c0c76 [CREATESPEC]
Small utility to auto-create spec files. Uses MS symbol server to evaluate data not available in the export table. Features:
- Parse export table for export names and forwarders
- Find function name for nameless exports
- Recognize calling convention / data exports
- Analyze function parameters

svn path=/trunk/; revision=70559
2016-01-09 19:05:14 +00:00
Hermès Bélusca-Maïto
6ed0a4c6b2 [USETUP]: Do not append an extra NULL-terminator when updating freeldr.ini
svn path=/trunk/; revision=70558
2016-01-09 11:39:56 +00:00
Hermès Bélusca-Maïto
119229c8fb [USETUP]: Since calling RtlAllocateHeap with the HEAP_ZERO_MEMORY flag works as expected, just use it instead of manually zero-out the newly-created buffer just after.
svn path=/trunk/; revision=70557
2016-01-09 11:22:20 +00:00
Alex Ionescu
9701df346f [BOOTMGFW]: Implement the final boot selection & launch loop.
[BOOTMLIB]: Implement a few more BCD option functions.
Minus a PE loader (BmpLaunchBootEntry) and some more BCD parsing (BmpGetSelectedBootEntry) with some glue in between, the UEFI Boot Manager is nearly done. Once it is, it will be time to implement the actual loader -- Winload.efi. The good news is that we'll have all of bootlib already good to go (with all its hacks). The bad news is that Winload will turn on paging, so all those unimplemented paths and UEFI mode switches will have to be made to work.

svn path=/trunk/; revision=70556
2016-01-09 05:39:18 +00:00
Hermès Bélusca-Maïto
5e7a5d0d57 [DEVMGR]: Keep the computer name as it is, don't lower-case it.
svn path=/trunk/; revision=70555
2016-01-08 21:14:13 +00:00
Hermès Bélusca-Maïto
adec9641bc [CDMAKE]: Improve an error message.
svn path=/trunk/; revision=70554
2016-01-08 20:27:55 +00:00
Hermès Bélusca-Maïto
9c232dfd4f [CDMAKE]
- #if _WIN32 --> #ifdef _WIN32
- Define the "max" macro only if needed.
- Fix a comment.
- Plug a memory leak ('case_name' not freed in the "!*case_name" case of the dir_hash_create_dir function).
- Return a non-zero value (the file structure pointer) from dir_hash_add_file in case we succeed in creating the file in the ISO structure, and NULL otherwise (i.e. when the filename is empty). In that latter case we fail the hard way. No-named files are completely invalid in ISO archives. Now, the following testcase (e.g. to be added into bootcd.lst):
reactos/reactos.exe/=C:/test/reactos.exe
fails as expected (before, we were able to create a directory named "reactos/reactos.exe", and inside, a no-named file with the contents of C:/test/reactos.exe).

svn path=/trunk/; revision=70553
2016-01-08 20:25:30 +00:00
Hermès Bélusca-Maïto
509ec7bdab [CDMAKE]
- Optimize splitting paths (merge chop_dirname and chop_filename functions).
- Make the code working as expected for the following testcases (you can test these by adding the following lines into e.g. bootcd.lst):
testdir1   --> create "testdir1" in the root directory.
testdir2/  --> create "testdir2" in the root directory. No no-named subdirectory is created.
testdir3// --> create "testdir3" in the root directory. No no-named subdirectory is created.
dir1//\/dir14///\//\//   --> create "dir1" in the root directory, and "dir14" inside dir1. No no-named subdirectory is created.
EFI/ReactOS/Boot/Fonts//chs_boot.ttf=C:/somepath/chs_boot.ttf --> create the directories "EFI/ReactOS/Boot/Fonts", no no-named subdirectory is created, and create in the Fonts directory the file "chs_boot.ttf".

Before those changes, empty no-named (therefore, invalid) subdirectories were created in the second, third and fourth testcases, and an obscure error was returned in the fifth testcase.

svn path=/trunk/; revision=70552
2016-01-08 18:43:46 +00:00
Thomas Faber
9533d5eb74 [ACPICA]
- Update to version 20160108

svn path=/trunk/; revision=70551
2016-01-08 16:41:39 +00:00
Thomas Faber
3e7cd6e646 [ACPICA]
- Actually use the BSD/GPL licensed version as we should be, instead of the Intel license

svn path=/trunk/; revision=70550
2016-01-08 16:37:52 +00:00
Hermès Bélusca-Maïto
2aa1a8c21d [BOOTMGR]: Fix missing '\r' for EfiPrintf newlines, and few misspellings.
svn path=/trunk/; revision=70549
2016-01-08 15:01:11 +00:00
7378 changed files with 243020 additions and 84242 deletions

View File

@@ -19,7 +19,7 @@ endif()
project(REACTOS)
# Versioning
include(include/reactos/version.cmake)
include(sdk/include/reactos/version.cmake)
# Don't escape preprocessor definition values added via add_definitions
cmake_policy(SET CMP0005 OLD)
@@ -98,13 +98,13 @@ if(NOT CMAKE_CROSSCOMPILING)
add_compile_flags("-fshort-wchar -Wno-multichar")
endif()
include_directories(include/host)
include_directories(sdk/include/host)
if(NOT MSVC)
add_subdirectory(dll/win32/dbghelp)
endif()
add_subdirectory(tools)
add_subdirectory(lib)
add_subdirectory(sdk/tools)
add_subdirectory(sdk/lib)
if(NOT NEW_STYLE_BUILD)
if(NOT MSVC)
@@ -227,32 +227,32 @@ else()
include(cmake/widl-support.cmake)
include_directories(
include
include/psdk
include/dxsdk
${REACTOS_BINARY_DIR}/include
${REACTOS_BINARY_DIR}/include/psdk
${REACTOS_BINARY_DIR}/include/dxsdk
${REACTOS_BINARY_DIR}/include/ddk
${REACTOS_BINARY_DIR}/include/reactos
include/crt
include/ddk
include/ndk
include/reactos
include/reactos/libs)
sdk/include
sdk/include/psdk
sdk/include/dxsdk
${REACTOS_BINARY_DIR}/sdk/include
${REACTOS_BINARY_DIR}/sdk/include/psdk
${REACTOS_BINARY_DIR}/sdk/include/dxsdk
${REACTOS_BINARY_DIR}/sdk/include/ddk
${REACTOS_BINARY_DIR}/sdk/include/reactos
sdk/include/crt
sdk/include/ddk
sdk/include/ndk
sdk/include/reactos
sdk/include/reactos/libs)
if(ARCH STREQUAL "arm")
include_directories(${REACTOS_SOURCE_DIR}/include/reactos/arm)
include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/arm)
endif()
add_dependency_header()
add_subdirectory(include/xdk)
add_subdirectory(include/psdk)
add_subdirectory(include/dxsdk)
add_subdirectory(include/reactos/wine)
add_subdirectory(include/reactos/mc)
add_subdirectory(include/asm)
add_subdirectory(sdk/include/xdk)
add_subdirectory(sdk/include/psdk)
add_subdirectory(sdk/include/dxsdk)
add_subdirectory(sdk/include/reactos/wine)
add_subdirectory(sdk/include/reactos/mc)
add_subdirectory(sdk/include/asm)
if(NO_ROSSYM)
include(cmake/baseaddress_dwarf.cmake)
@@ -271,12 +271,12 @@ else()
add_subdirectory(dll)
add_subdirectory(drivers)
add_subdirectory(hal)
add_subdirectory(lib)
add_subdirectory(sdk/lib)
add_subdirectory(media)
add_subdirectory(modules)
add_subdirectory(ntoskrnl)
add_subdirectory(subsystems)
add_subdirectory(tools/wpp)
add_subdirectory(sdk/tools/wpp)
add_subdirectory(win32ss)
# Create the registry hives
@@ -285,7 +285,7 @@ else()
# Create {bootcd, livecd, bootcdregtest}.lst
create_iso_lists()
file(MAKE_DIRECTORY ${REACTOS_BINARY_DIR}/include/reactos)
file(MAKE_DIRECTORY ${REACTOS_BINARY_DIR}/sdk/include/reactos)
add_dependency_footer()
endif()

File diff suppressed because it is too large Load Diff

View File

@@ -24,6 +24,10 @@ HICON hSmIcon;
HICON hBgIcon;
SETTINGS Settings;
/* GetUName prototype */
typedef int (WINAPI * GETUNAME)(WORD wCharCode, LPWSTR lpbuf);
GETUNAME GetUName;
/* Font-enumeration callback */
static
int
@@ -257,6 +261,20 @@ UpdateSettings(HWND hDlg)
}
#endif
VOID
UpdateStatusBar(WCHAR wch)
{
WCHAR buff[MAX_PATH];
WCHAR szDesc[MAX_PATH];
if (GetUName)
{
GetUName(wch, szDesc);
wsprintfW(buff, L"U+%04X: %s", wch, szDesc);
SendMessageW(hStatusWnd, SB_SETTEXT, 0, (LPARAM)buff);
}
}
static
void
ChangeView(HWND hWnd)
@@ -571,6 +589,7 @@ wWinMain(HINSTANCE hInst,
INT Ret = 1;
HMODULE hRichEd20;
MSG Msg;
HINSTANCE hGetUName = NULL;
hInstance = hInst;
@@ -578,6 +597,18 @@ wWinMain(HINSTANCE hInst,
iccx.dwICC = ICC_TAB_CLASSES;
InitCommonControlsEx(&iccx);
/* Loading the GetUName function */
hGetUName = LoadLibraryW(L"getuname.dll");
if (hGetUName != NULL)
{
GetUName = (GETUNAME) GetProcAddress(hGetUName, "GetUName");
if (GetUName == NULL)
{
FreeLibrary(hGetUName);
hGetUName = NULL;
}
}
if (RegisterMapClasses(hInstance))
{
hRichEd20 = LoadLibraryW(L"RICHED20.DLL");
@@ -603,5 +634,8 @@ wWinMain(HINSTANCE hInst,
UnregisterMapClasses(hInstance);
}
if (hGetUName != NULL)
FreeLibrary(hGetUName);
return Ret;
}

View File

@@ -4,18 +4,18 @@ IDD_CHARMAP DIALOGEX 6, 6, 292, 224
FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Font:", IDC_STATIC, 6, 7, 24, 9
LTEXT "&Font:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Help", IDC_CMHELP, 249, 5, 35, 13
PUSHBUTTON "&Help", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL, 20, 22, 266, 156
LTEXT "Characters to copy:", IDC_STATIC, 6, 188, 66, 9
LTEXT "Ch&aracters to copy:", IDC_STATIC, 6, 188, 66, 9
CONTROL "", IDC_TEXTBOX, RICHEDIT_CLASS, ES_AUTOHSCROLL | WS_BORDER |
WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13
DEFPUSHBUTTON "Select", IDC_SELECT, 194, 186, 44, 13
PUSHBUTTON "Copy", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
CONTROL "Advanced view", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX |
DEFPUSHBUTTON "&Select", IDC_SELECT, 194, 186, 44, 13
PUSHBUTTON "&Copy", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
CONTROL "Ad&vanced view", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX |
WS_TABSTOP, 8, 208, 95, 10
END
@@ -23,14 +23,14 @@ IDD_ADVANCED DIALOGEX 0, 0, 292, 64
STYLE DS_SHELLFONT | WS_CHILD
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Charset:", IDC_STATIC, 8, 8, 48, 8
LTEXT "Charse&t:", IDC_STATIC, 8, 8, 48, 8
COMBOBOX IDC_COMBO_CHARSET, 72, 4, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Group by:", IDC_STATIC, 8, 28, 50, 8
LTEXT "&Group by:", IDC_STATIC, 8, 28, 50, 8
COMBOBOX IDC_COMBO_GROUPBY, 72, 24, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "Search", IDC_BUTTON_SEARCH, 200, 44, 50, 14
PUSHBUTTON "Sea&rch", IDC_BUTTON_SEARCH, 200, 44, 50, 14
EDITTEXT IDC_EDIT_SEARCH, 72, 44, 116, 14, ES_AUTOHSCROLL
LTEXT "Search for:", IDC_STATIC, 8, 48, 42, 8
LTEXT "Unicode:", IDC_STATIC, 200, 8, 30, 8
LTEXT "S&earch for:", IDC_STATIC, 8, 48, 42, 8
LTEXT "&Unicode:", IDC_STATIC, 200, 8, 30, 8
EDITTEXT IDC_EDIT_UNICODE, 236, 4, 28, 12, ES_AUTOHSCROLL
END
@@ -40,7 +40,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Character Map v0.1\nCopyright (C) 2007 Ged Murphy (gedmurphy@reactos.org)", IDC_STATIC, 48, 7, 150, 36
PUSHBUTTON "Close", IDOK, 75, 162, 44, 15
PUSHBUTTON "&Close", IDOK, 75, 162, 44, 15
ICON IDI_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 194, 107, WS_VISIBLE | WS_VSCROLL |
WS_TABSTOP | ES_READONLY | ES_MULTILINE

View File

@@ -140,6 +140,7 @@ LrgCellWndProc(HWND hwnd,
EndPaint(hwnd,
&ps);
UpdateStatusBar(infoPtr->pActiveCell->ch);
break;
}

View File

@@ -74,6 +74,7 @@ BOOL RegisterMapClasses(HINSTANCE hInstance);
VOID UnregisterMapClasses(HINSTANCE hInstance);
/* charmap.c */
VOID UpdateStatusBar(WCHAR wch);
extern VOID ChangeMapFont(HWND hDlg);
/* settings.c */

View File

@@ -8,7 +8,7 @@ if(NOT MSVC)
endif()
include_directories(
${REACTOS_SOURCE_DIR}/lib/atl
${REACTOS_SOURCE_DIR}/sdk/lib/atl
includes)
list(APPEND SOURCE

View File

@@ -2,9 +2,9 @@
list(APPEND SOURCE
clipbrd.c
cliputils.c
winutils.c
fileutils.c
scrollutils.c
winutils.c
precomp.h)
add_executable(clipbrd ${SOURCE} clipbrd.rc)

View File

@@ -58,7 +58,28 @@ static void SaveClipboardToFile(void)
return;
}
WriteClipboardFile(szFileName);
WriteClipboardFile(szFileName, CLIP_FMT_NT /* CLIP_FMT_31 */);
CloseClipboard();
}
static void LoadClipboardDataFromFile(LPWSTR lpszFileName)
{
if (MessageBoxRes(Globals.hMainWnd, Globals.hInstance,
STRING_DELETE_MSG, STRING_DELETE_TITLE,
MB_ICONWARNING | MB_YESNO) != IDYES)
{
return;
}
if (!OpenClipboard(Globals.hMainWnd))
{
ShowLastWin32Error(Globals.hMainWnd);
return;
}
EmptyClipboard();
ReadClipboardFile(lpszFileName);
CloseClipboard();
}
@@ -87,19 +108,7 @@ static void LoadClipboardFromFile(void)
if (!GetOpenFileNameW(&ofn))
return;
if (!OpenClipboard(Globals.hMainWnd))
{
ShowLastWin32Error(Globals.hMainWnd);
return;
}
if (MessageBoxRes(Globals.hMainWnd, Globals.hInstance, STRING_DELETE_MSG, STRING_DELETE_TITLE, MB_ICONWARNING | MB_YESNO) == IDYES)
{
EmptyClipboard();
ReadClipboardFile(szFileName);
}
CloseClipboard();
LoadClipboardDataFromFile(szFileName);
}
static void LoadClipboardFromDrop(HDROP hDrop)
@@ -109,19 +118,7 @@ static void LoadClipboardFromDrop(HDROP hDrop)
DragQueryFileW(hDrop, 0, szFileName, ARRAYSIZE(szFileName));
DragFinish(hDrop);
if (!OpenClipboard(Globals.hMainWnd))
{
ShowLastWin32Error(Globals.hMainWnd);
return;
}
if (MessageBoxRes(Globals.hMainWnd, Globals.hInstance, STRING_DELETE_MSG, STRING_DELETE_TITLE, MB_ICONWARNING | MB_YESNO) == IDYES)
{
EmptyClipboard();
ReadClipboardFile(szFileName);
}
CloseClipboard();
LoadClipboardDataFromFile(szFileName);
}
static void SetDisplayFormat(UINT uFormat)
@@ -169,7 +166,7 @@ static void InitMenuPopup(HMENU hMenu, LPARAM index)
DrawMenuBar(Globals.hMainWnd);
}
void UpdateDisplayMenu(void)
static void UpdateDisplayMenu(void)
{
UINT uFormat;
WCHAR szFormatName[MAX_FMT_NAME_LEN + 1];
@@ -193,7 +190,7 @@ void UpdateDisplayMenu(void)
uFormat = EnumClipboardFormats(0);
while (uFormat)
{
RetrieveClipboardFormatName(Globals.hInstance, uFormat, szFormatName, ARRAYSIZE(szFormatName));
RetrieveClipboardFormatName(Globals.hInstance, uFormat, TRUE, szFormatName, ARRAYSIZE(szFormatName));
if (!IsClipboardFormatSupported(uFormat))
{
@@ -234,10 +231,14 @@ static int ClipboardCommandHandler(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM l
case CMD_DELETE:
{
if (MessageBoxRes(Globals.hMainWnd, Globals.hInstance, STRING_DELETE_MSG, STRING_DELETE_TITLE, MB_ICONWARNING | MB_YESNO) == IDYES)
if (MessageBoxRes(Globals.hMainWnd, Globals.hInstance,
STRING_DELETE_MSG, STRING_DELETE_TITLE,
MB_ICONWARNING | MB_YESNO) != IDYES)
{
DeleteClipboardContent();
break;
}
DeleteClipboardContent();
break;
}
@@ -258,7 +259,7 @@ static int ClipboardCommandHandler(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM l
WCHAR szTitle[MAX_STRING_LEN];
HICON hIcon;
hIcon = LoadIconW(Globals.hInstance, MAKEINTRESOURCE(CLIP_ICON));
hIcon = LoadIconW(Globals.hInstance, MAKEINTRESOURCE(CLIPBRD_ICON));
LoadStringW(Globals.hInstance, STRING_CLIPBOARD, szTitle, ARRAYSIZE(szTitle));
ShellAboutW(Globals.hMainWnd, szTitle, 0, hIcon);
DeleteObject(hIcon);
@@ -279,10 +280,8 @@ static void ClipboardPaintHandler(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lP
PAINTSTRUCT ps;
RECT rc;
if (!OpenClipboard(NULL))
{
if (!OpenClipboard(Globals.hMainWnd))
return;
}
hdc = BeginPaint(hWnd, &ps);
GetClientRect(hWnd, &rc);
@@ -318,18 +317,18 @@ static void ClipboardPaintHandler(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lP
break;
}
case CF_ENHMETAFILE:
{
PlayEnhMetaFileFromClipboard(hdc, &rc);
break;
}
case CF_METAFILEPICT:
{
PlayMetaFileFromClipboard(hdc, &rc);
break;
}
case CF_ENHMETAFILE:
{
PlayEnhMetaFileFromClipboard(hdc, &rc);
break;
}
default:
{
DrawTextFromResource(Globals.hInstance, ERROR_UNSUPPORTED_FORMAT, hdc, &rc, DT_CENTER | DT_WORDBREAK | DT_NOPREFIX);
@@ -346,6 +345,28 @@ static LRESULT WINAPI MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lP
{
switch(uMsg)
{
case WM_CREATE:
{
Globals.hMenu = GetMenu(hWnd);
Globals.hWndNext = SetClipboardViewer(hWnd);
UpdateDisplayMenu();
SetDisplayFormat(0);
break;
}
case WM_CLOSE:
{
DestroyWindow(hWnd);
break;
}
case WM_DESTROY:
{
ChangeClipboardChain(hWnd, Globals.hWndNext);
PostQuitMessage(0);
break;
}
case WM_PAINT:
{
ClipboardPaintHandler(hWnd, uMsg, wParam, lParam);
@@ -395,28 +416,6 @@ static LRESULT WINAPI MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lP
break;
}
case WM_CREATE:
{
Globals.hMenu = GetMenu(hWnd);
Globals.hWndNext = SetClipboardViewer(hWnd);
UpdateDisplayMenu();
SetDisplayFormat(0);
break;
}
case WM_CLOSE:
{
DestroyWindow(hWnd);
break;
}
case WM_DESTROY:
{
ChangeClipboardChain(hWnd, Globals.hWndNext);
PostQuitMessage(0);
break;
}
case WM_CHANGECBCHAIN:
{
if ((HWND)wParam == Globals.hWndNext)
@@ -534,7 +533,7 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLi
wndclass.cbSize = sizeof(wndclass);
wndclass.lpfnWndProc = MainWndProc;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIconW(hInstance, MAKEINTRESOURCEW(CLIP_ICON));
wndclass.hIcon = LoadIconW(hInstance, MAKEINTRESOURCEW(CLIPBRD_ICON));
wndclass.hCursor = LoadCursorW(0, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wndclass.lpszMenuName = MAKEINTRESOURCEW(MAIN_MENU);
@@ -574,6 +573,10 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLi
ShowLastWin32Error(Globals.hMainWnd);
}
/* If the user provided a path to a clipboard data file, try to open it */
if (lpCmdLine != NULL && *lpCmdLine)
LoadClipboardDataFromFile(lpCmdLine);
UpdateLinesToScroll();
while (GetMessageW(&msg, 0, 0, 0))

View File

@@ -8,7 +8,8 @@
#define REACTOS_STR_ORIGINAL_FILENAME "clipbrd.exe"
#include <reactos/version.rc>
CLIP_ICON ICON "res/clipbrd.ico"
CLIPBRD_ICON ICON "res/clipbrd.ico"
CLPFILE_ICON ICON "res/clpfile.ico"
#include <reactos/manifest_exe.rc>

View File

@@ -8,73 +8,61 @@
#include "precomp.h"
int GetPredefinedClipboardFormatName(HINSTANCE hInstance, UINT uFormat, LPWSTR lpszFormat, UINT cch)
static int
GetPredefinedClipboardFormatName(HINSTANCE hInstance,
UINT uFormat,
BOOL Unicode,
PVOID lpszFormat,
UINT cch)
{
static
struct FORMAT_NAME
{
UINT uFormat;
UINT uResID;
} uFormatList[] = {
/* Table sorted in increasing order of CF_xxx values, please keep it this way! */
{CF_TEXT , STRING_CF_TEXT }, // 1
{CF_BITMAP , STRING_CF_BITMAP }, // 2
{CF_METAFILEPICT, STRING_CF_METAFILEPICT}, // 3
{CF_SYLK , STRING_CF_SYLK }, // 4
{CF_DIF , STRING_CF_DIF }, // 5
{CF_TIFF , 0/*STRING_CF_TIFF*/ }, // 6
{CF_OEMTEXT , STRING_CF_OEMTEXT }, // 7
{CF_DIB , STRING_CF_DIB }, // 8
{CF_PALETTE , STRING_CF_PALETTE }, // 9
{CF_PENDATA , 0/*STRING_CF_PENDATA*/ }, // 10
{CF_RIFF , 0/*STRING_CF_RIFF*/ }, // 11
{CF_WAVE , 0/*STRING_CF_WAVE*/ }, // 12
{CF_UNICODETEXT , STRING_CF_UNICODETEXT }, // 13
{CF_ENHMETAFILE , STRING_CF_ENHMETAFILE }, // 14
#if(WINVER >= 0x0400)
{CF_HDROP , STRING_CF_HDROP }, // 15
{CF_LOCALE , STRING_CF_LOCALE }, // 16
#endif
#if(WINVER >= 0x0500)
{CF_DIBV5 , STRING_CF_DIBV5 }, // 17
#endif
};
switch (uFormat)
{
case CF_TEXT:
{
return LoadStringW(hInstance, STRING_CF_TEXT, lpszFormat, cch);
}
case CF_BITMAP:
{
return LoadStringW(hInstance, STRING_CF_BITMAP, lpszFormat, cch);
}
case CF_OEMTEXT:
{
return LoadStringW(hInstance, STRING_CF_OEMTEXT, lpszFormat, cch);
}
case CF_UNICODETEXT:
{
return LoadStringW(hInstance, STRING_CF_UNICODETEXT, lpszFormat, cch);
}
case CF_DIB:
{
return LoadStringW(hInstance, STRING_CF_DIB, lpszFormat, cch);
}
case CF_LOCALE:
{
return LoadStringW(hInstance, STRING_CF_LOCALE, lpszFormat, cch);
}
case CF_ENHMETAFILE:
{
return LoadStringW(hInstance, STRING_CF_ENHMETAFILE, lpszFormat, cch);
}
case CF_METAFILEPICT:
{
return LoadStringW(hInstance, STRING_CF_METAFILEPICT, lpszFormat, cch);
}
case CF_PALETTE:
{
return LoadStringW(hInstance, STRING_CF_PALETTE, lpszFormat, cch);
}
case CF_TEXT: case CF_BITMAP: case CF_METAFILEPICT:
case CF_SYLK: case CF_DIF: // case CF_TIFF:
case CF_OEMTEXT: case CF_DIB: case CF_PALETTE:
// case CF_PENDATA: // case CF_RIFF: // case CF_WAVE:
case CF_UNICODETEXT: case CF_ENHMETAFILE:
#if(WINVER >= 0x0400)
case CF_HDROP: case CF_LOCALE:
#endif
#if(WINVER >= 0x0500)
case CF_DIBV5:
#endif
{
return LoadStringW(hInstance, STRING_CF_DIBV5, lpszFormat, cch);
}
case CF_SYLK:
{
return LoadStringW(hInstance, STRING_CF_SYLK, lpszFormat, cch);
}
case CF_DIF:
{
return LoadStringW(hInstance, STRING_CF_DIF, lpszFormat, cch);
}
case CF_HDROP:
{
return LoadStringW(hInstance, STRING_CF_HDROP, lpszFormat, cch);
if (Unicode)
return LoadStringW(hInstance, uFormatList[uFormat-1].uResID, (LPWSTR)lpszFormat, cch);
else
return LoadStringA(hInstance, uFormatList[uFormat-1].uResID, (LPSTR)lpszFormat, cch);
}
default:
@@ -84,13 +72,24 @@ int GetPredefinedClipboardFormatName(HINSTANCE hInstance, UINT uFormat, LPWSTR l
}
}
void RetrieveClipboardFormatName(HINSTANCE hInstance, UINT uFormat, LPWSTR lpszFormat, UINT cch)
void
RetrieveClipboardFormatName(HINSTANCE hInstance,
UINT uFormat,
BOOL Unicode,
PVOID lpszFormat,
UINT cch)
{
if (!GetPredefinedClipboardFormatName(hInstance, uFormat, lpszFormat, cch))
if (!GetPredefinedClipboardFormatName(hInstance, uFormat, Unicode, lpszFormat, cch))
{
if (!GetClipboardFormatName(uFormat, lpszFormat, cch))
if (Unicode)
{
LoadStringW(hInstance, STRING_CF_UNKNOWN, lpszFormat, cch);
if (!GetClipboardFormatNameW(uFormat, (LPWSTR)lpszFormat, cch))
LoadStringW(hInstance, STRING_CF_UNKNOWN, (LPWSTR)lpszFormat, cch);
}
else
{
if (!GetClipboardFormatNameA(uFormat, (LPSTR)lpszFormat, cch))
LoadStringA(hInstance, STRING_CF_UNKNOWN, (LPSTR)lpszFormat, cch);
}
}
}

View File

@@ -6,8 +6,13 @@
* PROGRAMMERS: Ricardo Hanke
*/
int GetPredefinedClipboardFormatName(HINSTANCE hInstance, UINT uFormat, LPWSTR lpszFormat, UINT cch);
void RetrieveClipboardFormatName(HINSTANCE hInstance, UINT uFormat, LPWSTR lpszFormat, UINT cch);
void
RetrieveClipboardFormatName(HINSTANCE hInstance,
UINT uFormat,
BOOL Unicode,
PVOID lpszFormat,
UINT cch);
void DeleteClipboardContent(void);
UINT GetAutomaticClipboardFormat(void);
BOOL IsClipboardFormatSupported(UINT uFormat);

View File

@@ -4,6 +4,7 @@
* FILE: base/applications/clipbrd/fileutils.c
* PURPOSE: Clipboard file format helper functions.
* PROGRAMMERS: Ricardo Hanke
* Hermes Belusca-Maito
*/
#include "precomp.h"
@@ -16,9 +17,7 @@ static HGLOBAL ClipboardReadMemoryBlock(HANDLE hFile, DWORD dwOffset, DWORD dwLe
hData = GlobalAlloc(GHND, dwLength);
if (!hData)
{
return NULL;
}
lpData = GlobalLock(hData);
if (!lpData)
@@ -46,20 +45,22 @@ static HGLOBAL ClipboardReadMemoryBlock(HANDLE hFile, DWORD dwOffset, DWORD dwLe
return hData;
}
static BOOL ClipboardReadMemory(HANDLE hFile, DWORD dwFormat, DWORD dwOffset, DWORD dwLength, LPCWSTR lpFormatName)
static BOOL ClipboardReadMemory(HANDLE hFile, DWORD dwFormat, DWORD dwOffset, DWORD dwLength, WORD FileIdentifier, PVOID lpFormatName)
{
HGLOBAL hData;
DWORD dwTemp;
DWORD dwTemp = 0;
hData = ClipboardReadMemoryBlock(hFile, dwOffset, dwLength);
if (!hData)
{
return FALSE;
}
if ((dwFormat >= 0xC000) && (dwFormat <= 0xFFFF))
{
dwTemp = RegisterClipboardFormatW(lpFormatName);
if (FileIdentifier == CLIP_FMT_31)
dwTemp = RegisterClipboardFormatA((LPCSTR)lpFormatName);
else if ((FileIdentifier == CLIP_FMT_NT) || (FileIdentifier == CLIP_FMT_BK))
dwTemp = RegisterClipboardFormatW((LPCWSTR)lpFormatName);
if (!dwTemp)
{
GlobalFree(hData);
@@ -80,6 +81,39 @@ static BOOL ClipboardReadMemory(HANDLE hFile, DWORD dwFormat, DWORD dwOffset, DW
return TRUE;
}
static BOOL ClipboardWriteMemory(HANDLE hFile, DWORD dwFormat, DWORD dwOffset, PDWORD pdwLength)
{
HGLOBAL hData;
LPVOID lpData;
DWORD dwBytesWritten;
hData = GetClipboardData(dwFormat);
if (!hData)
return FALSE;
lpData = GlobalLock(hData);
if (!lpData)
return FALSE;
*pdwLength = GlobalSize(hData);
if (SetFilePointer(hFile, dwOffset, NULL, FILE_BEGIN) == INVALID_SET_FILE_POINTER)
{
GlobalUnlock(hData);
return FALSE;
}
if (!WriteFile(hFile, lpData, *pdwLength, &dwBytesWritten, NULL))
{
GlobalUnlock(hData);
return FALSE;
}
GlobalUnlock(hData);
return TRUE;
}
static BOOL ClipboardReadPalette(HANDLE hFile, DWORD dwOffset, DWORD dwLength)
{
LPLOGPALETTE lpPalette;
@@ -120,6 +154,45 @@ static BOOL ClipboardReadPalette(HANDLE hFile, DWORD dwOffset, DWORD dwLength)
return TRUE;
}
static BOOL ClipboardReadMetafile(HANDLE hFile, DWORD dwOffset, DWORD dwLength)
{
HMETAFILE hMf;
HGLOBAL hData;
LPVOID lpData;
hData = ClipboardReadMemoryBlock(hFile, dwOffset, dwLength);
if (!hData)
{
return FALSE;
}
lpData = GlobalLock(hData);
if (!lpData)
{
GlobalFree(hData);
return FALSE;
}
hMf = SetMetaFileBitsEx(dwLength, lpData);
GlobalUnlock(hData);
GlobalFree(hData);
if (!hMf)
{
SetLastError(ERROR_OUTOFMEMORY);
return FALSE;
}
if (!SetClipboardData(CF_METAFILEPICT, hMf))
{
DeleteMetaFile(hMf);
return FALSE;
}
return TRUE;
}
static BOOL ClipboardReadEnhMetafile(HANDLE hFile, DWORD dwOffset, DWORD dwLength)
{
HENHMETAFILE hEmf;
@@ -202,53 +275,126 @@ static BOOL ClipboardReadBitmap(HANDLE hFile, DWORD dwOffset, DWORD dwLength)
void ReadClipboardFile(LPCWSTR lpFileName)
{
CLIPBOARDFILEHEADER cfhFileHeader;
CLIPBOARDFORMATHEADER *cfhFormatArray = NULL;
CLIPFILEHEADER ClipFileHeader;
CLIPFORMATHEADER ClipFormatArray;
NTCLIPFILEHEADER NtClipFileHeader;
NTCLIPFORMATHEADER NtClipFormatArray;
PVOID pClipFileHeader;
PVOID pClipFormatArray;
DWORD SizeOfFileHeader, SizeOfFormatHeader;
WORD wFileIdentifier;
WORD wFormatCount;
DWORD dwFormatID;
DWORD dwLenData;
DWORD dwOffData;
PVOID szName;
HANDLE hFile;
DWORD dwBytesRead;
BOOL bResult;
int i;
hFile = CreateFileW(lpFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
/* Open the file for read access */
hFile = CreateFileW(lpFileName, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
ShowLastWin32Error(Globals.hMainWnd);
goto done;
}
if (!ReadFile(hFile, &cfhFileHeader, sizeof(cfhFileHeader), &dwBytesRead, NULL))
/* Just read enough bytes to get the clipboard file format ID */
if (!ReadFile(hFile, &wFileIdentifier, sizeof(wFileIdentifier), &dwBytesRead, NULL))
{
ShowLastWin32Error(Globals.hMainWnd);
goto done;
}
if ((cfhFileHeader.wFileIdentifier != CLIPBOARD_FORMAT_NT) && (cfhFileHeader.wFileIdentifier != CLIPBOARD_FORMAT_BK))
/* Set data according to the clipboard file format ID */
switch (wFileIdentifier)
{
MessageBoxRes(Globals.hMainWnd, Globals.hInstance, ERROR_INVALID_FILE_FORMAT, 0, MB_ICONSTOP | MB_OK);
goto done;
case CLIP_FMT_31:
SizeOfFileHeader = sizeof(CLIPFILEHEADER);
SizeOfFormatHeader = sizeof(CLIPFORMATHEADER);
pClipFileHeader = &ClipFileHeader;
pClipFormatArray = &ClipFormatArray;
break;
case CLIP_FMT_NT:
case CLIP_FMT_BK:
SizeOfFileHeader = sizeof(NTCLIPFILEHEADER);
SizeOfFormatHeader = sizeof(NTCLIPFORMATHEADER);
pClipFileHeader = &NtClipFileHeader;
pClipFormatArray = &NtClipFormatArray;
break;
default:
MessageBoxRes(Globals.hMainWnd, Globals.hInstance, ERROR_INVALID_FILE_FORMAT, 0, MB_ICONSTOP | MB_OK);
goto done;
}
cfhFormatArray = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, cfhFileHeader.wFormatCount * sizeof(CLIPBOARDFORMATHEADER));
if (!cfhFormatArray)
{
SetLastError(ERROR_OUTOFMEMORY);
ShowLastWin32Error(Globals.hMainWnd);
goto done;
}
if (!ReadFile(hFile, cfhFormatArray, cfhFileHeader.wFormatCount * sizeof(CLIPBOARDFORMATHEADER), &dwBytesRead, NULL))
/* Completely read the header */
SetFilePointer(hFile, 0, NULL, FILE_BEGIN);
if (!ReadFile(hFile, pClipFileHeader, SizeOfFileHeader, &dwBytesRead, NULL) ||
dwBytesRead != SizeOfFileHeader)
{
ShowLastWin32Error(Globals.hMainWnd);
goto done;
}
for (i = 0; i < cfhFileHeader.wFormatCount; i++)
/* Get header data */
switch (wFileIdentifier)
{
switch (cfhFormatArray[i].dwFormatID)
case CLIP_FMT_31:
assert(wFileIdentifier == ((CLIPFILEHEADER*)pClipFileHeader)->wFileIdentifier);
wFormatCount = ((CLIPFILEHEADER*)pClipFileHeader)->wFormatCount;
break;
case CLIP_FMT_NT:
case CLIP_FMT_BK:
assert(wFileIdentifier == ((NTCLIPFILEHEADER*)pClipFileHeader)->wFileIdentifier);
wFormatCount = ((NTCLIPFILEHEADER*)pClipFileHeader)->wFormatCount;
break;
}
/* Loop through the format data array */
for (i = 0; i < wFormatCount; i++)
{
if (SetFilePointer(hFile, SizeOfFileHeader + i * SizeOfFormatHeader, NULL, FILE_BEGIN) == INVALID_SET_FILE_POINTER)
{
ShowLastWin32Error(Globals.hMainWnd);
goto done;
}
if (!ReadFile(hFile, pClipFormatArray, SizeOfFormatHeader, &dwBytesRead, NULL))
{
ShowLastWin32Error(Globals.hMainWnd);
goto done;
}
/* Get format data */
switch (wFileIdentifier)
{
case CLIP_FMT_31:
dwFormatID = ((CLIPFORMATHEADER*)pClipFormatArray)->dwFormatID;
dwLenData = ((CLIPFORMATHEADER*)pClipFormatArray)->dwLenData;
dwOffData = ((CLIPFORMATHEADER*)pClipFormatArray)->dwOffData;
szName = ((CLIPFORMATHEADER*)pClipFormatArray)->szName;
break;
case CLIP_FMT_NT:
case CLIP_FMT_BK:
dwFormatID = ((NTCLIPFORMATHEADER*)pClipFormatArray)->dwFormatID;
dwLenData = ((NTCLIPFORMATHEADER*)pClipFormatArray)->dwLenData;
dwOffData = ((NTCLIPFORMATHEADER*)pClipFormatArray)->dwOffData;
szName = ((NTCLIPFORMATHEADER*)pClipFormatArray)->szName;
break;
}
switch (dwFormatID)
{
case CF_OWNERDISPLAY:
case CF_DSPMETAFILEPICT:
case CF_METAFILEPICT:
{
break;
}
@@ -256,55 +402,191 @@ void ReadClipboardFile(LPCWSTR lpFileName)
case CF_BITMAP:
case CF_DSPBITMAP:
{
bResult = ClipboardReadBitmap(hFile, cfhFormatArray[i].dwOffData, cfhFormatArray[i].dwLenData);
bResult = ClipboardReadBitmap(hFile, dwOffData, dwLenData);
break;
}
case CF_DSPENHMETAFILE:
case CF_ENHMETAFILE:
case CF_METAFILEPICT:
case CF_DSPMETAFILEPICT:
{
bResult = ClipboardReadEnhMetafile(hFile, cfhFormatArray[i].dwOffData, cfhFormatArray[i].dwLenData);
bResult = ClipboardReadMetafile(hFile, dwOffData, dwLenData);
break;
}
case CF_ENHMETAFILE:
case CF_DSPENHMETAFILE:
{
bResult = ClipboardReadEnhMetafile(hFile, dwOffData, dwLenData);
break;
}
case CF_PALETTE:
{
bResult = ClipboardReadPalette(hFile, cfhFormatArray[i].dwOffData, cfhFormatArray[i].dwLenData);
bResult = ClipboardReadPalette(hFile, dwOffData, dwLenData);
break;
}
default:
{
if ((cfhFormatArray[i].dwFormatID < CF_PRIVATEFIRST) || (cfhFormatArray[i].dwFormatID > CF_PRIVATELAST))
if ((dwFormatID < CF_PRIVATEFIRST) || (dwFormatID > CF_PRIVATELAST))
{
bResult = ClipboardReadMemory(hFile, cfhFormatArray[i].dwFormatID, cfhFormatArray[i].dwOffData, cfhFormatArray[i].dwLenData, cfhFormatArray[i].szName);
bResult = ClipboardReadMemory(hFile, dwFormatID, dwOffData, dwLenData, wFileIdentifier, szName);
}
break;
}
}
if (!bResult)
{
ShowLastWin32Error(Globals.hMainWnd);
}
}
done:
if (hFile != INVALID_HANDLE_VALUE)
{
CloseHandle(hFile);
}
if (cfhFormatArray)
{
HeapFree(GetProcessHeap(), 0, cfhFormatArray);
}
return;
}
void WriteClipboardFile(LPCWSTR lpFileName)
void WriteClipboardFile(LPCWSTR lpFileName, WORD wFileIdentifier)
{
MessageBoxW(Globals.hMainWnd, L"This function is currently not implemented.", L"Clipboard", MB_OK | MB_ICONINFORMATION);
CLIPFILEHEADER ClipFileHeader;
CLIPFORMATHEADER ClipFormatArray;
NTCLIPFILEHEADER NtClipFileHeader;
NTCLIPFORMATHEADER NtClipFormatArray;
PVOID pClipFileHeader;
PVOID pClipFormatArray;
DWORD SizeOfFileHeader, SizeOfFormatHeader;
WORD wFormatCount;
DWORD dwFormatID;
DWORD dwLenData;
DWORD dwOffData;
// PVOID szName;
HANDLE hFile;
DWORD dwBytesWritten;
int i;
/* Create the file for write access */
hFile = CreateFileW(lpFileName, GENERIC_WRITE, 0, NULL,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
ShowLastWin32Error(Globals.hMainWnd);
goto done;
}
wFormatCount = CountClipboardFormats();
/* Select the file format and setup the header according to the clipboard file format ID */
switch (wFileIdentifier)
{
case CLIP_FMT_31:
SizeOfFileHeader = sizeof(CLIPFILEHEADER);
SizeOfFormatHeader = sizeof(CLIPFORMATHEADER);
pClipFileHeader = &ClipFileHeader;
pClipFormatArray = &ClipFormatArray;
ClipFileHeader.wFileIdentifier = CLIP_FMT_31; // wFileIdentifier
ClipFileHeader.wFormatCount = wFormatCount;
break;
case CLIP_FMT_NT:
case CLIP_FMT_BK:
SizeOfFileHeader = sizeof(NTCLIPFILEHEADER);
SizeOfFormatHeader = sizeof(NTCLIPFORMATHEADER);
pClipFileHeader = &NtClipFileHeader;
pClipFormatArray = &NtClipFormatArray;
NtClipFileHeader.wFileIdentifier = CLIP_FMT_NT; // wFileIdentifier
NtClipFileHeader.wFormatCount = wFormatCount;
break;
default:
MessageBoxRes(Globals.hMainWnd, Globals.hInstance, ERROR_INVALID_FILE_FORMAT, 0, MB_ICONSTOP | MB_OK);
goto done;
}
/* Write the header */
SetFilePointer(hFile, 0, NULL, FILE_BEGIN);
if (!WriteFile(hFile, pClipFileHeader, SizeOfFileHeader, &dwBytesWritten, NULL) ||
dwBytesWritten != SizeOfFileHeader)
{
ShowLastWin32Error(Globals.hMainWnd);
goto done;
}
/* Compute where the data should start (after the file header and the format array) */
dwOffData = SizeOfFileHeader + wFormatCount * SizeOfFormatHeader;
/* Loop through each format and save the data */
i = 0;
dwFormatID = EnumClipboardFormats(0);
while (dwFormatID)
{
if (i >= wFormatCount)
{
/* Must never happen! */
assert(FALSE);
break;
}
/* Write the clipboard data at the specified offset, and retrieve its length */
if (!ClipboardWriteMemory(hFile, dwFormatID, dwOffData, &dwLenData))
goto Cont;
/* Write the format data header */
switch (wFileIdentifier)
{
case CLIP_FMT_31:
ZeroMemory(pClipFormatArray, sizeof(CLIPFORMATHEADER));
((CLIPFORMATHEADER*)pClipFormatArray)->dwFormatID = dwFormatID;
((CLIPFORMATHEADER*)pClipFormatArray)->dwLenData = dwLenData;
((CLIPFORMATHEADER*)pClipFormatArray)->dwOffData = dwOffData;
RetrieveClipboardFormatName(Globals.hInstance,
dwFormatID,
FALSE,
((CLIPFORMATHEADER*)pClipFormatArray)->szName,
ARRAYSIZE(((CLIPFORMATHEADER*)pClipFormatArray)->szName));
break;
case CLIP_FMT_NT:
case CLIP_FMT_BK:
ZeroMemory(pClipFormatArray, sizeof(NTCLIPFORMATHEADER));
((NTCLIPFORMATHEADER*)pClipFormatArray)->dwFormatID = dwFormatID;
((NTCLIPFORMATHEADER*)pClipFormatArray)->dwLenData = dwLenData;
((NTCLIPFORMATHEADER*)pClipFormatArray)->dwOffData = dwOffData;
RetrieveClipboardFormatName(Globals.hInstance,
dwFormatID,
TRUE,
((NTCLIPFORMATHEADER*)pClipFormatArray)->szName,
ARRAYSIZE(((NTCLIPFORMATHEADER*)pClipFormatArray)->szName));
break;
}
if (SetFilePointer(hFile, SizeOfFileHeader + i * SizeOfFormatHeader, NULL, FILE_BEGIN) == INVALID_SET_FILE_POINTER)
{
ShowLastWin32Error(Globals.hMainWnd);
goto done;
}
if (!WriteFile(hFile, pClipFormatArray, SizeOfFormatHeader, &dwBytesWritten, NULL))
{
ShowLastWin32Error(Globals.hMainWnd);
goto done;
}
/* Adjust the offset for the next data stream */
dwOffData += dwLenData;
Cont:
i++;
dwFormatID = EnumClipboardFormats(dwFormatID);
}
done:
if (hFile != INVALID_HANDLE_VALUE)
CloseHandle(hFile);
return;
}

View File

@@ -4,26 +4,49 @@
* FILE: base/applications/clipbrd/fileutils.h
* PURPOSE: Clipboard file format helper functions.
* PROGRAMMERS: Ricardo Hanke
* Hermes Belusca-Maito
*/
#define CLIPBOARD_FORMAT_31 0xC350
#define CLIPBOARD_FORMAT_NT 0xC351
#define CLIPBOARD_FORMAT_BK 0xC352
#define CLIP_FMT_31 0xC350
#define CLIP_FMT_NT 0xC351
#define CLIP_FMT_BK 0xC352
#define MAX_FMT_NAME_LEN 79
typedef struct _CLIPBOARDFILEHEADER
/*
* Win3.1 Clipboard File Format (default)
*/
#pragma pack(push, 1)
typedef struct _CLIPFILEHEADER
{
WORD wFileIdentifier;
WORD wFormatCount;
} CLIPBOARDFILEHEADER;
} CLIPFILEHEADER;
typedef struct _CLIPBOARDFORMATHEADER
typedef struct _CLIPFORMATHEADER
{
WORD dwFormatID;
DWORD dwLenData;
DWORD dwOffData;
CHAR szName[MAX_FMT_NAME_LEN];
} CLIPFORMATHEADER;
#pragma pack(pop)
/*
* NT Clipboard File Format
*/
typedef struct _NTCLIPFILEHEADER
{
WORD wFileIdentifier;
WORD wFormatCount;
} NTCLIPFILEHEADER;
typedef struct _NTCLIPFORMATHEADER
{
DWORD dwFormatID;
DWORD dwLenData;
DWORD dwOffData;
WCHAR szName[MAX_FMT_NAME_LEN];
} CLIPBOARDFORMATHEADER;
} NTCLIPFORMATHEADER;
void ReadClipboardFile(LPCWSTR lpFileName);
void WriteClipboardFile(LPCWSTR lpFileName);
void WriteClipboardFile(LPCWSTR lpFileName, WORD wFileIdentifier);

View File

@@ -32,7 +32,8 @@ END
STRINGTABLE
BEGIN
STRING_CLIPBOARD "Zwischenablage"
STRING_CLIPBOARD "Clipboard Viewer"
STRING_CLIPFILE "Clipboard Element"
STRING_DELETE_MSG "Soll der Inhalt der Zwischenablage gelöscht werden?"
STRING_DELETE_TITLE "Zwischenablage löschen"
STRING_FORMAT_NT "Zwischenablagedateien für ReactOS (*.clp)"

View File

@@ -32,7 +32,8 @@ END
STRINGTABLE
BEGIN
STRING_CLIPBOARD "Clipboard"
STRING_CLIPBOARD "Clipboard Viewer"
STRING_CLIPFILE "Clipboard Element"
STRING_DELETE_MSG "Clear contents of the Clipboard?"
STRING_DELETE_TITLE "Clear Clipboard"
STRING_FORMAT_NT "Clipboard files for ReactOS (*.clp)"

View File

@@ -34,7 +34,8 @@ END
STRINGTABLE
BEGIN
STRING_CLIPBOARD "Portapapeles"
STRING_CLIPBOARD "Clipboard Viewer"
STRING_CLIPFILE "Clipboard Element"
STRING_DELETE_MSG "¿Borrar contenidos del Portapapeles?"
STRING_DELETE_TITLE "Vaciar Portapapeles"
STRING_FORMAT_NT "Archivos de Portapapeles de ReactOS (*.clp)"

View File

@@ -18,7 +18,7 @@ BEGIN
BEGIN
MENUITEM "&Supprimer\tSuppr", CMD_DELETE
END
POPUP "&Affichage"
POPUP "Affic&hage"
BEGIN
MENUITEM "&Automatique", CMD_AUTOMATIC
END
@@ -32,7 +32,8 @@ END
STRINGTABLE
BEGIN
STRING_CLIPBOARD "Presse-papiers"
STRING_CLIPBOARD "Visionneuse du Presse-papiers"
STRING_CLIPFILE "Élément du Presse-papiers"
STRING_DELETE_MSG "Voulez-vous effacer le contenu du Presse-papiers ?"
STRING_DELETE_TITLE "Effacer le Presse-papiers"
STRING_FORMAT_NT "Fichiers du Presse-papiers ReactOS (*.clp)"

View File

@@ -33,7 +33,8 @@ END
STRINGTABLE
BEGIN
STRING_CLIPBOARD "Clipboard"
STRING_CLIPBOARD "Clipboard Viewer"
STRING_CLIPFILE "Clipboard Element"
STRING_DELETE_MSG "Elimină conținutul din Clipboard?"
STRING_DELETE_TITLE "Curăță Clipboard"
STRING_FORMAT_NT "Fișiere clipboard pentru ReactOS (*.clp)"

View File

@@ -1,4 +1,4 @@
/* TRANSLATOR: 2015 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */
/* TRANSLATOR: 2015, 2016 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
@@ -34,7 +34,8 @@ END
STRINGTABLE
BEGIN
STRING_CLIPBOARD "Pano"
STRING_CLIPBOARD "Pano Görüntüleyicisi"
STRING_CLIPFILE "Pano Öğesi"
STRING_DELETE_MSG "Pano içeriğini sil?"
STRING_DELETE_TITLE "Pano Sil"
STRING_FORMAT_NT "ReactOS İçin Pano Kütükleri (*.clp)"

View File

@@ -34,7 +34,8 @@ END
STRINGTABLE
BEGIN
STRING_CLIPBOARD "剪贴板"
STRING_CLIPBOARD "剪贴板查看程序"
STRING_CLIPFILE "剪贴板上的元素"
STRING_DELETE_MSG "清除剪贴板的内容吗?"
STRING_DELETE_TITLE "清除剪贴板"
STRING_FORMAT_NT "ReactOS 的剪贴板文件 (*.clp)"

View File

@@ -34,7 +34,8 @@ END
STRINGTABLE
BEGIN
STRING_CLIPBOARD "剪貼簿"
STRING_CLIPBOARD "剪貼簿查看程式"
STRING_CLIPFILE "剪貼簿上的元素"
STRING_DELETE_MSG "清除剪貼簿的內容嗎?"
STRING_DELETE_TITLE "清除剪貼簿"
STRING_FORMAT_NT "ReactOS 的剪貼簿檔案 (*.clp)"

View File

@@ -5,6 +5,8 @@
#include <limits.h>
#include <assert.h>
#include <windef.h>
#include <winbase.h>
#include <winuser.h>

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -1,38 +1,40 @@
#pragma once
#define MAIN_MENU 100
#define CLIP_ICON 101
#define ID_ACCEL 102
#define CLIPBRD_ICON 100
#define CLPFILE_ICON 101
#define MAIN_MENU 102
#define ID_ACCEL 103
#define CMD_OPEN 100
#define CMD_SAVE_AS 101
#define CMD_EXIT 102
#define CMD_DELETE 103
#define CMD_HELP 105
#define CMD_ABOUT 106
#define CMD_OPEN 110
#define CMD_SAVE_AS 111
#define CMD_EXIT 112
#define CMD_DELETE 113
#define CMD_HELP 115
#define CMD_ABOUT 116
#define CMD_AUTOMATIC 1000
#define STRING_CLIPBOARD 100
#define STRING_DELETE_MSG 101
#define STRING_DELETE_TITLE 102
#define STRING_FORMAT_NT 103
#define STRING_FORMAT_GEN 104
#define STRING_CLIPBOARD 120
#define STRING_CLIPFILE 121
#define STRING_DELETE_MSG 123
#define STRING_DELETE_TITLE 124
#define STRING_FORMAT_NT 125
#define STRING_FORMAT_GEN 126
#define STRING_CF_UNKNOWN 200
#define STRING_CF_TEXT 201
#define STRING_CF_BITMAP 202
#define STRING_CF_OEMTEXT 203
#define STRING_CF_UNICODETEXT 204
#define STRING_CF_DIB 205
#define STRING_CF_LOCALE 206
#define STRING_CF_ENHMETAFILE 207
#define STRING_CF_METAFILEPICT 208
#define STRING_CF_METAFILEPICT 203
#define STRING_CF_SYLK 204
#define STRING_CF_DIF 205
#define STRING_CF_OEMTEXT 207
#define STRING_CF_DIB 208
#define STRING_CF_PALETTE 209
#define STRING_CF_DIBV5 210
#define STRING_CF_SYLK 211
#define STRING_CF_DIF 212
#define STRING_CF_HDROP 213
#define STRING_CF_UNICODETEXT 213
#define STRING_CF_ENHMETAFILE 214
#define STRING_CF_HDROP 215
#define STRING_CF_LOCALE 216
#define STRING_CF_DIBV5 217
#define ERROR_UNSUPPORTED_FORMAT 300
#define ERROR_INVALID_FILE_FORMAT 301

View File

@@ -72,7 +72,7 @@ void HandleKeyboardScrollEvents(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar
void HandleMouseScrollEvents(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LPSCROLLSTATE state)
{
SCROLLINFO si;
SCROLLINFO si;
int Delta;
int NewPos;
@@ -119,7 +119,7 @@ void HandleMouseScrollEvents(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam,
void HandleHorizontalScrollEvents(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LPSCROLLSTATE state)
{
SCROLLINFO si;
SCROLLINFO si;
int Delta;
int NewPos;
@@ -166,7 +166,7 @@ void HandleHorizontalScrollEvents(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lP
NewPos = state->CurrentX;
break;
}
}
}
NewPos = min(state->MaxX, max(0, NewPos));
@@ -189,7 +189,7 @@ void HandleHorizontalScrollEvents(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lP
void HandleVerticalScrollEvents(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LPSCROLLSTATE state)
{
SCROLLINFO si;
SCROLLINFO si;
int Delta;
int NewPos;

View File

@@ -243,7 +243,7 @@ UINT RealizeClipboardPalette(HWND hWnd)
UINT uResult;
HDC hDevContext;
if (!OpenClipboard(NULL))
if (!OpenClipboard(Globals.hMainWnd))
{
return GDI_ERROR;
}

View File

@@ -30,7 +30,7 @@ VOID PrintResourceString(INT resID, ...)
va_list args;
va_start(args, resID);
LoadStringW(GetModuleHandleW(NULL), resID, bufSrc, RC_STRING_MAX_SIZE);
LoadStringW(GetModuleHandleW(NULL), resID, bufSrc, ARRAYSIZE(bufSrc));
vswprintf(bufFormatted, bufSrc, args);
CharToOemW(bufFormatted, bufFormattedOem);
fputs(bufFormattedOem, stdout);

View File

@@ -12,4 +12,16 @@ STRINGTABLE
STRING_NO_REMOTE, "Грешка: Неуспешно добавяне на ключове в отдалечената машина\n"
STRING_CANNOT_FIND, "Грешка: Уредбата не откри указания регистърен ключ или стойност\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -17,4 +17,16 @@ STRINGTABLE
STRING_NO_REMOTE, "Chyba: Nelze přidat klíče na vzdálený stroj\n"
STRING_CANNOT_FIND, "Chyba: Systém nenalezl zadaný klíč nebo hodnotu registru\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -12,4 +12,16 @@ STRINGTABLE
STRING_NO_REMOTE, "Fejl: Kunne ikke tilføje nøgler til fjern maskinen\n"
STRING_CANNOT_FIND, "Fejl: Systemet kunne ikke finde, den angivet registrerings nøgle eller værdi\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -12,4 +12,16 @@ STRINGTABLE
STRING_NO_REMOTE, "Fehler: Konnte Schlüssel nicht zum entfernten Rechner hinzufügen\n"
STRING_CANNOT_FIND, "Fehler: Der angegebene Schlüssel oder Wert konnte nicht gefunden werden\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -7,9 +7,21 @@ STRINGTABLE
STRING_DELETE_USAGE, "REG DELETE key_name [/v value_name | /ve | /va] [/f]\n"
STRING_QUERY_USAGE, "REG QUERY key_name [/v value_name | /ve] [/s]\n"
STRING_SUCCESS, "The operation completed successfully\n"
STRING_INVALID_KEY, "Error: Invalid key name\n"
STRING_INVALID_CMDLINE, "Error: Invalid command line parameters\n"
STRING_NO_REMOTE, "Error: Unable to access remote machine\n"
STRING_CANNOT_FIND, "Error: The system was unable to find the specified registry key or value\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_INVALID_KEY, "reg: Invalid key name\n"
STRING_INVALID_CMDLINE, "reg: Invalid command line parameters\n"
STRING_NO_REMOTE, "reg: Unable to access remote machine\n"
STRING_CANNOT_FIND, "reg: The system was unable to find the specified registry key or value\n"
STRING_UNSUPPORTED_TYPE, "reg: Unsupported registry data type [%1]\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -12,4 +12,16 @@ STRINGTABLE
STRING_NO_REMOTE, "Error: No se pueden agregar las claves al equipo remoto\n"
STRING_CANNOT_FIND, "Error: El sistema no pudo encontrar la clave o el valor del Registro especificado\n"
STRING_UNSUPPORTED_TYPE, "Error: Tipo no soportado\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -12,4 +12,16 @@ STRINGTABLE
STRING_NO_REMOTE, "Erreur : impossible d'ajouter des clés à une machine distante\n"
STRING_CANNOT_FIND, "Erreur : le système n'a pas pu trouver la clé ou la valeur de registre spécifiée\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -12,4 +12,16 @@ STRINGTABLE
STRING_NO_REMOTE, "Errore: impossibile aggiungere chiavi alla macchina remota\n"
STRING_CANNOT_FIND, "Errore: il sistema non è riuscito a trovare la chiave di registro o il valore specificati\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -11,5 +11,17 @@ STRINGTABLE
STRING_INVALID_CMDLINE, "エラー: コマンド ライン引数が無効です\n"
STRING_NO_REMOTE, "エラー: リモート マシンにキーを追加できませんでした\n"
STRING_CANNOT_FIND, "エラー: システムは指定されたキーまたは値を見つけられませんでした\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_UNSUPPORTED_TYPE, "reg: Unsupported registry data type [%1]\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -11,5 +11,17 @@ STRINGTABLE
STRING_INVALID_CMDLINE, "에러:올바르지 않은 명령라인 매개변수\n"
STRING_NO_REMOTE, "에러: 원격 머신에 키를 더하는 것은 가능하지 않습니다\n"
STRING_CANNOT_FIND, "에러: 이 시스템에서 지정된 레지스트리 키나 값을 찾을수 없습니다\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_UNSUPPORTED_TYPE, "reg: Unsupported registry data type [%1]\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -11,5 +11,17 @@ STRINGTABLE
STRING_INVALID_CMDLINE, "Klaida: Netinkami komandos eilutės parametrai\n"
STRING_NO_REMOTE, "Klaida: Negalima pridėti raktų nuotoliniame kompiuteryje\n"
STRING_CANNOT_FIND, "Klaida: Sistemai nepavyko rasti nurodyto registro rakto ar reikšmės\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_UNSUPPORTED_TYPE, "reg: Unsupported registry data type [%1]\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -11,5 +11,17 @@ STRINGTABLE
STRING_INVALID_CMDLINE, "Fout: Foutieve commandoregel-parameters\n"
STRING_NO_REMOTE, "Fout: Sleutels konden niet toegevoegd worden aan de remote machine\n"
STRING_CANNOT_FIND, "Fout: Het systeem kon de gespecificeerde registersleutel of waarde niet vinden\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_UNSUPPORTED_TYPE, "reg: Unsupported registry data type [%1]\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -11,5 +11,17 @@ STRINGTABLE
STRING_INVALID_CMDLINE, "Feil: Ugyldige parametere på kommandolinjen\n"
STRING_NO_REMOTE, "Feil: Kan ikke legge til nøkler på ekstern maskin\n"
STRING_CANNOT_FIND, "Feil: Systemet klarte ikke finne den angitte registernøkkelen eller -verdien\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_UNSUPPORTED_TYPE, "reg: Unsupported registry data type [%1]\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -12,4 +12,16 @@ STRINGTABLE
STRING_NO_REMOTE, "Błąd: Nie można dodać kluczy do zdalnej maszyny\n"
STRING_CANNOT_FIND, "Błąd: System nie mógł znaleźć podanej wartości lub klucza rejestru\n"
STRING_UNSUPPORTED_TYPE, "Błąd: Nieobsługiwany typ\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -11,5 +11,17 @@ STRINGTABLE
STRING_INVALID_CMDLINE, "Erro: Parâmetros da linha de comandos inválidos\n"
STRING_NO_REMOTE, "Erro: Incapaz de adicionar chaves à máquina remota\n"
STRING_CANNOT_FIND, "Erro: O sistema foi incapaz de encontrar a chave de registo ou valor especificado\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_UNSUPPORTED_TYPE, "reg: Unsupported registry data type [%1]\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -18,4 +18,16 @@ STRINGTABLE
STRING_NO_REMOTE, "Eroare: Nu se pot adăuga chei pe calculatorul de la distanță\n"
STRING_CANNOT_FIND, "Eroare: Sistemul nu a putut găsi cheia sau valoarea de registru specificată\n"
STRING_UNSUPPORTED_TYPE, "Eroare: Tip nerecunoscut\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -12,4 +12,16 @@ STRINGTABLE
STRING_NO_REMOTE, "Ошибка: Невозможно добавить ключи на удаленной машине\n"
STRING_CANNOT_FIND, "Ошибка: Не удалось найти указанный ключ реестра или значение\n"
STRING_UNSUPPORTED_TYPE, "Ошибка: Неподдерживаемый тип\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -11,5 +11,17 @@ STRINGTABLE
STRING_INVALID_CMDLINE, "Napaka: Napačen parameter v ukazni vrstici\n"
STRING_NO_REMOTE, "Napaka: Na morem dodati ključa na oddaljen računalnik\n"
STRING_CANNOT_FIND, "Napaka: Sistem ni našel zahtevanega ključa ali vrednosti\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_UNSUPPORTED_TYPE, "reg: Unsupported registry data type [%1]\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -15,5 +15,17 @@ STRINGTABLE
STRING_INVALID_CMDLINE, "Error: Parametrat e pavlefshme ne vijën komanduse\n"
STRING_NO_REMOTE, "Error: Në pamundësi për të shtuar çelësat në makinë në distancë\n"
STRING_CANNOT_FIND, "Error: Sistemi nuk ishte në gjendje për të gjetur çelësat të caktuar të regjistrit ose vlerës\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_UNSUPPORTED_TYPE, "reg: Unsupported registry data type [%1]\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -11,5 +11,17 @@ STRINGTABLE
STRING_INVALID_CMDLINE, "Fel: ogiltiga kommandoradsparametrar\n"
STRING_NO_REMOTE, "Fel: Kan inte lägga till nycklar till fjärrmaskin\n"
STRING_CANNOT_FIND, "Fel: Systemet kunde inte hitta angiven nyckel eller värde i registret\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_UNSUPPORTED_TYPE, "reg: Unsupported registry data type [%1]\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -1,4 +1,4 @@
/* TRANSLATOR: 2015 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */
/* TRANSLATOR: 2015, 2016 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */
LANGUAGE LANG_TURKISH, SUBLANG_NEUTRAL
@@ -9,9 +9,21 @@ STRINGTABLE
STRING_DELETE_USAGE, "REG DELETE dizin adı [/v değer adı | /ve | /va] [/f]\n"
STRING_QUERY_USAGE, "REG QUERY dizin adı [/v değer adı | /ve] [/s]\n"
STRING_SUCCESS, "İşlem başarıyla bitirildi\n"
STRING_INVALID_KEY, "Yanlışlık: Geçersiz dizin adı\n"
STRING_INVALID_CMDLINE, "Yanlışlık: Geçersiz komut yatacı değişkenleri\n"
STRING_NO_REMOTE, "Yanlışlık: Uzak makineye erişilemez\n"
STRING_CANNOT_FIND, "Yanlışlık: Dizge belirtilen değer defteri dizinini ya da değerini bulamadı\n"
STRING_UNSUPPORTED_TYPE, "Yanlışlık: Desteklenmeyen tür\n"
STRING_INVALID_KEY, "reg: Geçersiz dizin adı\n"
STRING_INVALID_CMDLINE, "reg: Geçersiz komut yatacı değişkenleri\n"
STRING_NO_REMOTE, "reg: Uzak makineye erişilemez\n"
STRING_CANNOT_FIND, "reg: Dizge belirtilen değer defteri dizinini ya da değerini bulamadı\n"
STRING_UNSUPPORTED_TYPE, "reg: Desteklenmeyen tür\n"
STRING_MISSING_INTEGER, "reg: [/d] seçeneği geçerli bir tamsayıyla izlenmelidir\n"
STRING_MISSING_HEXDATA, "reg: [/d] seçeneği geçerli bir onaltılık değerle izlenmelidir\n"
STRING_UNHANDLED_TYPE, "reg: Yönetilemeyen değer defteri veri türü [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, """%1"" değer defteri değeri önceden var. Üzerine yazmak ister misiniz?"
STRING_YESNO, " (Evet|Hayır)"
STRING_YES, "E"
STRING_NO, "H"
STRING_CANCELLED, "Değer defteri işlemi iptal edildi\n"
STRING_DEFAULT_VALUE, "(Ön tanımlı)"
STRING_DELETE_VALUE, """%1"" değer defteri değerini silmek istemekten emin misiniz?"
STRING_DELETE_VALUEALL, "Tüm ""%1"" değer defteri değerlerini silmek istemekten emin misiniz?"
STRING_DELETE_SUBKEY, """%1"" değer defteri dizinini silmek istemekten emin misiniz?"
}

View File

@@ -11,5 +11,17 @@ STRINGTABLE
STRING_INVALID_CMDLINE, "Помилка: неправильні параметри командного рядка\n"
STRING_NO_REMOTE, "Помилка: неможливо додати ключі на віддаленій машині\n"
STRING_CANNOT_FIND, "Помилка: не вдалось знайти вказаний ключ реєстру чи значення\n"
STRING_UNSUPPORTED_TYPE, "Error: Unsupported type\n"
STRING_UNSUPPORTED_TYPE, "reg: Unsupported registry data type [%1]\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -14,4 +14,16 @@ STRINGTABLE
STRING_NO_REMOTE, "错误: 无法访问远程计算机\n"
STRING_CANNOT_FIND, "错误: 系统是无法找到指定的注册表项或值\n"
STRING_UNSUPPORTED_TYPE, "错误: 不支持的类型\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -14,4 +14,16 @@ STRINGTABLE
STRING_NO_REMOTE, "錯誤: 無法訪問遠端計算機\n"
STRING_CANNOT_FIND, "錯誤: 系統是無法找到指定的註冊表項或值\n"
STRING_UNSUPPORTED_TYPE, "錯誤: 不支援的類型\n"
STRING_MISSING_INTEGER, "reg: The option [/d] must be followed by a valid integer\n"
STRING_MISSING_HEXDATA, "reg: The option [/d] must be followed by a valid hexadecimal value\n"
STRING_UNHANDLED_TYPE, "reg: Unhandled registry data type [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "The registry value '%1' already exists. Do you want to overwrite it?"
STRING_YESNO, " (Yes|No)"
STRING_YES, "Y"
STRING_NO, "N"
STRING_CANCELLED, "The registry operation was cancelled\n"
STRING_DEFAULT_VALUE, "(Default)"
STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?"
STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?"
STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?"
}

View File

@@ -29,6 +29,8 @@
#define ARRAY_SIZE(A) (sizeof(A)/sizeof(*A))
WINE_DEFAULT_DEBUG_CHANNEL(reg);
static const WCHAR short_hklm[] = {'H','K','L','M',0};
static const WCHAR short_hkcu[] = {'H','K','C','U',0};
static const WCHAR short_hkcr[] = {'H','K','C','R',0};
@@ -81,19 +83,11 @@ type_rels[] =
{REG_MULTI_SZ, type_multi_sz},
};
static int reg_printfW(const WCHAR *msg, ...)
static void output_writeconsole(const WCHAR *str, DWORD wlen)
{
va_list va_args;
int wlen;
DWORD count, ret;
WCHAR msg_buffer[8192];
va_start(va_args, msg);
vsnprintfW(msg_buffer, 8192, msg, va_args);
va_end(va_args);
wlen = lstrlenW(msg_buffer);
ret = WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), msg_buffer, wlen, &count, NULL);
ret = WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), str, wlen, &count, NULL);
if (!ret)
{
DWORD len;
@@ -103,29 +97,83 @@ static int reg_printfW(const WCHAR *msg, ...)
* back to WriteFile(), assuming the console encoding is still the right
* one in that case.
*/
len = WideCharToMultiByte(GetConsoleOutputCP(), 0, msg_buffer, wlen,
NULL, 0, NULL, NULL);
len = WideCharToMultiByte(GetConsoleOutputCP(), 0, str, wlen, NULL, 0, NULL, NULL);
msgA = HeapAlloc(GetProcessHeap(), 0, len * sizeof(char));
if (!msgA)
return 0;
if (!msgA) return;
WideCharToMultiByte(GetConsoleOutputCP(), 0, msg_buffer, wlen, msgA, len,
NULL, NULL);
WideCharToMultiByte(GetConsoleOutputCP(), 0, str, wlen, msgA, len, NULL, NULL);
WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), msgA, len, &count, FALSE);
HeapFree(GetProcessHeap(), 0, msgA);
}
return count;
}
static int reg_message(int msg)
static void output_formatstring(const WCHAR *fmt, __ms_va_list va_args)
{
static const WCHAR formatW[] = {'%','s',0};
WCHAR msg_buffer[8192];
WCHAR *str;
DWORD len;
LoadStringW(GetModuleHandleW(NULL), msg, msg_buffer,
sizeof(msg_buffer)/sizeof(WCHAR));
return reg_printfW(formatW, msg_buffer);
SetLastError(NO_ERROR);
len = FormatMessageW(FORMAT_MESSAGE_FROM_STRING|FORMAT_MESSAGE_ALLOCATE_BUFFER,
fmt, 0, 0, (WCHAR *)&str, 0, &va_args);
if (len == 0 && GetLastError() != NO_ERROR)
{
WINE_FIXME("Could not format string: le=%u, fmt=%s\n", GetLastError(), wine_dbgstr_w(fmt));
return;
}
output_writeconsole(str, len);
LocalFree(str);
}
static void __cdecl output_message(unsigned int id, ...)
{
WCHAR fmt[1024];
__ms_va_list va_args;
if (!LoadStringW(GetModuleHandleW(NULL), id, fmt, ARRAY_SIZE(fmt)))
{
WINE_FIXME("LoadString failed with %d\n", GetLastError());
return;
}
__ms_va_start(va_args, id);
output_formatstring(fmt, va_args);
__ms_va_end(va_args);
}
static void __cdecl output_string(const WCHAR *fmt, ...)
{
__ms_va_list va_args;
__ms_va_start(va_args, fmt);
output_formatstring(fmt, va_args);
__ms_va_end(va_args);
}
/* ask_confirm() adapted from programs/cmd/builtins.c */
static BOOL ask_confirm(unsigned int msgid, WCHAR *reg_info)
{
HMODULE hmod;
WCHAR Ybuffer[4];
WCHAR Nbuffer[4];
WCHAR defval[32];
WCHAR answer[MAX_PATH];
DWORD count;
hmod = GetModuleHandleW(NULL);
LoadStringW(hmod, STRING_YES, Ybuffer, ARRAY_SIZE(Ybuffer));
LoadStringW(hmod, STRING_NO, Nbuffer, ARRAY_SIZE(Nbuffer));
LoadStringW(hmod, STRING_DEFAULT_VALUE, defval, ARRAY_SIZE(defval));
while (1)
{
output_message(msgid, reg_info ? reg_info : defval);
output_message(STRING_YESNO);
ReadConsoleW(GetStdHandle(STD_INPUT_HANDLE), answer, ARRAY_SIZE(answer), &count, NULL);
answer[0] = toupperW(answer[0]);
if (answer[0] == Ybuffer[0])
return TRUE;
if (answer[0] == Nbuffer[0])
return FALSE;
}
}
static inline BOOL path_rootname_cmp(const WCHAR *input_path, const WCHAR *rootkey_name)
@@ -186,7 +234,9 @@ static LPBYTE get_regdata(LPWSTR data, DWORD reg_type, WCHAR separator, DWORD *r
switch (reg_type)
{
case REG_NONE:
case REG_SZ:
case REG_EXPAND_SZ:
{
*reg_count = (lstrlenW(data) + 1) * sizeof(WCHAR);
out_data = HeapAlloc(GetProcessHeap(),0,*reg_count);
@@ -194,13 +244,14 @@ static LPBYTE get_regdata(LPWSTR data, DWORD reg_type, WCHAR separator, DWORD *r
break;
}
case REG_DWORD:
/* case REG_DWORD_LITTLE_ENDIAN: */
case REG_DWORD_BIG_ENDIAN: /* Yes, this is correct! */
{
LPWSTR rest;
DWORD val;
val = strtolW(data, &rest, 0);
if (rest == data) {
static const WCHAR nonnumber[] = {'E','r','r','o','r',':',' ','/','d',' ','r','e','q','u','i','r','e','s',' ','n','u','m','b','e','r','.','\n',0};
reg_printfW(nonnumber);
val = strtoulW(data, &rest, (data[1] == 'x') ? 16 : 10);
if (*rest || data[0] == '-') {
output_message(STRING_MISSING_INTEGER);
break;
}
*reg_count = sizeof(DWORD);
@@ -210,7 +261,6 @@ static LPBYTE get_regdata(LPWSTR data, DWORD reg_type, WCHAR separator, DWORD *r
}
case REG_BINARY:
{
static const WCHAR nohex[] = {'E','r','r','o','r',':',' ','/','d',' ','r','e','q','u','i','r','e','s',' ','h','e','x',' ','d','a','t','a','.','\n',0};
BYTE hex0, hex1;
int i = 0, destByteIndex = 0, datalen = lstrlenW(data);
*reg_count = ((datalen + datalen % 2) / 2) * sizeof(BYTE);
@@ -234,15 +284,14 @@ static LPBYTE get_regdata(LPWSTR data, DWORD reg_type, WCHAR separator, DWORD *r
no_hex_data:
/* cleanup, print error */
HeapFree(GetProcessHeap(), 0, out_data);
reg_printfW(nohex);
output_message(STRING_MISSING_HEXDATA);
out_data = NULL;
break;
}
case REG_MULTI_SZ:
/* FIXME: Needs handling */
default:
{
static const WCHAR unhandled[] = {'U','n','h','a','n','d','l','e','d',' ','T','y','p','e',' ','0','x','%','x',' ',' ','d','a','t','a',' ','%','s','\n',0};
reg_printfW(unhandled, reg_type,data);
}
output_message(STRING_UNHANDLED_TYPE, reg_type, data);
}
return out_data;
@@ -254,13 +303,13 @@ static BOOL sane_path(const WCHAR *key)
if (i < 3 || (key[i - 1] == '\\' && key[i - 2] == '\\'))
{
reg_message(STRING_INVALID_KEY);
output_message(STRING_INVALID_KEY);
return FALSE;
}
if (key[0] == '\\' && key[1] == '\\' && key[2] != '\\')
{
reg_message(STRING_NO_REMOTE);
output_message(STRING_NO_REMOTE);
return FALSE;
}
@@ -270,20 +319,16 @@ static BOOL sane_path(const WCHAR *key)
static int reg_add(WCHAR *key_name, WCHAR *value_name, BOOL value_empty,
WCHAR *type, WCHAR separator, WCHAR *data, BOOL force)
{
static const WCHAR stubW[] = {'A','D','D',' ','-',' ','%','s',
' ','%','s',' ','%','d',' ','%','s',' ','%','s',' ','%','d','\n',0};
LPWSTR p;
HKEY root,subkey;
reg_printfW(stubW, key_name, value_name, value_empty, type, data, force);
if (!sane_path(key_name))
return 1;
p = strchrW(key_name,'\\');
if (!p)
{
reg_message(STRING_INVALID_KEY);
output_message(STRING_INVALID_KEY);
return 1;
}
p++;
@@ -291,13 +336,19 @@ static int reg_add(WCHAR *key_name, WCHAR *value_name, BOOL value_empty,
root = path_get_rootkey(key_name);
if (!root)
{
reg_message(STRING_INVALID_KEY);
output_message(STRING_INVALID_KEY);
return 1;
}
if (value_name && value_empty)
{
output_message(STRING_INVALID_CMDLINE);
return 1;
}
if(RegCreateKeyW(root,p,&subkey)!=ERROR_SUCCESS)
{
reg_message(STRING_INVALID_KEY);
output_message(STRING_INVALID_KEY);
return 1;
}
@@ -309,9 +360,14 @@ static int reg_add(WCHAR *key_name, WCHAR *value_name, BOOL value_empty,
if (!force)
{
if (RegQueryValueW(subkey,value_name,NULL,NULL)==ERROR_SUCCESS)
if (RegQueryValueExW(subkey, value_name, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
{
/* FIXME: Prompt for overwrite */
if (!ask_confirm(STRING_OVERWRITE_VALUE, value_name))
{
RegCloseKey(subkey);
output_message(STRING_CANCELLED);
return 0;
}
}
}
@@ -319,19 +375,28 @@ static int reg_add(WCHAR *key_name, WCHAR *value_name, BOOL value_empty,
if (reg_type == ~0u)
{
RegCloseKey(subkey);
reg_message(STRING_UNSUPPORTED_TYPE);
output_message(STRING_UNSUPPORTED_TYPE, type);
return 1;
}
if (reg_type == REG_DWORD && !data)
{
RegCloseKey(subkey);
output_message(STRING_INVALID_CMDLINE);
return 1;
}
if (data)
reg_data = get_regdata(data,reg_type,separator,&reg_count);
if (data && !(reg_data = get_regdata(data, reg_type, separator, &reg_count)))
{
RegCloseKey(subkey);
return 1;
}
RegSetValueExW(subkey,value_name,0,reg_type,reg_data,reg_count);
HeapFree(GetProcessHeap(),0,reg_data);
}
RegCloseKey(subkey);
reg_message(STRING_SUCCESS);
output_message(STRING_SUCCESS);
return 0;
}
@@ -342,18 +407,13 @@ static int reg_delete(WCHAR *key_name, WCHAR *value_name, BOOL value_empty,
LPWSTR p;
HKEY root,subkey;
static const WCHAR stubW[] = {'D','E','L','E','T','E',
' ','-',' ','%','s',' ','%','s',' ','%','d',' ','%','d',' ','%','d','\n'
,0};
reg_printfW(stubW, key_name, value_name, value_empty, value_all, force);
if (!sane_path(key_name))
return 1;
p = strchrW(key_name,'\\');
if (!p)
{
reg_message(STRING_INVALID_KEY);
output_message(STRING_INVALID_KEY);
return 1;
}
p++;
@@ -361,25 +421,32 @@ static int reg_delete(WCHAR *key_name, WCHAR *value_name, BOOL value_empty,
root = path_get_rootkey(key_name);
if (!root)
{
reg_message(STRING_INVALID_KEY);
output_message(STRING_INVALID_KEY);
return 1;
}
if (value_name && value_empty)
if ((value_name && value_empty) || (value_name && value_all) || (value_empty && value_all))
{
reg_message(STRING_INVALID_CMDLINE);
return 1;
}
if (value_empty && value_all)
{
reg_message(STRING_INVALID_CMDLINE);
output_message(STRING_INVALID_CMDLINE);
return 1;
}
if (!force)
{
/* FIXME: Prompt for delete */
BOOL ret;
if (value_name || value_empty)
ret = ask_confirm(STRING_DELETE_VALUE, value_name);
else if (value_all)
ret = ask_confirm(STRING_DELETE_VALUEALL, key_name);
else
ret = ask_confirm(STRING_DELETE_SUBKEY, key_name);
if (!ret)
{
output_message(STRING_CANCELLED);
return 0;
}
}
/* Delete subtree only if no /v* option is given */
@@ -387,16 +454,16 @@ static int reg_delete(WCHAR *key_name, WCHAR *value_name, BOOL value_empty,
{
if (RegDeleteTreeW(root,p)!=ERROR_SUCCESS)
{
reg_message(STRING_CANNOT_FIND);
output_message(STRING_CANNOT_FIND);
return 1;
}
reg_message(STRING_SUCCESS);
output_message(STRING_SUCCESS);
return 0;
}
if(RegOpenKeyW(root,p,&subkey)!=ERROR_SUCCESS)
{
reg_message(STRING_CANNOT_FIND);
output_message(STRING_CANNOT_FIND);
return 1;
}
@@ -440,7 +507,7 @@ static int reg_delete(WCHAR *key_name, WCHAR *value_name, BOOL value_empty,
if (RegDeleteValueW(subkey,value_name) != ERROR_SUCCESS)
{
RegCloseKey(subkey);
reg_message(STRING_CANNOT_FIND);
output_message(STRING_CANNOT_FIND);
return 1;
}
}
@@ -450,7 +517,7 @@ static int reg_delete(WCHAR *key_name, WCHAR *value_name, BOOL value_empty,
}
RegCloseKey(subkey);
reg_message(STRING_SUCCESS);
output_message(STRING_SUCCESS);
return 0;
}
@@ -458,8 +525,8 @@ static int reg_query(WCHAR *key_name, WCHAR *value_name, BOOL value_empty,
BOOL subkey)
{
static const WCHAR stubW[] = {'S','T','U','B',' ','Q','U','E','R','Y',' ',
'-',' ','%','s',' ','%','s',' ','%','d',' ','%','d','\n',0};
reg_printfW(stubW, key_name, value_name, value_empty, subkey);
'-',' ','%','1',' ','%','2',' ','%','3','!','d','!',' ','%','4','!','d','!','\n',0};
output_string(stubW, key_name, value_name, value_empty, subkey);
return 1;
}
@@ -484,7 +551,7 @@ int wmain(int argc, WCHAR *argvW[])
if (argc < 2 || !lstrcmpW(argvW[1], slashHelpW)
|| !lstrcmpiW(argvW[1], slashHW))
{
reg_message(STRING_USAGE);
output_message(STRING_USAGE);
return 0;
}
@@ -495,13 +562,13 @@ int wmain(int argc, WCHAR *argvW[])
if (argc < 3)
{
reg_message(STRING_INVALID_CMDLINE);
output_message(STRING_INVALID_CMDLINE);
return 1;
}
else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) ||
!lstrcmpiW(argvW[2], slashHW)))
{
reg_message(STRING_ADD_USAGE);
output_message(STRING_ADD_USAGE);
return 0;
}
@@ -515,9 +582,24 @@ int wmain(int argc, WCHAR *argvW[])
else if (!lstrcmpiW(argvW[i], slashTW))
type = argvW[++i];
else if (!lstrcmpiW(argvW[i], slashSW))
separator = argvW[++i][0];
{
WCHAR *ptr = argvW[++i];
if (!ptr || strlenW(ptr) != 1)
{
output_message(STRING_INVALID_CMDLINE);
return 1;
}
separator = ptr[0];
}
else if (!lstrcmpiW(argvW[i], slashDW))
data = argvW[++i];
{
if (!(data = argvW[++i]))
{
output_message(STRING_INVALID_CMDLINE);
return 1;
}
}
else if (!lstrcmpiW(argvW[i], slashFW))
force = TRUE;
}
@@ -531,13 +613,13 @@ int wmain(int argc, WCHAR *argvW[])
if (argc < 3)
{
reg_message(STRING_INVALID_CMDLINE);
output_message(STRING_INVALID_CMDLINE);
return 1;
}
else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) ||
!lstrcmpiW(argvW[2], slashHW)))
{
reg_message(STRING_DELETE_USAGE);
output_message(STRING_DELETE_USAGE);
return 0;
}
@@ -562,13 +644,13 @@ int wmain(int argc, WCHAR *argvW[])
if (argc < 3)
{
reg_message(STRING_INVALID_CMDLINE);
output_message(STRING_INVALID_CMDLINE);
return 1;
}
else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) ||
!lstrcmpiW(argvW[2], slashHW)))
{
reg_message(STRING_QUERY_USAGE);
output_message(STRING_QUERY_USAGE);
return 0;
}
@@ -586,7 +668,7 @@ int wmain(int argc, WCHAR *argvW[])
}
else
{
reg_message(STRING_INVALID_CMDLINE);
output_message(STRING_INVALID_CMDLINE);
return 1;
}
}

View File

@@ -33,3 +33,15 @@
#define STRING_NO_REMOTE 108
#define STRING_CANNOT_FIND 109
#define STRING_UNSUPPORTED_TYPE 110
#define STRING_MISSING_INTEGER 111
#define STRING_MISSING_HEXDATA 112
#define STRING_UNHANDLED_TYPE 113
#define STRING_OVERWRITE_VALUE 114
#define STRING_YESNO 115
#define STRING_YES 116
#define STRING_NO 117
#define STRING_CANCELLED 118
#define STRING_DEFAULT_VALUE 119
#define STRING_DELETE_VALUE 120
#define STRING_DELETE_VALUEALL 121
#define STRING_DELETE_SUBKEY 122

View File

@@ -0,0 +1,13 @@
/* By Riccardo Montanari - Bassa31 - bassa31@outlook.it */
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Mostra la struttura del drive o della cartella.\n\n\
TREE [drive:][path] [/F] [/A]\n\n\
\t/F Mostra il nome del file in ogni cartella.\n\
\t/A Usa carattere ASCII per i caratteri estesi.\n"
IDS_NO_SUBDIRECTORIES "Non esistono sub-cartelle"
IDS_FOLDER_PATH "Lista della cartella PATH\n"
IDS_VOL_SERIAL "Numero di serie del Volume %x:%x\n"
END

View File

@@ -20,6 +20,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#ifdef LANGUAGE_FR_FR
#include "lang/fr-FR.rc"
#endif
#ifdef LANGUAGE_IT_IT
#include "lang/it-IT.rc"
#endif
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#endif

View File

@@ -1,6 +1,6 @@
set_cpp(WITH_RUNTIME)
include_directories(${REACTOS_SOURCE_DIR}/lib/3rdparty/cardlib)
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/3rdparty/cardlib)
list(APPEND SOURCE
solcreate.cpp

View File

@@ -2,7 +2,7 @@
set_cpp(WITH_RUNTIME)
include_directories(
${REACTOS_SOURCE_DIR}/lib/3rdparty/cardlib
${REACTOS_SOURCE_DIR}/sdk/lib/3rdparty/cardlib
${CMAKE_CURRENT_SOURCE_DIR})
list(APPEND SOURCE

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_importlibs(iexplore ieframe msvcrt kernel32 ntdll)
add_delay_importlibs(iexplore advpack version)
add_importlibs(iexplore ieframe msvcrt kernel32 ntdll)
add_cd_file(TARGET iexplore DESTINATION reactos FOR all)

View File

@@ -29,7 +29,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 210, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Настройки на увеличителя"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -29,7 +29,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Einstellungen"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -29,7 +29,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Magnifier Settings"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -33,7 +33,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Configurar lupa"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -29,12 +29,12 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Paramètres de la loupe"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "Quitter", IDOK, 96, 161, 50, 14
PUSHBUTTON "Aider", IDC_BUTTON_HELP, 38, 161, 50, 14
PUSHBUTTON "Aide", IDC_BUTTON_HELP, 38, 161, 50, 14
LTEXT "Coefficient d'agrandissement:", IDC_STATIC, 6, 8, 68, 8
COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Poursuite", IDC_STATIC, 7, 25, 139, 59

View File

@@ -31,7 +31,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "הגדרות זכוכית מגדלת"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -29,7 +29,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Impostazioni di Magnifier"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -29,7 +29,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "拡大鏡の設定"
FONT 9, "MS UI Gothic", 400, 0, 0x1
BEGIN

View File

@@ -29,7 +29,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Forstørrelse Innstilling"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -37,7 +37,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Ustawienia"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -31,7 +31,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Configurações da Lupa"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -31,7 +31,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Configurare lupă"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -29,7 +29,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 185, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Параметры"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -34,7 +34,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Nastavenia Lupy"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -33,7 +33,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Konfigurimet e zmadhuesit"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -29,7 +29,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Förstoringsglaset Inställning"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -37,7 +37,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Seçenekler"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -37,7 +37,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Параметри екранної лупи"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -37,7 +37,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "放大镜设定"
FONT 9, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -37,7 +37,7 @@ BEGIN
END
IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "放大鏡設定"
FONT 9, "MS Shell Dlg", 400, 0, 0x1
BEGIN

View File

@@ -8,7 +8,8 @@
* David Quintana <gigaherz@gmail.com>
*/
/* TODO: AppBar */
/* TODO: Support AppBar types other than ABE_TOP */
#include "magnifier.h"
#include <winbase.h>
@@ -20,14 +21,16 @@
#include "resource.h"
const TCHAR szWindowClass[] = TEXT("MAGNIFIER");
#define APPMSG_NOTIFYICON (WM_APP+1)
#define APPMSG_APPBAR (WM_APP+2)
#define MAX_LOADSTRING 100
const TCHAR szWindowClass[] = TEXT("MAGNIFIER");
/* Global Variables */
HINSTANCE hInst;
HWND hMainWnd;
#define MAX_LOADSTRING 100
TCHAR szTitle[MAX_LOADSTRING];
#define TIMER_SPEED 1
@@ -37,19 +40,19 @@ DWORD lastTicks = 0;
HWND hDesktopWindow = NULL;
#define APPMSG_NOTIFYICON (WM_APP+1)
HICON notifyIcon;
NOTIFYICONDATA nid;
HICON notifyIcon;
HMENU notifyMenu;
HWND hOptionsDialog;
BOOL bOptionsDialog = FALSE;
BOOL bRecreateOffscreenDC = TRUE;
LONG sourceWidth = 0;
LONG sourceHeight = 0;
HDC hdcOffscreen = NULL;
HANDLE hbmpOld;
HWND hOptionsDialog;
BOOL bOptionsDialog = FALSE;
BOOL bRecreateOffscreenDC = TRUE;
LONG sourceWidth = 0;
LONG sourceHeight = 0;
HDC hdcOffscreen = NULL;
HBITMAP hbmpOffscreen = NULL;
HANDLE hbmpOld;
POINT ptDragOffset;
INT nearEdge;
/* Current magnified area */
POINT cp;
@@ -132,23 +135,158 @@ ATOM MyRegisterClass(HINSTANCE hInstance)
return RegisterClass(&wc);
}
void DoAppBarStuff(DWORD mode)
{
UINT uState;
APPBARDATA data = {0};
data.cbSize = sizeof(data);
data.hWnd = hMainWnd;
data.uCallbackMessage = APPMSG_APPBAR;
if (mode == ABM_NEW || mode == ABM_SETPOS)
{
HWND hWndOrder = HWND_BOTTOM;
int rcw, rch;
RECT rcWorkArea;
SystemParametersInfo(SPI_GETWORKAREA, 0, &rcWorkArea, 0);
if(mode == ABM_NEW)
{
SHAppBarMessage(ABM_NEW, &data);
switch(AppBarConfig.uEdge)
{
case ABE_LEFT:
data.rc.top = rcWorkArea.top;
data.rc.bottom = rcWorkArea.bottom;
data.rc.left = rcWorkArea.left;
data.rc.right = data.rc.left + AppBarConfig.appBarSizes.left;
break;
case ABE_TOP:
data.rc.left = rcWorkArea.left;
data.rc.right = rcWorkArea.right;
data.rc.top = rcWorkArea.top;
data.rc.bottom = data.rc.top + AppBarConfig.appBarSizes.top;
break;
case ABE_RIGHT:
data.rc.top = rcWorkArea.top;
data.rc.bottom = rcWorkArea.bottom;
data.rc.right = rcWorkArea.left;
data.rc.left = data.rc.right - AppBarConfig.appBarSizes.right;
break;
case ABE_BOTTOM:
data.rc.left = rcWorkArea.left;
data.rc.right = rcWorkArea.right;
data.rc.bottom = rcWorkArea.bottom;
data.rc.top = data.rc.bottom - AppBarConfig.appBarSizes.bottom;
break;
}
}
else
{
GetWindowRect(hMainWnd, &data.rc);
}
data.uEdge = AppBarConfig.uEdge;
uState = SHAppBarMessage(ABM_QUERYPOS, &data);
uState = SHAppBarMessage(ABM_SETPOS, &data);
rcw = data.rc.right-data.rc.left;
rch = data.rc.bottom-data.rc.top;
uState = SHAppBarMessage(ABM_GETSTATE, &data);
if(uState & ABS_ALWAYSONTOP)
hWndOrder = HWND_TOPMOST;
SetWindowPos(hMainWnd, hWndOrder, data.rc.left, data.rc.top, rcw, rch, SWP_SHOWWINDOW|SWP_NOCOPYBITS);
}
else if(mode == ABM_GETSTATE)
{
HWND hWndOrder = HWND_BOTTOM;
uState = SHAppBarMessage(ABM_GETSTATE, &data);
if(uState & ABS_ALWAYSONTOP)
hWndOrder = HWND_TOPMOST;
SetWindowPos(hMainWnd, hWndOrder, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
}
else if(mode == ABM_ACTIVATE)
{
SHAppBarMessage(ABM_ACTIVATE, &data);
}
else if(mode == ABM_WINDOWPOSCHANGED)
{
SHAppBarMessage(ABM_WINDOWPOSCHANGED, &data);
}
else if(mode == ABM_REMOVE)
{
SHAppBarMessage(ABM_REMOVE, &data);
}
}
void AttachAppBar(INT uEdge)
{
if (AppBarConfig.uEdge == uEdge)
return;
if(AppBarConfig.uEdge < 0 && uEdge >= 0)
{
SetWindowLongPtr(hMainWnd, GWL_STYLE, GetWindowLongPtr(hMainWnd, GWL_STYLE) & (~WS_CAPTION));
}
else if(uEdge < 0 && AppBarConfig.uEdge>=0)
{
SetWindowLongPtr(hMainWnd, GWL_STYLE, GetWindowLongPtr(hMainWnd, GWL_STYLE) | WS_CAPTION);
SetWindowPos(hMainWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE|SWP_FRAMECHANGED);
}
if(AppBarConfig.uEdge >= 0)
{
DoAppBarStuff(ABM_REMOVE);
}
if (uEdge >=0)
{
AppBarConfig.uEdge = uEdge;
DoAppBarStuff(ABM_NEW);
}
else
{
RECT rc = AppBarConfig.rcFloating;
SetWindowPos(hMainWnd, HWND_TOPMOST, rc.left, rc.top, rc.right-rc.left, rc.bottom-rc.top, 0);
}
AppBarConfig.uEdge = uEdge;
}
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
RECT rcWorkArea;
RECT rc;
DWORD exStyles = WS_EX_TOOLWINDOW | WS_EX_CONTROLPARENT;
DWORD dwStyles = WS_SIZEBOX | WS_SYSMENU | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_POPUP;
/* Load settings from registry */
LoadSettings();
rc = AppBarConfig.rcFloating;
hInst = hInstance; // Store instance handle in our global variable
SystemParametersInfo(SPI_GETWORKAREA, 0, &rcWorkArea, 0);
if (AppBarConfig.uEdge<0)
{
dwStyles |= WS_CAPTION;
exStyles |= WS_EX_TOPMOST;
}
/* Create the Window */
hMainWnd = CreateWindowEx(
WS_EX_TOPMOST | WS_EX_PALETTEWINDOW,
exStyles,
szWindowClass,
szTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
(rcWorkArea.right - rcWorkArea.left) * 2 / 3,
200,
dwStyles,
rc.left,
rc.top,
rc.right-rc.left,
rc.bottom-rc.top,
NULL,
NULL,
hInstance,
@@ -157,12 +295,16 @@ BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
if (!hMainWnd)
return FALSE;
ShowWindow(hMainWnd, bStartMinimized ? SW_MINIMIZE : nCmdShow);
UpdateWindow(hMainWnd);
if (AppBarConfig.uEdge>=0) DoAppBarStuff(ABM_NEW);
else SetWindowPos(hMainWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE|SWP_SHOWWINDOW);
// Windows 2003's Magnifier always shows this dialog, and exits when the dialog isclosed.
// Should we add a custom means to prevent opening it?
// In Windows 2003's Magnifier, the "Start Minimized" setting
// refers exclusively to the options dialog, not the main window itself.
hOptionsDialog = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOGOPTIONS), hMainWnd, OptionsProc);
if (bStartMinimized)
ShowWindow(hOptionsDialog, SW_HIDE);
else
ShowWindow(hOptionsDialog, SW_SHOW);
if (bShowWarning)
DialogBox(hInstance, MAKEINTRESOURCE(IDD_WARNINGDIALOG), hMainWnd, WarningProc);
@@ -350,12 +492,11 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
case WM_TIMER:
{
BOOL hasMoved = FALSE;
HWND hwndForeground = GetForegroundWindow ();
DWORD threadId = GetWindowThreadProcessId(hwndForeground, NULL);
GUITHREADINFO guiInfo;
guiInfo.cbSize = sizeof(guiInfo);
GetGUIThreadInfo(threadId, &guiInfo);
GetGUIThreadInfo(0, &guiInfo);
if (bFollowMouse)
{
@@ -364,8 +505,10 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
//Get current mouse position
GetCursorPos (&pNewMouse);
#define PointsAreEqual(pt1, pt2) (((pt1).x == (pt2).x) && ((pt1).y == (pt2).y))
//If mouse has moved ...
if (((pMouse.x != pNewMouse.x) || (pMouse.y != pNewMouse.y)))
if (!PointsAreEqual(pMouse, pNewMouse))
{
//Update to new position
pMouse = pNewMouse;
@@ -373,45 +516,64 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
hasMoved = TRUE;
}
}
if (bFollowCaret && hwndForeground && guiInfo.hwndCaret)
{
POINT ptCaret;
ptCaret.x = (guiInfo.rcCaret.left + guiInfo.rcCaret.right) / 2;
ptCaret.y = (guiInfo.rcCaret.top + guiInfo.rcCaret.bottom) / 2;
if (guiInfo.hwndCaret && ((pCaretWnd != guiInfo.hwndCaret) || (pCaret.x != ptCaret.x) || (pCaret.y != ptCaret.y)))
if(guiInfo.hwndActive != hMainWnd)
{
if (bFollowCaret)
{
//Update to new position
pCaret = ptCaret;
pCaretWnd = guiInfo.hwndCaret;
if(!hasMoved)
if (guiInfo.hwndCaret)
{
ClientToScreen (guiInfo.hwndCaret, (LPPOINT) &ptCaret);
cp = ptCaret;
POINT ptCaret;
ptCaret.x = (guiInfo.rcCaret.left + guiInfo.rcCaret.right) / 2;
ptCaret.y = (guiInfo.rcCaret.top + guiInfo.rcCaret.bottom) / 2;
if ((pCaretWnd != guiInfo.hwndCaret) || !PointsAreEqual(pCaret, ptCaret))
{
//Update to new position
pCaret = ptCaret;
pCaretWnd = guiInfo.hwndCaret;
if(!hasMoved)
{
ClientToScreen (guiInfo.hwndCaret, (LPPOINT) &ptCaret);
cp = ptCaret;
hasMoved = TRUE;
}
}
}
else
{
pCaretWnd = NULL;
}
hasMoved = TRUE;
}
}
if (bFollowFocus && hwndForeground && guiInfo.hwndFocus)
{
POINT ptFocus;
RECT activeRect;
//Get current control focus
GetWindowRect (guiInfo.hwndFocus, &activeRect);
ptFocus.x = (activeRect.left + activeRect.right) / 2;
ptFocus.y = (activeRect.top + activeRect.bottom) / 2;
if(guiInfo.hwndFocus && ((guiInfo.hwndFocus != pFocusWnd) || (pFocus.x != ptFocus.x) || (pFocus.y != ptFocus.y)))
if (bFollowFocus)
{
//Update to new position
pFocus = ptFocus;
pFocusWnd = guiInfo.hwndFocus;
if(!hasMoved)
cp = ptFocus;
hasMoved = TRUE;
if(guiInfo.hwndFocus && !guiInfo.hwndCaret)
{
POINT ptFocus;
RECT activeRect;
//Get current control focus
GetWindowRect(guiInfo.hwndFocus, &activeRect);
ptFocus.x = (activeRect.left + activeRect.right) / 2;
ptFocus.y = (activeRect.top + activeRect.bottom) / 2;
if((guiInfo.hwndFocus != pFocusWnd) || !PointsAreEqual(pFocus, ptFocus))
{
//Update to new position
pFocus = ptFocus;
pFocusWnd = guiInfo.hwndFocus;
if(!hasMoved)
{
cp = ptFocus;
hasMoved = TRUE;
}
}
}
else
{
pFocusWnd = NULL;
}
}
}
@@ -430,8 +592,9 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
lastTicks = GetTickCount();
Refresh();
}
return 0;
}
break;
case WM_COMMAND:
{
@@ -458,7 +621,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;
return 0;
}
case WM_PAINT:
@@ -468,24 +631,117 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
dc = BeginPaint(hWnd, &PaintStruct);
Draw(dc);
EndPaint(hWnd, &PaintStruct);
break;
return 0;
}
case WM_CONTEXTMENU:
TrackPopupMenu(notifyMenu, 0, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam), 0, hWnd, NULL);
return 0;
case WM_LBUTTONDOWN:
{
RECT rc;
POINT pt;
SetCapture(hWnd);
GetCursorPos(&pt);
GetWindowRect(hWnd, &rc);
ptDragOffset.x = pt.x - rc.left;
ptDragOffset.y = pt.y - rc.top;
nearEdge = AppBarConfig.uEdge;
break;
}
case WM_MOUSEMOVE:
if(GetCapture() == hWnd)
{
RECT rc;
POINT pt;
RECT rcWorkArea;
SystemParametersInfo(SPI_GETWORKAREA, 0, &rcWorkArea, 0);
GetCursorPos(&pt);
GetWindowRect(hWnd, &rc);
if(AppBarConfig.uEdge>=0)
{
if (pt.x >= rcWorkArea.left && pt.x <= rcWorkArea.right &&
pt.y >= rcWorkArea.top && pt.y <= rcWorkArea.bottom)
{
AttachAppBar(-2);
// Fixup offset
GetWindowRect(hWnd, &rc);
ptDragOffset.x = (rc.right-rc.left)/2;
ptDragOffset.y = 2;
rc.left = pt.x - ptDragOffset.x;
rc.top = pt.y - ptDragOffset.y;
SetWindowPos(hWnd, HWND_TOPMOST, rc.left, rc.top, 0, 0, SWP_NOSIZE);
}
}
else
{
if(pt.x <= rcWorkArea.left+8 && nearEdge != ABE_LEFT)
{
AttachAppBar(ABE_LEFT);
nearEdge = ABE_LEFT;
}
else if(pt.y <= rcWorkArea.top+8 && nearEdge != ABE_TOP)
{
AttachAppBar(ABE_TOP);
nearEdge = ABE_TOP;
}
else if(pt.x >= rcWorkArea.right-8 && nearEdge != ABE_RIGHT)
{
AttachAppBar(ABE_RIGHT);
nearEdge = ABE_RIGHT;
}
else if(pt.y >= rcWorkArea.bottom-8 && nearEdge != ABE_BOTTOM)
{
AttachAppBar(ABE_BOTTOM);
nearEdge = ABE_BOTTOM;
}
else
{
rc.left = pt.x - ptDragOffset.x;
rc.top = pt.y - ptDragOffset.y;
SetWindowPos(hWnd, HWND_TOPMOST, rc.left, rc.top, 0, 0, SWP_NOSIZE);
nearEdge = -1;
}
}
pMouse = pt;
Refresh();
}
break;
case WM_LBUTTONUP:
if(GetCapture() == hWnd)
{
if (AppBarConfig.uEdge>=0)
DoAppBarStuff(ABM_GETSTATE);
else
SetWindowPos(hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
ReleaseCapture();
}
case WM_SIZE:
if(AppBarConfig.uEdge>=0) DoAppBarStuff(ABM_SETPOS);
/* fallthrough */
case WM_DISPLAYCHANGE:
bRecreateOffscreenDC = TRUE;
Refresh();
return DefWindowProc(hWnd, message, wParam, lParam);
break;
case WM_ERASEBKGND:
// handle WM_ERASEBKGND by simply returning non-zero because we did all the drawing in WM_PAINT.
break;
return 0;
case WM_DESTROY:
if(AppBarConfig.uEdge>=0) DoAppBarStuff(ABM_REMOVE);
/* Save settings to registry */
SaveSettings();
KillTimer(hWnd , 1);
@@ -502,15 +758,12 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
DestroyIcon(notifyIcon);
DestroyWindow(hOptionsDialog);
break;
return 0;
case WM_CREATE:
{
HMENU tempMenu;
/* Load settings from registry */
LoadSettings();
/* Get the desktop window */
hDesktopWindow = GetDesktopWindow();
@@ -532,20 +785,57 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
notifyMenu = GetSubMenu(tempMenu, 0);
RemoveMenu(tempMenu, 0, MF_BYPOSITION);
DestroyMenu(tempMenu);
return 0;
}
break;
case APPMSG_APPBAR:
{
switch (wParam)
{
case ABN_STATECHANGE:
DoAppBarStuff(ABM_GETSTATE);
break;
case ABN_POSCHANGED:
DoAppBarStuff(ABM_SETPOS);
break;
case ABN_FULLSCREENAPP:
{
if(!lParam)
{
DoAppBarStuff(ABM_GETSTATE);
break;
}
SetWindowPos(hMainWnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
break;
}
case ABN_WINDOWARRANGE:
if(lParam)
ShowWindow(hMainWnd, SW_HIDE);
else
ShowWindow(hMainWnd, SW_SHOW);
}
return 0;
}
case APPMSG_NOTIFYICON:
HandleNotifyIconMessage(hWnd, wParam, lParam);
return 0;
case WM_ACTIVATE:
if(AppBarConfig.uEdge>=0) DoAppBarStuff(ABM_ACTIVATE);
break;
case WM_WINDOWPOSCHANGED:
if(AppBarConfig.uEdge>=0) DoAppBarStuff(ABM_WINDOWPOSCHANGED);
Refresh();
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
break;
}
return 0;
return DefWindowProc(hWnd, message, wParam, lParam);
}
INT_PTR CALLBACK AboutProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)

View File

@@ -26,6 +26,16 @@
extern int iZoom;
struct _AppBarConfig_t {
DWORD cbSize;
INT uEdge;
DWORD value3;
DWORD value4;
RECT appBarSizes;
RECT rcFloating;
};
extern struct _AppBarConfig_t AppBarConfig;
extern BOOL bShowWarning;
extern BOOL bFollowMouse;

View File

@@ -24,38 +24,64 @@ BOOL bInvertColors = FALSE;
BOOL bStartMinimized = FALSE;
BOOL bShowMagnifier = TRUE;
struct _AppBarConfig_t AppBarConfig = {
sizeof(struct _AppBarConfig_t),
-2 /* ABE_TOP */,
0, 1, /* unknown */
{ 101,101,101,101 }, /* edge sizes */
{ 20, 20, 600, 200 }, /* floating window rect */
};
void LoadSettings()
{
HKEY hkey;
LONG value;
ULONG len;
struct _AppBarConfig_t config_temp;
if (RegOpenKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Magnify"), 0, KEY_READ, &hkey) == ERROR_SUCCESS)
{
len = sizeof(AppBarConfig);
if (RegQueryValueEx(hkey, _T("AppBar"), 0, 0, (BYTE *)&config_temp, &len) == ERROR_SUCCESS)
{
if(config_temp.cbSize == sizeof(AppBarConfig))
{
AppBarConfig = config_temp;
}
}
len = 4;
if (RegQueryValueEx(hkey, _T("StationaryMagLevel"), 0, 0, (BYTE *)&value, &len) == ERROR_SUCCESS)
{
if (value >= 0 && value <= 9)
iZoom = value;
}
len = 4;
if (RegQueryValueEx(hkey, _T("ShowWarning"), 0, 0, (BYTE *)&value, &len) == ERROR_SUCCESS)
bShowWarning = (value == 0 ? FALSE : TRUE);
len = 4;
if (RegQueryValueEx(hkey, _T("StationaryInvertColors"), 0, 0, (BYTE *)&value, &len) == ERROR_SUCCESS)
bInvertColors = (value == 0 ? FALSE : TRUE);
len = 4;
if (RegQueryValueEx(hkey, _T("StationaryStartMinimized"), 0, 0, (BYTE *)&value, &len) == ERROR_SUCCESS)
bStartMinimized = (value == 0 ? FALSE : TRUE);
len = 4;
if (RegQueryValueEx(hkey, _T("StationaryTrackCursor"), 0, 0, (BYTE *)&value, &len) == ERROR_SUCCESS)
bFollowMouse = (value == 0 ? FALSE : TRUE);
len = 4;
if (RegQueryValueEx(hkey, _T("StationaryTrackFocus"), 0, 0, (BYTE *)&value, &len) == ERROR_SUCCESS)
bFollowFocus = (value == 0 ? FALSE : TRUE);
len = 4;
if (RegQueryValueEx(hkey, _T("StationaryTrackSecondaryFocus"), 0, 0, (BYTE *)&value, &len) == ERROR_SUCCESS)
bFollowFocus = (value == 0 ? FALSE : TRUE);
len = 4;
if (RegQueryValueEx(hkey, _T("StationaryTrackText"), 0, 0, (BYTE *)&value, &len) == ERROR_SUCCESS)
bFollowCaret = (value == 0 ? FALSE : TRUE);
@@ -70,6 +96,8 @@ void SaveSettings()
if (RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Magnify"), 0, _T(""), 0, KEY_WRITE, NULL, &hkey, NULL) == ERROR_SUCCESS)
{
RegSetValueEx(hkey, _T("AppBar"), 0, REG_BINARY, (BYTE *)&AppBarConfig, sizeof(AppBarConfig));
value = iZoom;
RegSetValueEx(hkey, _T("StationaryMagLevel"), 0, REG_DWORD, (BYTE *)&value, sizeof(value));

View File

@@ -6,7 +6,8 @@ list(APPEND SOURCE
precomp.h)
add_rc_deps(mmc.rc ${CMAKE_CURRENT_SOURCE_DIR}/resources/mmc.ico)
add_executable(mmcclient ${SOURCE} mmc.rc)
set_module_type(mmcclient win32gui UNICODE)
add_importlibs(mmcclient user32 gdi32 comdlg32 advapi32 shell32 comctl32 msvcrt kernel32)
add_pch(mmcclient precomp.h SOURCE)
add_executable(mmc ${SOURCE} mmc.rc)
set_module_type(mmc win32gui UNICODE)
add_importlibs(mmc user32 gdi32 comdlg32 advapi32 shell32 comctl32 msvcrt kernel32 ntdll)
add_pch(mmc precomp.h SOURCE)
add_cd_file(TARGET mmc DESTINATION reactos/system32 FOR all)

View File

@@ -21,11 +21,52 @@
#include "resource.h"
#define NDEBUG
#include <debug.h>
typedef struct _CONSOLE_MAINFRAME_WND
{
HWND hwnd;
HWND hwndMDIClient;
HMENU hMenuConsoleSmall;
HMENU hMenuConsoleLarge;
INT nConsoleCount;
union
{
DWORD Flags;
struct
{
DWORD AppAuthorMode : 1;
};
};
} CONSOLE_MAINFRAME_WND, *PCONSOLE_MAINFRAME_WND;
typedef struct _CONSOLE_CHILDFRM_WND
{
HWND hwnd;
PCONSOLE_MAINFRAME_WND MainFrame;
PTSTR pFileName;
} CONSOLE_CHILDFRM_WND, *PCONSOLE_CHILDFRM_WND;
static const TCHAR szMMCMainFrame[] = TEXT("MMCMainFrame");
static const TCHAR szMMCChildFrm[] = TEXT("MMCChildFrm");
static ULONG NewConsoleCount = 0;
PCONSOLE_CHILDFRM_WND
GetActiveChildInfo(VOID)
{
HWND hWndMDIChild;
hWndMDIChild = (HWND)SendMessageW(hwndMDIClient, WM_MDIGETACTIVE, 0, 0);
if (hWndMDIChild == NULL)
return NULL;
return (PCONSOLE_CHILDFRM_WND)GetWindowLongPtr(hWndMDIChild, 0);
}
static LPTSTR
CreateNewConsoleTitle(VOID)
{
@@ -42,27 +83,6 @@ CreateNewConsoleTitle(VOID)
return lpTitle;
}
typedef struct _CONSOLE_MAINFRAME_WND
{
HWND hwnd;
HWND hwndMDIClient;
LPCTSTR lpConsoleTitle;
HMENU hMenuConsoleSmall;
HMENU hMenuConsoleLarge;
INT nConsoleCount;
union
{
DWORD Flags;
struct
{
DWORD AppAuthorMode : 1;
};
};
} CONSOLE_MAINFRAME_WND, *PCONSOLE_MAINFRAME_WND;
HWND
CreateNewMDIChild(PCONSOLE_MAINFRAME_WND Info,
HWND hwndMDIClient)
@@ -96,14 +116,11 @@ FrameOnCreate(HWND hwnd,
LPCTSTR lpFileName = (LPCTSTR)(((LPCREATESTRUCT)lParam)->lpCreateParams);
Info = HeapAlloc(hAppHeap,
0,
HEAP_ZERO_MEMORY,
sizeof(CONSOLE_MAINFRAME_WND));
if (Info == NULL)
return -1;
ZeroMemory(Info,
sizeof(CONSOLE_MAINFRAME_WND));
Info->hwnd = hwnd;
SetWindowLongPtr(hwnd,
@@ -120,19 +137,18 @@ FrameOnCreate(HWND hwnd,
{
/* FIXME */
Info->AppAuthorMode = TRUE;
Info->lpConsoleTitle = TEXT("ReactOS Management Console");
// Info->lpConsoleTitle = TEXT("ReactOS Management Console");
}
else
{
Info->AppAuthorMode = TRUE;
Info->lpConsoleTitle = CreateNewConsoleTitle();
// Info->lpConsoleTitle = CreateNewConsoleTitle();
}
SetMenu(Info->hwnd,
Info->hMenuConsoleSmall);
SetWindowText(Info->hwnd,
Info->lpConsoleTitle);
SetWindowText(Info->hwnd, TEXT("ReactOS Management Console"));
ccs.hWindowMenu = GetSubMenu(Info->hMenuConsoleLarge, 1);
ccs.idFirstChild = IDM_MDI_FIRSTCHILD;
@@ -157,6 +173,134 @@ FrameOnCreate(HWND hwnd,
}
static VOID
SetFileName(
PCONSOLE_CHILDFRM_WND Info,
PWSTR pFileName)
{
DPRINT1("SetFileName(&p \'%S\')\n", Info, pFileName);
if (Info->pFileName != NULL)
{
HeapFree(GetProcessHeap(), 0, Info->pFileName);
Info->pFileName = NULL;
}
if (pFileName != NULL)
{
Info->pFileName = HeapAlloc(GetProcessHeap(),
0,
(_tcslen(pFileName) + 1) * sizeof(TCHAR));
if (Info->pFileName != NULL)
_tcscpy(Info->pFileName, pFileName);
}
}
static BOOL
DoSaveFileAs(
HWND hWnd,
PCONSOLE_CHILDFRM_WND pChildInfo);
static BOOL
DoSaveFile(
HWND hWnd,
PCONSOLE_CHILDFRM_WND pChildInfo)
{
DPRINT1("pChildInfo %p\n", pChildInfo);
DPRINT1("FileName %S\n", pChildInfo->pFileName);
if (pChildInfo->pFileName == NULL)
return DoSaveFileAs(hWnd, pChildInfo);
/* FIXME: Save the console here! */
return TRUE;
}
static BOOL
DoSaveFileAs(
HWND hWnd,
PCONSOLE_CHILDFRM_WND pChildInfo)
{
OPENFILENAME saveas;
TCHAR szPath[MAX_PATH];
DPRINT1("pChildInfo %p\n", pChildInfo);
DPRINT1("FileName %S\n", pChildInfo->pFileName);
ZeroMemory(&saveas, sizeof(saveas));
if (pChildInfo->pFileName != NULL)
{
_tcscpy(szPath, pChildInfo->pFileName);
}
else
{
GetWindowText(pChildInfo->hwnd, szPath, MAX_PATH);
_tcscat(szPath, TEXT(".msc"));
}
saveas.lStructSize = sizeof(OPENFILENAME);
saveas.hwndOwner = hWnd;
saveas.hInstance = hAppInstance;
saveas.lpstrFilter = L"MSC Files\0*.msc\0";
saveas.lpstrFile = szPath;
saveas.nMaxFile = MAX_PATH;
saveas.Flags = OFN_HIDEREADONLY | OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT;
saveas.lpstrDefExt = L"msc";
if (GetSaveFileName(&saveas))
{
/* HACK: Because in ROS, Save-As boxes don't check the validity
* of file names and thus, here, szPath can be invalid !! We only
* see its validity when we call DoSaveFile()... */
SetFileName(pChildInfo, szPath);
if (DoSaveFile(hWnd, pChildInfo))
{
// UpdateWindowCaption();
return TRUE;
}
else
{
SetFileName(pChildInfo, NULL);
return FALSE;
}
}
else
{
return FALSE;
}
}
static BOOL
FrameOnSave(
HWND hWnd)
{
PCONSOLE_CHILDFRM_WND pChildInfo;
pChildInfo = GetActiveChildInfo();
if (pChildInfo == NULL)
return FALSE;
return DoSaveFile(hWnd, pChildInfo);
}
static BOOL
FrameOnSaveAs(
HWND hWnd)
{
PCONSOLE_CHILDFRM_WND pChildInfo;
pChildInfo = GetActiveChildInfo();
if (pChildInfo == NULL)
return FALSE;
return DoSaveFileAs(hWnd, pChildInfo);
}
static VOID
FrameOnCommand(HWND hwnd,
UINT uMsg,
@@ -176,6 +320,14 @@ FrameOnCommand(HWND hwnd,
Info->hMenuConsoleLarge);
break;
case IDM_FILE_SAVE:
FrameOnSave(hwnd);
break;
case IDM_FILE_SAVEAS:
FrameOnSaveAs(hwnd);
break;
case IDM_FILE_EXIT:
PostMessage(hwnd, WM_CLOSE, 0, 0);
break;
@@ -310,12 +462,6 @@ ConsoleMainFrameWndProc(IN HWND hwnd,
}
typedef struct _CONSOLE_CHILDFRM_WND
{
HWND hwnd;
PCONSOLE_MAINFRAME_WND MainFrame;
} CONSOLE_CHILDFRM_WND, *PCONSOLE_CHILDFRM_WND;
static LRESULT CALLBACK
ConsoleChildFrmProc(IN HWND hwnd,
IN UINT uMsg,
@@ -331,13 +477,10 @@ ConsoleChildFrmProc(IN HWND hwnd,
{
case WM_CREATE:
Info = HeapAlloc(hAppHeap,
0,
HEAP_ZERO_MEMORY,
sizeof(CONSOLE_CHILDFRM_WND));
if (Info != NULL)
{
ZeroMemory(Info,
sizeof(CONSOLE_CHILDFRM_WND));
Info->hwnd = hwnd;
SetWindowLongPtr(hwnd,
@@ -348,7 +491,12 @@ ConsoleChildFrmProc(IN HWND hwnd,
case WM_DESTROY:
if (Info != NULL)
HeapFree(hAppHeap, 0, Info);
{
if (Info->pFileName)
HeapFree(hAppHeap, 0, Info->pFileName);
HeapFree(hAppHeap, 0, Info);
}
PostMessage(hwndMainConsole, WM_USER_CLOSE_CHILD, 0, 0);
break;

View File

@@ -5,6 +5,7 @@ BEGIN
POPUP "&Файл"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "Из&ход\tAlt+F4", IDM_FILE_EXIT
END
@@ -19,6 +20,9 @@ BEGIN
POPUP "&Файл"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "Из&ход\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -5,6 +5,7 @@ BEGIN
POPUP "&Fitxer"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "&Sortida\tAlt+F4", IDM_FILE_EXIT
END
@@ -19,6 +20,9 @@ BEGIN
POPUP "&Fitxer"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "&Sortida\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -10,6 +10,7 @@ BEGIN
POPUP "&Soubor"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "Uk&ončit\tAlt+F4", IDM_FILE_EXIT
END
@@ -24,6 +25,9 @@ BEGIN
POPUP "&Soubor"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "Uk&ončit\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -5,6 +5,7 @@ BEGIN
POPUP "&Datei"
BEGIN
MENUITEM "Neu\tStrg+N", IDM_FILE_NEW
MENUITEM "Öffnen\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "B&eenden\tAlt+F4", IDM_FILE_EXIT
END
@@ -19,6 +20,9 @@ BEGIN
POPUP "&Datei"
BEGIN
MENUITEM "Neu\tStrg+N", IDM_FILE_NEW
MENUITEM "Öffnen\tStrg+O", IDM_FILE_OPEN
MENUITEM "Speichern", IDM_FILE_SAVE
MENUITEM "Speichern unter...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "B&eenden\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -5,6 +5,7 @@ BEGIN
POPUP "&Αρχείο"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "Έ&ξοδος\tAlt+F4", IDM_FILE_EXIT
END
@@ -19,6 +20,9 @@ BEGIN
POPUP "&Αρχείο"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "Έ&ξοδος\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -5,6 +5,7 @@ BEGIN
POPUP "&File"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "E&xit\tAlt+F4", IDM_FILE_EXIT
END
@@ -19,6 +20,9 @@ BEGIN
POPUP "&File"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "E&xit\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -11,6 +11,7 @@ BEGIN
POPUP "&Archivo"
BEGIN
MENUITEM "Nuevo\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "Sa&lir\tAlt+F4", IDM_FILE_EXIT
END
@@ -25,6 +26,9 @@ BEGIN
POPUP "&Archivo"
BEGIN
MENUITEM "Nuevo\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "Sa&lir\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -5,6 +5,7 @@ BEGIN
POPUP "&Fichier"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "Quitter\tAlt+F4", IDM_FILE_EXIT
END
@@ -19,6 +20,9 @@ BEGIN
POPUP "&Fichier"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "Quitter\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -5,6 +5,7 @@ BEGIN
POPUP "&קובץ"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "&יציאה\tAlt+F4", IDM_FILE_EXIT
END
@@ -19,6 +20,9 @@ BEGIN
POPUP "&קובץ"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "&יציאה\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -5,6 +5,7 @@ BEGIN
POPUP "&File"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "E&sci\tAlt+F4", IDM_FILE_EXIT
END
@@ -19,6 +20,9 @@ BEGIN
POPUP "&File"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "E&sci\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -7,6 +7,7 @@ BEGIN
POPUP "파일(&F)"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "종료(&E)\tAlt+F4", IDM_FILE_EXIT
END
@@ -21,6 +22,9 @@ BEGIN
POPUP "파일(&F)"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "종료(&E)\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -7,6 +7,7 @@ BEGIN
POPUP "&Byla"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "&Baigti\tAlt+F4", IDM_FILE_EXIT
END
@@ -21,6 +22,9 @@ BEGIN
POPUP "&Byla"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "&Baigti\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -7,6 +7,7 @@ BEGIN
POPUP "&Fail"
BEGIN
MENUITEM "Baru\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "Keluar(&X)\tAlt+F4", IDM_FILE_EXIT
END
@@ -21,6 +22,9 @@ BEGIN
POPUP "&Fail"
BEGIN
MENUITEM "Baru\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "Keluar(&X)\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -5,6 +5,7 @@ BEGIN
POPUP "&Fil"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "&Avslutt\tAlt+F4", IDM_FILE_EXIT
END
@@ -19,6 +20,9 @@ BEGIN
POPUP "&Fil"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "&Avslutt\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -12,6 +12,7 @@ BEGIN
POPUP "Pl&ik"
BEGIN
MENUITEM "Nowa\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "Za&kończ\tAlt+F4", IDM_FILE_EXIT
END
@@ -26,6 +27,9 @@ BEGIN
POPUP "Pl&ik"
BEGIN
MENUITEM "Nowa\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "Za&kończ\tAlt+F4", IDM_FILE_EXIT
END

View File

@@ -5,6 +5,7 @@ BEGIN
POPUP "&Arquivo"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "Sai&r\tAlt+F4", IDM_FILE_EXIT
END
@@ -19,6 +20,9 @@ BEGIN
POPUP "&Arquivo"
BEGIN
MENUITEM "New\tCtrl+N", IDM_FILE_NEW
MENUITEM "Open\tStrg+O", IDM_FILE_OPEN
MENUITEM "Save", IDM_FILE_SAVE
MENUITEM "Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "Sai&r\tAlt+F4", IDM_FILE_EXIT
END

Some files were not shown because too many files have changed in this diff Show More