Compare commits

...

1083 Commits

Author SHA1 Message Date
Joachim Henze
2e8c7cf423 [SDK] Raise KERNEL_VERSION_PATCH_LEVEL to 13 in the version.cmake 2019-04-08 18:25:01 +02:00
Stanislav Motylkov
e0e5363a73 [THEMES][CMAKE] Cmake file fixup for Modern theme
Addendum to 00ff951. CORE-13020
2019-04-08 16:28:22 +02:00
Jake Collins
00ff951038 [THEMES] Overhaul ReactOS modern theme. CORE-13020 (#1424) 2019-04-08 15:10:59 +02:00
Katayama Hirofumi MZ
c65156002c [SHELL32] Fix SHFileOperation Move operation (#1487)
Reduce failures of Move operation of shell32!SHFileOperation function. CORE-13450
2019-04-08 21:59:33 +09:00
Victor Perevertkin
5f4cf8a716 [USBHID] Do not assert if the device was unplugged during an operation. 2019-04-08 12:05:17 +03:00
Stanislav Motylkov
911031e840 [RAPPS] Update Russian translation
Addendum to 07f3691 and d5b4570.
2019-04-07 23:51:34 +02:00
Stanislav Motylkov
d2a2632fd9 [SYSSETUP] Update Russian translation
Addendum to 5d4d48a, 21b7648, and ea799b7.
2019-04-07 23:51:34 +02:00
Foxlet
ea799b74f1 [SYSSETUP] Add Mizu to syssetup. 2019-04-07 22:47:20 +02:00
Foxlet
28804dd71d [THEMES] Mizu Theme RC. 2019-04-07 22:47:20 +02:00
Foxlet
bb3c53c5a0 [FONTS] Add Source Sans font family.
Source Sans Pro sourced from https://github.com/adobe-fonts/source-sans-pro ,
Source Code Pro sourced from https://github.com/adobe-fonts/source-code-pro
2019-04-07 22:47:20 +02:00
Hervé Poussineau
11d11cf6d0 [CMAKE] Temporarly disable pch in some modules to fix travis-ci
Problem appeared after 09c4d0a74b
2019-04-07 21:00:49 +02:00
Hervé Poussineau
902b86eecf [UDFS] Fix macros to support 'bit' being a complex expression
This is for example used in udf_info/mount.cpp:
    UDFSetUsedBits(new_bm, i & ~(d-1), d);
2019-04-07 19:28:18 +02:00
Hervé Poussineau
5f69f99ce2 [UDFS] Keep same includes/defines on x64 as on other architectures 2019-04-07 19:28:18 +02:00
Hervé Poussineau
4d1a8f8f54 [NTOS:FSRTL] Use _SEH2_AbnormalTermination() instead of _abnormal_termination()
We're already using SEH2 macros, so also use SEH2 functions
2019-04-07 19:28:18 +02:00
Hervé Poussineau
33cf2c44c5 [MUP] Use _SEH2_AbnormalTermination() instead of _abnormal_termination()
We're already using SEH2 macros, so also use SEH2 functions
2019-04-07 19:28:18 +02:00
Hervé Poussineau
2baf7b5220 [SDK] Fix _SEH2_AbnormalTermination() macro in dummy SEH 2019-04-07 19:28:18 +02:00
Hervé Poussineau
10ecbaddd0 [ADVAPI32] Send correct type to ElfrChangeNotify()
This fixes the following compiler error:
../dll/win32/advapi32/service/eventlog.c:658:59: error: passing argument 3 of 'ElfrChangeNotify' makes integer from pointer without a cast [-Werror=int-conversion]
dll/win32/advapi32/eventlogrpc_c.h:391:20: note: expected 'ULONG {aka long unsigned int}' but argument is of type 'HANDLE {aka void *}'
2019-04-07 18:32:29 +02:00
Hervé Poussineau
cb031ac957 [ACLAYERS] Use correct prototypes
FARPROC is defined in windef.h as "typedef INT_PTR (WINAPI *FARPROC)();"
2019-04-07 18:32:29 +02:00
Hervé Poussineau
4c1cbd2b53 [EXT2] Add __REACTOS__ check around changes done in 76910c358f 2019-04-07 18:32:29 +02:00
Hervé Poussineau
09c4d0a74b [CMAKE] Prevent out-of-bound accesses in parser/lexer files
which try to remove path prefix from them.
2019-04-07 18:32:29 +02:00
Hervé Poussineau
15a828c86d [DHCPCSVC] Eliminate unused code and associated parameters
This is mostly the same as OpenBSD commit b4e4f16f2ae0ddf1e786bb12c99b8c51170a1a33
2019-04-07 18:32:28 +02:00
Hervé Poussineau
a3e870be51 [SDK] Remove double declaration of _alloca
_alloca() is already defined in sdk/include/crt/malloc.h
2019-04-07 18:32:28 +02:00
Eric Kohl
626aaf227c [NTOSKRNL] Use global power capabilities and report button presence
- Add and initialize a global power capabilities variable.
- Return the global power capabilities via NtPowerInformation.SystemPowerCapabilities.
- Report the presence of power button, sleep button and lid.
2019-04-07 16:42:58 +02:00
Joachim Henze
b71429059a [COMCTL32] Improve status bar margin for unthemed and themed CORE-15834
Improve further what was recently committed in
0.4.12-dev-361-g
da9accfba6
2019-04-07 15:15:25 +02:00
Katayama Hirofumi MZ
f762aa3dd2 [SHELL32] Fix explorer file item label background CORE-15937 2019-04-07 21:38:00 +09:00
Katayama Hirofumi MZ
15537c3bbe [KERNEL32] Support Japanese calendar (#1482)
Implement the Japanese calendar in kernel32. Locale info and date formatting. CORE-15920
2019-04-07 20:20:23 +09:00
Katayama Hirofumi MZ
a008bf8ef2 [KERNEL32_APITEST] Improve one-character Heisei tests (#1483)
One-character Heisei for CAL_SABBREVERASTRING locale info can be U+337B or U+5E73. And one-character Reiwa U+32FF, U+4EE4, and U+F9A8 are also added. Improve kernel32_apitest testcase. Thanks @ThFabba CORE-15920
2019-04-07 18:35:52 +09:00
Thomas Faber
89a587169b [ACPICA] Update to version 20190405. CORE-15926 2019-04-07 10:59:52 +02:00
Eric Kohl
5563525ad4 [NET][MC] Move the remaining STATISTICS and USER strings from net.exe to netmsg.dll.
Translators, please check the translations!
2019-04-07 09:23:01 +02:00
Katayama Hirofumi MZ
72990b29c5 [KERNEL32_APITEST] JapaneseCalendar must work even if not codepage 932"
Delete (GetACP() != 932) check.
2019-04-07 12:18:54 +09:00
Maxim Smirnov
ffb4b674c7 [FONT] Fix FontSmoothing 2019-04-07 01:42:29 +02:00
Katayama Hirofumi MZ
b8f5fed484 [BOOTDATA] Improve error message of AHKAppTests.cmd (#1476)
+    dbgprint "Insert ReactOS CD and try again."
2019-04-07 08:05:35 +09:00
Eric Kohl
cf16429c60 [NET][MC] Move STATISTICS SERVER strings from net.exe to netmsg.dll.
Translators, please check the translations!
2019-04-06 19:42:51 +02:00
Jérôme Gardou
f489c3fd07 [CMAKE] Clear CMAKE_<LANGUAGE>_IMPLICIT_LINK_LIBRARIES and
_IMPLICIT_LINK_DIRECTORIES

Othrewise, if you link a RC module with a static C library (as done for
fusion DLLs), you get the standard C libraries from GCC. This is not
what we want.

This might have to be done for MSVC builds. Check build.ninja to verify
this.
2019-04-06 17:43:38 +02:00
Jérôme Gardou
157a509a0f [CMAKE] Also set blank DEFINE_SYMBOL property for freeldr helpers 2019-04-06 17:43:38 +02:00
Jérôme Gardou
e24182f8c0 [GDI32] Use correct dependenxy for the winegdi library 2019-04-06 17:43:38 +02:00
Jérôme Gardou
aa91628b0e [ZLIB] use correct dependency for minizip library 2019-04-06 17:43:38 +02:00
Jérôme Gardou
979972b900 [CMAKE] unset EXPORT_SYMBOL for modules and shared libraries
We don't use that
2019-04-06 17:43:38 +02:00
Jérôme Gardou
23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Eric Kohl
050db4facb [NET][MC] Move NET USER strings from net.exe to netmsg.dll.
Translators, please check the translations!
2019-04-06 15:42:10 +02:00
Katayama Hirofumi MZ
afb47b845f [KERNEL32_APITEST] s/48815/0xBEAF/ 2019-04-06 21:59:35 +09:00
Eric Kohl
8120a5ec80 [NET][MC] Move NET CONFIG strings from net.exe to netmsg.dll.
Translators, please check the translations!
2019-04-06 13:39:42 +02:00
Katayama Hirofumi MZ
c7bebe40cb [KERNEL32] Improve MultiByteToWideChar (#1477)
Reduce MultiByteToWideChar failures. CORE-13349
2019-04-06 20:11:07 +09:00
Katayama Hirofumi MZ
3ce3b4c283 [KERNEL32_APITEST] Follow up of 89af984 2019-04-06 18:20:04 +09:00
Katayama Hirofumi MZ
89af984b16 [KERNEL32_APITEST] 5-byte, 6-byte, ... UTF-8 sequences 2019-04-06 17:48:15 +09:00
Timo Kreuzer
7cb02f432f [MC] Add missing message translations by copying the english version
Note: always translate the whole file! It's easier (use a script or simply a regex replace) and required by Visual Studio 2019.
2019-04-06 09:01:34 +02:00
Katayama Hirofumi MZ
eee53c734b [KERNEL32_APITEST] Careless 2019-04-06 13:55:03 +09:00
Katayama Hirofumi MZ
0cdee99e05 [KERNEL32_APITEST] Trivial 2019-04-06 13:51:34 +09:00
Katayama Hirofumi MZ
e015239426 [KERNEL32_APITEST] Forgot FreeLibrary 2019-04-06 13:48:05 +09:00
Katayama Hirofumi MZ
aa39ad97aa [KERNEL32_APITEST] Follow up of #1472 2019-04-06 13:34:21 +09:00
Katayama Hirofumi MZ
da2767364a also add modules/AHK_Tests to .gitignore 2019-04-06 12:05:15 +09:00
Katayama Hirofumi MZ
246b691c64 add modules/ahk_tests to .gitignore 2019-04-06 11:47:25 +09:00
Katayama Hirofumi MZ
6150baf414 [SHELL32] pl-PL.rc escape sequence fix 2019-04-06 11:41:08 +09:00
Adam Słaboń
21b7648f15 [SYSSETUP] Add Lunar theme option to 2nd setup stage
This adds Lunar theme option to the 2nd setup stage theme chooser page.
2019-04-06 01:10:52 +02:00
Eric Kohl
9f95e35ff3 [NET][MC] Replace strings for the ACCOUNTS, GROUP and LOCALGROUP commands by netmsg.dll messages. 2019-04-05 23:15:32 +02:00
Mark Jansen
5d4d48a850 [SYSSETUP] Add a theme chooser that can handle multiple styles 2019-04-05 21:56:31 +02:00
Katayama Hirofumi MZ
3400a27ca5 [KERNEL32_APITEST] Improve MultiByteToWideChar testcase (#1472)
Strengthen the testcase for kernel32!MultiByteToWideChar function. ROSTESTS-282
2019-04-05 22:04:04 +09:00
Katayama Hirofumi MZ
572e028de1 [SDK][ATL] Independence day of ReactOS ATL (#1473)
Today is the Independence Day of ReactOS ATL (RATL). CORE-12935
https://github.com/katahiromz/RATL
2019-04-05 19:45:45 +09:00
Petr Akhlamov
98c786f7d7 [FONTS] Update Libre Franklin to v1.501 (#1464)
Update Libre Franklin to release with cyrillic support.
https://github.com/alexeiva/Libre-Franklin/releases/tag/1.501
2019-04-05 11:15:47 +02:00
Adam Słaboń
7047aa80ef [TRANSLATION] Polish translation update
Polish translation update for calc, fltmc, magnify, notepad, osk, sndvol32, usetup, fdebug, appwiz, mmsys, sysdm, acppage, ziplfdr, browseui, cryptui, jscript, shell32, themeui and inf. Added translation for cyrptext, vcdcontroltool, and (not yet complete) getuname.
2019-04-05 10:34:10 +02:00
Katayama Hirofumi MZ
f55ded91a4 [SHIMGVW] Fix cursor (#1471)
Fix the cursor of shimgvw.dll. CORE-15219
2019-04-05 16:52:11 +09:00
Katayama Hirofumi MZ
6388b91a4d [CRT][USER32] fix wsprintf additional argument (%*s) (#1470)
Reduce wsprintf function failures ("%*s"). CORE-13955
2019-04-05 16:33:18 +09:00
Katayama Hirofumi MZ
2fd3a8f1b5 [KERNEL32_APITEST] Follow up of #1466 (#1469)
Skip tests if the current codepage is not Japanese. CORE-15920
2019-04-05 13:04:15 +09:00
Katayama Hirofumi MZ
eb8d1d929f [KERNEL32_APITEST] Japanese calendar testcase (#1466)
Add Japanese calendar-related tests. CORE-15920
2019-04-05 09:06:41 +09:00
Katayama Hirofumi MZ
d04b4e65d6 [SHELL32] Implement Explorer background image (Retrial of #801) (#1463)
IconArea_Image, IconArea_Text and IconArea_TextBackground values in desktop.ini in a folder will be supported. It denies network paths. CORE-5516
2019-04-05 07:59:35 +09:00
Katayama Hirofumi MZ
466dbc5929 [BOOTDATA] Japanese calendar-related registry info (#1468)
Add registry info about Japanese calendar. CORE-15920
2019-04-05 07:21:00 +09:00
Eric Kohl
a8dea717f2 [MC] Add spanisch, polish, romanian, turkish, chinese and taiwanese messages to the file by duplicating the english ones and translate messages that will be used by the NET ACCOUNTS command.
Translators, please check the translations.
2019-04-04 23:53:35 +02:00
Pierre Schweitzer
2a104321ee [UDFS] Fix an integer overflow leading to a buffer overrun
Spotted by GCC7
2019-04-04 15:08:21 +02:00
Katayama Hirofumi MZ
8bf795ff76 [GDI32_APITEST] Add LPtoDP testcase (#1462)
ROSTESTS-320
2019-04-04 10:44:52 +09:00
Katayama Hirofumi MZ
2c48ab4c0e [ROSTESTS][GDI32_APITEST] Follow up of #1459 (#1460)
ROSTESTS-319
2019-04-04 05:25:02 +09:00
Mark Jansen
d71712e909 [SYSSETUP] Ask for common controls v6 when using v6 features 2019-04-03 19:44:27 +02:00
Mark Jansen
bae083355d [SYSSETUP] Add a missing break 2019-04-03 19:44:16 +02:00
Katayama Hirofumi MZ
e157a5fe1c [GDI32_APITEST] Improve DPtoLP testcase (#1459)
ROSTESTS-319
2019-04-03 22:48:42 +09:00
Katayama Hirofumi MZ
234a78e09f [ROSTESTS][GDI32_APITEST] Follow up of #1457 (#1458)
Thanks, @SergeGautherie.
2019-04-03 20:42:21 +09:00
Katayama Hirofumi MZ
f65a62ea5b [ROSTESTS][GDI32_APITEST] Refactor testcases (#1457)
[ROSTESTS][GDI32_APITEST] Refactor testcases
2019-04-03 17:22:21 +09:00
Maxim Smirnov
39c0fd5722 [SHELL32] Fix version info in the file dialog 2019-04-03 00:51:24 +02:00
Alexandr A. Telyatnikov
6d5a81013c [UNIATA] Fix for uninitialized Lun pointer
This fixes crash on Intel AHCI init. CORE-15886
2019-04-02 18:02:07 +02:00
Julien Schueller
23d0aead53 [KERNEL32] Fix typo in kernel32.spec (#1453) 2019-04-02 15:48:41 +02:00
Katayama Hirofumi MZ
635534005b [WIN32SS][FONT] Fix font coordinate conversion CORE-15907 (#1452)
[WIN32SS][FONT] Fix font bounding box mapping for viewport CORE-15907
2019-04-02 22:39:26 +09:00
Timo Kreuzer
c334c17d69 [UDFS] Fix 64 bit issues 2019-04-02 10:53:23 +02:00
Timo Kreuzer
be97da34ac [NETAPI32] Fix NetUserEnum to work on x64
The previous implementation used the resume_handle parameter to return a pointer to the active enumeration context, but resume_handle is a DWORD. To support 64 bit pointers, the enumeration context is inserted into a global linked list and given a unique 32 bit value as identifier for later lookup.
The way the function is implemented, leaking a data structure while the MSDN description does not indicate that, seems a little questionable in general, but that is something that I leave to the original author to investigate.
2019-04-02 01:45:51 +02:00
Timo Kreuzer
61e35141e8 [SETUPAPI] Use ClassInstallReserved field instead of Reserved to store a pointer.
The Reserved field is ULONG and we need ULONG_PTR. ClassInstallReserved was unused so far. I have no idea whether this is correct, but it cannot be more incorrect than what we had.
2019-04-01 22:20:39 +02:00
Hervé Poussineau
0c4d21a5a1 Revert "[DXG] Define GUIDs only once", to fix MSVC build
This reverts commit 3a78dd4b31.
2019-04-01 18:00:59 +02:00
Hervé Poussineau
ef3ded6b97 [CMAKE] Enable -fno-aggressive-loop-optimizations only for GCC 4.8(+)
Previously, it was also enabled for GCC > 4.7, ie for example for GCC 4.7.1
2019-04-01 17:32:07 +02:00
Hervé Poussineau
2f46ab2104 [RAPPS] Fix compilation
DPA_Search() function requires 6 parameters, not 4!
2019-04-01 11:38:32 +02:00
Hervé Poussineau
6cc607bac2 [SETUPAPI] SetupDiGetDeviceInfoListClass: fix buffer overflow (and return correct results) 2019-04-01 11:38:32 +02:00
Hervé Poussineau
faa938e9dc [USERENV] Initialize variable before using it 2019-04-01 11:38:32 +02:00
Hervé Poussineau
6a1c78b37b [GLU32] Prevent a warning when comparing 'this' against 0 2019-04-01 11:38:32 +02:00
Hervé Poussineau
3a78dd4b31 [DXG] Define GUIDs only once 2019-04-01 11:38:32 +02:00
Hervé Poussineau
12c70fb4cf [UDFS] Really use 'logical or' when meant to
'binary or' was also working, but it is less clear.
2019-04-01 11:38:32 +02:00
Hervé Poussineau
76910c358f [EXT2] Correctly zero memory before using it 2019-04-01 11:38:32 +02:00
Hervé Poussineau
c8719ee865 [CRT] Correctly share get_ioinfo()/release_ioinfo() functions between code units
This fixes the following compiler errors:

../sdk/lib/crt/stdio/stat64.c:7:13: error: inline function 'release_ioinfo' declared but never defined [-Werror]
 inline void release_ioinfo(ioinfo *info);
             ^~~~~~~~~~~~~~
../sdk/lib/crt/stdio/stat64.c:6:16: error: inline function 'get_ioinfo' declared but never defined [-Werror]
 inline ioinfo* get_ioinfo(int fd);
                ^~~~~~~~~~
../sdk/lib/crt/stdio/file.c:186:5: error: 'init_ioinfo_cs' is static but used in inline function 'get_ioinfo' which is not static [-Werror]
     init_ioinfo_cs(ret);
     ^~~~~~~~~~~~~~
../sdk/lib/crt/stdio/file.c:183:19: error: 'get_ioinfo_nolock' is static but used in inline function 'get_ioinfo' which is not static [-Werror]
     ioinfo *ret = get_ioinfo_nolock(fd);
2019-04-01 11:38:32 +02:00
Hervé Poussineau
c3e2a54789 [SDK] Fix compilation error
../sdk/include/reactos/rosctrls.h:283:59: error: no matching function for call to 'CToolbar<TItemData>::SendMessageW(int, HWND__*&, int)'
         return SendMessageW(TB_SETTOOLTIPS, hWndTooltip, 0);
../sdk/include/psdk/winuser.h:5543:21: note: candidate: LRESULT ATL::CWindow::SendMessageW(UINT, WPARAM, LPARAM) <near match>
../sdk/include/psdk/winuser.h:5543:21: note:   conversion of argument 2 would be ill-formed
2019-04-01 11:38:32 +02:00
Hervé Poussineau
a15160cd45 [FREELDR] Prevent a warning in Xbox memory initialization 2019-04-01 11:38:32 +02:00
Hervé Poussineau
95671c25ec [CMAKE] Add -fno-aggressive-loop-optimizations flag
ReactOS/Windows headers contain lots of structures whose last field is
fieldName[ANYSIZE] or fieldName[1].
Starting with GCC 4.8, gcc considers that accessing items [2], [3], ...
are undefined operation, and may optimize those accesses by removing them!

Add flag -fno-aggressive-loop-optimizations to prevent this unwanted behaviour.
2019-04-01 11:38:32 +02:00
Hervé Poussineau
6668178cff [PSDK] Remove throw specifiers, deprecated in C++11 2019-04-01 11:38:32 +02:00
Bartosz Brachaczek
d256ff6006 [NTOSKRNL] Do not try to access OldBackTracking[-1]
It can be triggered by the existing "F<", "FILE.TXT" case in the tests.

CORE-15902
2019-04-01 08:28:00 +02:00
Bartosz Brachaczek
695e00fbbd [NTOSKRNL] Unify buffer size calculation in FsRtlIs{Name,Dbcs}InExpression
It better captures the intent now in FsRtlIsNameInExpressionPrivate and
fixes a slight overallotion by 4 bytes in FsRtlIsDbcsInExpression.

While at it, use the ANSI_DOS_DOT macro in the Dbcs version.

CORE-15902
2019-04-01 08:27:59 +02:00
Hermès Bélusca-Maïto
6eadbfb7e7 [TRANSLATION][USERINIT] Update Bulgarian translation.
Fixed the "installation failed" displayed error string.
Based on a patch by contributor 'WindowxDeveloper'.
2019-03-31 23:18:29 +02:00
WindowxDeveloper
5577e8fbe8 [TRANSLATION][RUNONCE] Add Bulgarian translation. 2019-03-31 23:05:32 +02:00
WindowxDeveloper
e78aa82d0a [TRANSLATION][WINLOGON] Improve Bulgarian translation. 2019-03-31 22:58:14 +02:00
WindowxDeveloper
6bcf552011 [TRANSLATION][SERVICES] Add Bulgarian translation. 2019-03-31 22:54:33 +02:00
Joann Mõndresku
6c9f1a8c26 [THEMES] Add artwork for Lunar.
Added original artwork for the new Lunar theme.
2019-03-31 22:13:24 +02:00
Adam Słaboń
8946920109 [THEMES] Add new ReactOS theme - Lunar. By Adam Słaboń and Joann Mõndresku.
Reuse some Lautus assets, adjust the theme configuration and include it in the build process.
2019-03-31 22:13:15 +02:00
jimtabor
2f5c0ee0a9 [NtGdi] Fix assert with Winamp
Fixes CORE-10774.

Reference:
Alexandre Julliard : Ignore empty rectangles in ExtCreateRegion.
8ac61c5a1e
2019-03-31 13:31:59 -05:00
Bișoc George
bd5fb32b79 [COVERITY][SPOOLSS] Fix a resource leak
Unload the library pointed by hWinspool when the function fails.

CID 1401149
2019-03-31 20:09:42 +02:00
Baruch Rutman
d5b4570d23 [RAPPS] Add themes category
Add category string to the rest of rc files

Update README
2019-03-31 20:08:25 +02:00
Raul Tambre
3592ca6545 [CONFIGURE] Add VS 16.0 support. 2019-03-31 20:02:56 +02:00
Raul Tambre
989667f0c2 [CONFIGURE] Simplify Visual Studio generator selection.
CMake >3.2 supports specifying the architecture through the -A parameter,
allowing the logic to be simplified.
Specifying the architecture like this is also required since Visual Studio 2019.
2019-03-31 20:02:55 +02:00
Bartosz Brachaczek
e9b438bfaa [NTOSKRNL] Addendum to 21d2c70: properly start DOS_START loop
Fixes last failing test.

CORE-15902
2019-03-31 19:35:25 +02:00
Maxim Smirnov
d29e216f99 [NTOSKRNL] In MmCreateImageSection, properly check whether cache was initialized
This fixes a crash that occurs if nul is typed in cmd.exe
2019-03-31 13:51:06 +02:00
Bartosz Brachaczek
8bc9935fcb [NTOSKRNL] Properly copy backtracking buffer content on realloc
CORE-15902
2019-03-31 11:44:01 +02:00
Bartosz Brachaczek
21d2c70bb4 [NTOSKRNL] Properly compare position to name length in FsRtlIsNameInExpressionPrivate
CORE-15902
2019-03-31 11:44:00 +02:00
Bartosz Brachaczek
5d5e9c8486 [NTOSKRNL] Don't overflow backtrack stack buffer
CORE-15902
2019-03-31 11:44:00 +02:00
Bartosz Brachaczek
b1ae592e7f [NTOSKRNL] Don't oversize buffer for backtracking in FsRtlIsNameInExpressionPrivate
CORE-15902
2019-03-31 11:44:00 +02:00
Pierre Schweitzer
180d7169e6 [KMTESTS:FSRTL] Add more tests for FsRtlIsNameInExpression
CORE-15902
2019-03-31 11:44:00 +02:00
Thomas Faber
ca86ee9c03 [MBEDTLS] Update to version 2.7.10. CORE-15895 2019-03-30 14:57:40 +01:00
Thomas Faber
ba1fb9ace9 [ACPICA] Update to version 20190329. CORE-15900 2019-03-30 14:57:35 +01:00
Thomas Faber
d605b5063f [NTOS:IO] Send IRPs to the correct device in IoVolumeDeviceToDosName. CORE-15415 2019-03-30 10:13:27 +01:00
Pierre Schweitzer
3a5063948e [MEH] Forgot that file :-( 2019-03-29 21:51:41 +01:00
Pierre Schweitzer
ef8b1a1907 [NTOSKRNL] We don't need an event if we don't issue an IRP 2019-03-29 21:47:34 +01:00
Pierre Schweitzer
28ba29e457 [NTOSKRNL] Implement support for FileFsDriverPathInformation in NtQueryVolumeInformationFile 2019-03-29 21:42:42 +01:00
Pierre Schweitzer
092c37f845 [NTOSKRNL] Do. Not. L. E. A. K. 2019-03-29 19:51:38 +01:00
Maxim Smirnov
5570cde271 [NULL] Use correct device characteristics value for the null device 2019-03-28 22:46:04 +01:00
Pierre Schweitzer
d75ccd01f7 [NTOSKRNL] Only allow direct device open for FileFsDeviceInformation 2019-03-28 22:39:38 +01:00
Pierre Schweitzer
ce6488df31 [NTOSKRNL] Add a quick path for FileFsDeviceInformation in NtQueryVolumeInformationFile
This allows querying volume information without issuing an IRP to the owner device.
The kernel is supposed to already have all the required information to return
to the caller.

Side effect: this allows querying volume information for devices not implementing
IRP_MJ_QUERY_VOLUME_INFORMATION such as null.sys
This fixes opening null device in Python.

Fix based on debugging by Maxim Smirnov in PR #1442

CORE-14551
2019-03-28 22:39:38 +01:00
Bișoc George
f8e0b4675f [OSK] Initialize the common controls
On-Screen Keyboard has a manifest which is used for visual styles. However, the common controls aren't initialized and as a general rule the controls have to be loaded in the application's handle instance.
2019-03-28 19:02:48 +01:00
jimtabor
0197c4f875 [NtUser] Fix maximizing to window edge
Cover up the edge of the frame while maximizing the window to desktop.
Fixes CORE-15893.
2019-03-27 17:39:04 -05:00
Bișoc George
75a7cf89a7 [OSK] Fix an instance race condition
On-Screen Keyboard provides a mechanism to launch the application only once, to avoid multiple entry point instances. Such mechanism is based upon mutex objects, although it could happen that the program may end up creating two or more mutexes (a race condition).

CORE-15877
2019-03-27 22:34:03 +01:00
jimtabor
1f619b2781 [Win32SS] Fix maximized window positioning.
Fix CORE-5177 TaskMgr and ProcExp possionong when maximized.
2019-03-26 15:56:57 -05:00
Thomas Faber
1fe58c4058 [LIBXML2] Update to version 2.9.9. CORE-15854 2019-03-26 10:14:49 +01:00
Thomas Faber
743951eccf [LIBTIFF] Update to version 4.0.10. CORE-15854 2019-03-26 10:14:47 +01:00
Yaroslav Kibysh
cc7c6d21f8 [DEVMGR] Fix Ukrainian translation (#1441) 2019-03-25 23:15:00 +01:00
Thomas Faber
8c358a4a90 [NTOS:FSTUB] Unfix format string warning until GUID definition is fixed. 2019-03-25 22:40:41 +01:00
Thomas Faber
a976ebb031 [NTOS:IO] Avoid an unnecessary stack buffer in OpenRegistryHandlesFromSymbolicLink. CORE-15882 2019-03-25 08:43:47 +01:00
Thomas Faber
b0bb3d0041 [NTOS:FSTUB] Fix a clang format string warning. 2019-03-25 08:41:55 +01:00
Thomas Faber
57225adaac [NTOS:IO] Fix always-false condition in IoCheckEaBufferValidity.
Spotted by clang.
2019-03-25 08:41:51 +01:00
Thomas Faber
faaf2dc0e6 [NTOS:KDBG] Fix uninitialized variable usage.
Spotted by clang.
2019-03-25 08:41:44 +01:00
Eric Kohl
5a2911d7d8 [SYSDM] Add the 'Copy to' dialog and move the 'Change Profile Type' dialog a little. 2019-03-25 00:19:58 +01:00
Brock Mammen
fb4c9fbcf2 Fix regression with double click action
The double click action is now triggered by the WM_LBUTTONDBLCLK message
instead of WM_NCLBUTTONDBLCLK.
2019-03-24 23:34:57 +01:00
Brock Mammen
e7ad10241f [EXPLORER] Add date tooltip to taskbar clock
CORE-11444
2019-03-24 23:34:57 +01:00
Stanislav Motylkov
36230bb214 [USER32] Edit: Fix caret and scroll position
Based on patch by JIRA contributor 'I_Kill_Bugs'. CORE-15780
2019-03-24 23:26:20 +01:00
Stanislav Motylkov
cd7011388e [COMCTL32] Edit: Fix caret and scroll position
Based on patch by JIRA contributor 'I_Kill_Bugs'. CORE-15780
2019-03-24 23:26:20 +01:00
Hermès Bélusca-Maïto
048c8c1605 [USER32] Add support for navigating a group of radio buttons using a keyboard.
Import Wine commit:
b1b8fb77be

"user32: Add support for navigating a group of radio buttons using a keyboard.
The patch approximates the behaviour observed in the message tests
but still doesn't make the message tests pass without failures.
"
by Dmitry Timoshkov.
See bug report https://bugs.winehq.org/show_bug.cgi?id=16845
2019-03-24 17:23:33 +01:00
Hermès Bélusca-Maïto
780f2ba215 [USER32][COMCTL32] Move the auto radio button group logic from BM_SETCHECK to WM_LBUTTONUP handler.
CORE-8526

Import Wine commit:
96d0af52eb

"user32: Move the auto radio button group logic from BM_SETCHECK to WM_LBUTTONUP handler.
This patch also changes the logic to get the control style with WM_GETDLGCODE
instead of GetWindowLong to make the message test pass.
"
by Dmitry Timoshkov.
See bug report https://bugs.winehq.org/show_bug.cgi?id=42010

- (ReactOS-only) Fix also the corresponding logic in COMCTL32.
2019-03-24 17:23:24 +01:00
Yaroslav Kibysh
a30e644dc4 [EXPLORER][SHPOLICY] Implement "NoSimpleStartMenu" policy (#1258)
- Enable "New Start Menu" control for all languages.
- Implement the "NoSimpleStartMenu" policy in shpolicy.c and its usage in explorer.
- Hide controls instead of disabling (as in Win XP/Vista).
2019-03-24 14:56:43 +01:00
Thomas Faber
b546130731 [UNIATA] Update to version 0.47. CORE-15870 2019-03-24 14:48:32 +01:00
Eric Kohl
89aaf0efca [IDL] Fix the declaration of function 7 (NetrBrowserStatisticsClear) 2019-03-24 13:02:10 +01:00
Thomas Faber
526fc76cac [SERIAL] Do not return NTSTATUS from an interrupt routine. 2019-03-24 09:25:17 +01:00
Eric Kohl
9a4676f19f [SYSDM] Get a profiles 'State' value and use it to display the profile type. 2019-03-24 06:50:24 +01:00
Baruch Rutman
7143e411c4 [GDI32] Integrate LpkGetTextExtentExPoint(). (#1362)
- Assume that GetTextExtentExPointWPri() uses the same kind of
  arguments as GetTextExtentExPointW().

- Add GetTextExtentExPointWPri() declaration to undocgdi.h.
2019-03-23 23:34:09 +01:00
Baruch Rutman
1078479358 [LPK] Implement LpkGetTextExtentExPoint(). (#1362)
- Add argument checking.
- Use logic from NtGdiGetTextExtentExW().
2019-03-23 23:31:02 +01:00
Yaroslav Kibysh
505d27cbef [SYSDM] Update Russian and Ukrainian translations (#1437) 2019-03-23 22:18:42 +01:00
Eric Kohl
d4b638d7c8 [SYSDM] Simplify AddUserProfile() by using fixed size buffers for account and domain names and handle unknown and deleted accounts properly. Also fix fonts for asian languages. 2019-03-23 20:58:03 +01:00
Stanislav Motylkov
cc99d3ad5f [SHELL32] Add line bar to About dialog for consistence
Addendum to f9d2931. CORE-15215
2019-03-23 19:11:28 +01:00
Eric Kohl
ea2ca8fa91 [SYSDM] Add the 'Change Profile Type' dialog. 2019-03-23 18:49:40 +01:00
Yaroslav Kibysh
3999e875be [SHPOLICY] Fix the missing backslash in SHRestricted. CORE-15666 (#1267)
Import Wine commit https://source.winehq.org/git/wine.git/?a=commit;h=dbbfa481539acd29de47ff6cd5cc2d24a2e01871

Original patch from Yaroslav Kibysh, reported to Wine and committed there by Fabian Maurer.
Thank you all!
2019-03-23 18:28:39 +01:00
Carlo-Bramini
3747699735 [WINVER] Fix WINVER theming. CORE-13343 (#1428)
Use and initialize common controls for theming support,
and include a manifest as well.
2019-03-23 17:45:27 +01:00
Bișoc George
65239bcf4b [OSK] Restore the previous window coordination
Implement the coordination dialog data saver. This allows OSK to launch using the previous placement values. Such behaviour can be seen with the XP's part of On-Screen Keyboard.
2019-03-23 16:34:48 +01:00
Hermès Bélusca-Maïto
b9148b8c62 [WTSAPI32][PSDK] Addendum to 27ed609a: Some of the WTS_INFO_CLASS values are NT6-SP1+ 2019-03-23 16:31:15 +01:00
Andrew Boyarshin
27ed609acd [WTSAPI32] Implement WTSConnectState and WTSClientProtocolType in WTSQuerySessionInformation
Since ReactOS doesn't actually support non-local WinSTA/WTS capabilities, this seems to be a good way to reduce spam in the log while providing correct behaviour.
Also call Unicode version from ANSI one to reduce code duplication.
2019-03-23 16:06:10 +01:00
Stanislav Motylkov
40dab7d5e5 [USER32] Edit: Fix rectangle overflow when inserting characters
Based on patch by JIRA contributor 'I_Kill_Bugs'. CORE-11475
2019-03-23 15:52:43 +01:00
Stanislav Motylkov
56ccf8d832 [COMCTL32] Edit: Fix rectangle overflow when inserting characters
Based on patch by JIRA contributor 'I_Kill_Bugs'. CORE-11475
2019-03-23 15:52:43 +01:00
Yaroslav Kibysh
8fb10879fc [ACPPAGE][SYSDM] Update Ukrainian translation (#1435) 2019-03-23 15:20:34 +01:00
Daniele Campione
fc3b8d598a [SNDVOL32] Small Italian translation update (#1431) 2019-03-23 01:07:37 +01:00
Eric Kohl
6c6e7b82fc [SYSDM] Implement the 'delete profile' button, except for deleting the profile. 2019-03-21 21:58:02 +01:00
Eric Kohl
b80400ed10 [SYSDM] Update the buttons on the user profile dialog after adding the profiles to the listview. 2019-03-21 21:58:01 +01:00
Stanislav Motylkov
ffc4e30ce5 [SYSDM] Update Russian translation
Addendum to 71f84a3.
2019-03-20 23:49:03 +01:00
Stanislav Motylkov
400a42458c [ACPPAGE] Update Russian translation
Addendum to ab3451a.
2019-03-20 23:49:03 +01:00
Eric Kohl
71f84a3b13 [SYSDM] Add some strings that will be used in the user profile dialog. 2019-03-19 23:19:41 +01:00
Stanislav Motylkov
8e05f5509c [MSI] Allow to pass product key validation check
CORE-14710 CORE-15864
2019-03-19 23:05:57 +01:00
Luo Yufan
4785291ff3 [SAMSRV] Update Chinese translation 2019-03-19 23:05:34 +01:00
Thomas Faber
49fbaa758e [RICHED20] Simplify MSVC thiscall & stdcall wrappers.
Imports Wine commit b64511c00a5.
2019-03-19 21:19:20 +01:00
jimtabor
343d6ea6dc Merge branch 'master' of https://github.com/reactos/reactos 2019-03-18 17:30:01 -05:00
jimtabor
68df5a50e6 [NtUser] Support SWP_FRAMECHANGED
Implement SWP_FRAMECHANGED support for non-changing window to force a
redraw.

Patch dedicated to Katayama Hirofumi MZ.
2019-03-18 17:28:33 -05:00
Eric Kohl
be54b37dd6 [USERENV] UnloadUserProfile: When a profiles ref count gets 0, delete the profile if the user is a member of the guests group. 2019-03-18 23:27:29 +01:00
Mark Jansen
ab3451aea1 [ACPPAGE] Revamp the 'edit' page to easier select different layers 2019-03-18 21:24:44 +01:00
Carlo-Bramini
df424955e0 [CALC] Update to version 1.12 -- Update whatsnew.txt 2019-03-18 01:34:07 +01:00
Carlo-Bramini
e5c8047e3d [CALC] Added "Minute of arc" and "Second of arc" to the "Angles" units. CORE-5939 2019-03-18 01:34:06 +01:00
Carlo-Bramini
dcea9e73c6 [CALC] Add new, and fix existing units conversions. CORE-5939
- Add support for new conversion units:
  * AREA: 'mu', 'rai'.
  * LENGTH: 'chi', 'cun'. 'sun' optimized.
  * TIME: 'nanoseconds'.
  * WEIGHT: 'Kan', 'Kin'.

- Add support for thailand measure system; invaluable help from
  this page: http://www.eppo.go.th/ref/UNIT-ALL.html

- Add ZHANG (Chinese), and DANBO, JEONGBO (Korean) units.

See details here:
https://en.wikipedia.org/wiki/Chinese_units_of_measurement
https://en.wikipedia.org/wiki/Korean_units_of_measurement

- Rewritten some units formula by using scientific notation.
- Improved precision of parsec unit coversion formula.
2019-03-18 01:34:06 +01:00
Carlo-Bramini
18b4718d54 [CALC] Fix wrong button size in french. CORE-12359 2019-03-18 01:34:05 +01:00
Carlo-Bramini
248acaba9a [CALC] Fix buttons transitions. Improve UI code readability. CORE-8526
- Improve code readability by using suitable UI function names.
2019-03-18 01:34:05 +01:00
Carlo-Bramini
adbafe6438 [CALC] Improvements and fixes for the numeric text output. CORE-8486
- Fixed bug 12.37 13/06/2009 into multiprecision display (unicode only).
- Fixed bug when calculator was closed with statistics dialog open.
- Fixed bug in XrY operator.
- Fixed error into conversion unit.
- Do not append decimal separator if "ERROR" messages are printed.
- Remove call to _tcslen() and use return value of GetDlgItemText() where possible.
2019-03-18 01:34:04 +01:00
Carlo-Bramini
8db51e6058 [CALC] Resource files formatting only. 2019-03-18 01:34:04 +01:00
Carlo-Bramini
857a951f48 [CALC] Improve the handling of configuration settings. CORE-3085, CORE-8486
Configuration is read from WIN.INI under W32S/Win9x/Me and from the registry
for all NT platforms.

Although with INI file mapping the keys are still saved in the registry
even on NT, I added handling of different platforms for writing directly
the configuration in the right place.
2019-03-18 01:34:03 +01:00
Carlo-Bramini
0b107f2e30 [CALC] Add theming support, requires Windows XP or later. CORE-13343
- Fix errors if a theme api is missing.
- Add callback to functions for drawing themed transparent background.
- Fix drawing glitch when theming is applied.
- Redraw on theme change: automatically redraw the window if the
  theme is changed while the application is active.
- Colours are now declared though RGB() macro.
- Removed safe DS_SHELLFONT declaration.
2019-03-18 01:34:02 +01:00
Carlo-Bramini
f6c565bc22 [CALC] Add support for HTML-Help. CORE-15019 2019-03-18 01:34:01 +01:00
Carlo-Bramini
ec1b499aac [CALC] Improve headers inclusion. 2019-03-18 01:34:01 +01:00
Carlo-Bramini
295eaf4e32 [CALC] Improve multi-precision support, and powers/roots. CORE-8486
- Added support for average of squares and mean of squares into statistical functions.
- pop() and push() functions in RPN engines now work with nodes instead of stack units.
- Moved the POW and SQR operations near the operators.
CORE-12766

- Fix number of digits for IEEE-754 constants.
- Show all available digits in exp notation.
CORE-14871

- Update help correspondingly.
2019-03-18 01:34:00 +01:00
Carlo-Bramini
28f493624a [CALC] Rename files only. 2019-03-18 01:33:51 +01:00
Eric Kohl
c8d44606d6 [USERENV] Implement GetProfileType(). 2019-03-17 17:51:32 +01:00
Eric Kohl
0f21a8a6e6 [USERENV] LoadUserProfileW: Check the user for Administators and Guests group membership and set the State value accordingly.
See https://www.pcreview.co.uk/threads/purpose-of-the-state-key-located-in-users-profiles.2939114/post-9722112
2019-03-17 12:44:54 +01:00
Eric Kohl
646ab9286c [NETAPI32] NetUserEnum, NetUserGetInfo: Get the user privileges and auth flags for info levels 1, 2, 3, 4 and 11. 2019-03-17 12:34:49 +01:00
Eric Kohl
cf6a5d6e7c [USERENV] Store the profiles load time, flags and state in the profile list. 2019-03-16 19:13:15 +01:00
Jared Smudde
6707efc534 [SHELL32] Disable the Hardware tab in the properties dialog for Network drives (#1249)
This matches Windows behaviour.
2019-03-16 15:37:56 +01:00
Stanislav Motylkov
c669003418 [MEDIA][INF] Improve network adapter names 2019-03-16 15:35:15 +01:00
Daniele Campione
ee65350fcf [SNDVOL32] Small Italian translation update (#1415) 2019-03-16 15:33:57 +01:00
Serge Gautherie
1631f37404 Merge pull request #1253 from SergeGautherie/SergeGautherie/PRonly_Log2Lines_handle_escape_cmd_Path-LineOut
[LOG2LINES] handle_escape_cmd(): Remove 2 unused parameters
2019-03-16 11:23:27 +01:00
Serge Gautherie
29c9e92c9e [LOG2LINES] Add a TODO, Use a snprintf()
Addendum to c5d8d8d.
2019-03-16 11:22:58 +01:00
Stanislav Motylkov
62595d39a6 [SYSDM] Update SMBIOS parsing code 2019-03-16 11:16:55 +01:00
Eric Kohl
7d28dfd184 [USERENV] Use a reference counter when loading and unloading profiles. Unload the hive only when the reference counter reaches 0. This fixes the remaining bugs in "userenv_apitest LoadUserProfile". 2019-03-16 07:45:30 +01:00
Joachim Henze
e3e173ffaa [COMCTL32] Combobox Implement logic for set and get dropdown height CORE-15833
by import of Wine commit
313c63e194
merged from current Wine head.

Thanks to patches author Fabian Maurer
and also Doug Lyons for tests and adding initial the merge-patch.
2019-03-16 02:11:00 +01:00
Eric Kohl
05886b83e9 [USERENV] Use a mutex to serialize profile loading and unloading. 2019-03-15 21:20:14 +01:00
Katayama Hirofumi MZ
332ca5f572 [OLE32] Implement WS_EX_ACCEPTFILES (#1403)
The window that has WS_EX_ACCEPTFILES extended style, should pretend like a drop target that accepts CF_HDROP data. CORE-11238
2019-03-15 22:31:13 +09:00
Benjamin Aerni
8d75f93cbc Updated release version on readme 2019-03-15 00:05:21 +01:00
Alexander Rechitskiy
fc1c5fa245 [README] Improve the layout of the Quick-Links; add the chat link (#1409) 2019-03-15 00:04:57 +01:00
Eric Kohl
30c501fc9f [USERENV] LoadUserProfileW: If a user profile has already been loaded, just open and return the profile key. 2019-03-14 23:49:16 +01:00
Mark Jansen
ee62837ec0 [SHIMENG] Implement experimental support for multiple hooks on the same function 2019-03-14 20:02:01 +01:00
Mark Jansen
6abe0e50aa [SDK][SHIMENG] Ensure that module entrypoints are not called while loading the shim engine
This is done by marking everything that is already loaded but not 'processed'.
After the shim engine is done initializing, the original state is restored,
with the exception of the shim engine itself.
CORE-15846
2019-03-14 20:02:01 +01:00
Mark Jansen
a1f6a6bdc3 [LDR] Do not call module entrypoints while loading the shim engine.
Manually call the shim engine entrypoint
CORE-15846
2019-03-14 20:02:01 +01:00
Mark Jansen
cfdb7d564c [SHIMENG] Don't crash on a shim not found
CORE-15846
2019-03-14 20:02:01 +01:00
Mark Jansen
0ebeced143 [SHIMENG] Find shims case-insensitive
CORE-15845
2019-03-14 20:02:00 +01:00
Mark Jansen
cdc8b721da [ACLAYERS] Add stubplemented IgnoreLoadLibrary shim
CORE-15845
2019-03-14 20:02:00 +01:00
Mark Jansen
996f559fd7 [APPSHIM_APITEST] Add test for IgnoreLoadLibrary
CORE-15845
2019-03-14 20:02:00 +01:00
Mark Jansen
0fdfdcb1ea [ACLAYERS] Simplify ForceDXSetupSuccess as suggested by Thomas 2019-03-14 20:01:47 +01:00
James Tabor
b4624f32f3 [GDI32] Fix issue after a Flush
While flushing the DC handle goes down with the flush. This was not a
regression, just untested old code.
2019-03-14 12:00:53 -05:00
Thomas Faber
b91cf860cd [UNIATA] Update to version 46e8. CORE-15843 2019-03-14 13:16:43 +01:00
Thomas Faber
48870fe35e [UNIATA] Remove an unnecessary ROS-diff. 2019-03-14 13:16:41 +01:00
Hermès Bélusca-Maïto
0e56ec8892 [WIN32SS:NTGDI] Fix missing text in labels and buttons for .NET apps. CORE-15000
There was a missing break statement in ftGdiGetGlyphOutline().
Found by JIRA contributor 'I_Kill_Bugs' :-)

Add also brackets around 'case's to make code navigation easier.
2019-03-14 01:36:45 +01:00
jimtabor
bc534efbc5 [User32] Support WM_COPYGLOBALDATA
Implement support for WM_COPYGLOBALDATA. Needs more tests.

Tested DropTest from CORE-15836.
2019-03-13 12:16:52 -05:00
Thomas Faber
77e0409ea9 [DOC] Update 3rd party readme file. CORE-15280 2019-03-13 09:52:51 +01:00
Thomas Faber
19f9a973e5 [MAINTAINERS] Add 3rd party library files that I've been syncing.
CORE-15280 CORE-14291 CORE-13739 CORE-13451 ...
2019-03-13 09:52:47 +01:00
Joachim Henze
76118320ea Revert "[FREETYPE] Fix 3 regressions in one patch"
This reverts commit 0.4.12-dev-856-g
98b7ecd280
CORE-15785, CORE-15558, CORE-15755.

As requested by Pierre, we have very strong indication, that it broke
https://build.reactos.org/builders/Test%20KVM and
https://build.reactos.org/builders/Test%20VBox
2019-03-12 18:57:21 +01:00
Hermès Bélusca-Maïto
47a1acedf7 [SETUPLIB][USETUP] Improve disk HW numbering, removable disk support, and "super-floppy" partitioning.
Nowadays more and more people try to install ReactOS from removable
drives (e.g. USB sticks) onto fixed HDDs, or try to install it into
USB sticks too.

Both fixed and removable drives, as well as partitions on these, are
represented in NT using the same device name format:

  \Device\HarddiskM\PartitionN ,

with an increasing disk number M. Using this number for building the
corresponding firmware-specific ARC multi(x)disk(y)rdisk(z) path used
by the NT/ROS loader (FreeLdr, ...) is then prone to error since there
may have  been  removable drives  inserted  and  accounted for in the
calculation  of  the disk number.  These drives must be  correctly
subtracted in order to generate the correct ARC path, valid once all
the removable drives have been ejected (which should also be the
situation seen from the BIOS when booting up, except of course if you
boot on a USB stick).

This problem is now solved. Note that it matters only for the disks
that have also been enumerated by the firmware (BIOS; Int 13h). We
don't have to care about the other drives, since the ARC path will be
of a different format and will not use the disk number (instead, the
SCSI coordinates are used).

We also try to enumerate all the disks found in all the possible disk
adapters and  controllers enumerated  in the Hardware registry tree
(and that are visible by FreeLdr) in order to cover all.

Finally, we detect whether a disk reports as  a "super-floppy",  i.e.
an unpartitioned disk with a valid VBR. This is indeed how a standard
floppy disk looks like, or how USB sticks are partitioned on Windows.
Such disk is reported has having only one single partition starting at
the beginning of the disk, with partition number == 0, its type being
FAT16 non-bootable.
This allows us to forbid creating any new partitions on such disks.
Note that accessing either \Device\HarddiskN\Partition0 or Partition1
on such a disk returns the same data.
Note also that on the contrary, regular MBR-partitioned disks would
report at least four partitions entries, instead of just one.

The other improvements are:

- Do *NOT* write any MBR on a disk partitioned as "super-floppy".
  CORE-13703

- Fix the computed disk identifier, of format: %08x-%08x-%c .
  The numbers are respectively the checksum of the first sector, and
  the disk signature. The terminating letter is A or X, depending
  whether the first sector ends with 0x55AA/0xAA55 or not (see also
  commit 5053f1f5).

- Warn if the user attempts to install ReactOS on a disk that is not
  visible by the  firmware of his computer,  because it may not be
  bootable.
2019-03-12 02:17:11 +01:00
Eric Kohl
85c5d035d9 [NETAPI32] NetUserAdd, NetUserSetInfo: Start to set parm_err in case of invalid parameters. 2019-03-12 01:02:47 +01:00
Eric Kohl
33eb43d6e7 [NETAPI32] NetUserSetInfo: Support the logon hours for level 2, 3, 4, 22 and 1020. Also make sure that we do not leak memory on invalid levels. 2019-03-12 00:20:07 +01:00
Eric Kohl
0425d866bf [NETAPI32] NetUserGetInfo: Build and return the users SID for level 4 and 23. 2019-03-11 22:31:36 +01:00
Joachim Henze
98b7ecd280 [FREETYPE] Fix 3 regressions in one patch
Fixes regression CORE-15785 (Zim Desktop Wiki 0.67 crashed) and
Fixes regression CORE-15755 (NLite 1.4.9.3 used wrong font)

without reintroducing regression CORE-15558 (AbiWord 2.6.8 font enumeration)

This is achieved by partial revert of
0.4.12-dev-320-g
6e4e5a004c
and got ack of Katayama Hirofumi MZ.

Thanks to patches author Doug Lyons.
Test-results: https://reactos.org/testman/compare.php?ids=66264,66267
2019-03-11 20:10:14 +01:00
Arnav Bhatt
c527f72f23 [TRANSLATION] Hindi translation of the shell extensions. (#1405) 2019-03-11 16:52:21 +01:00
Luo Yufan
a0506042a6 Merge pull request #1412 from njlyf2011/improve-zh-translation
[TRANSLATION] Update Traditional Chinese translation
2019-03-11 16:50:17 +01:00
Oleg Dubinskiy
b7850f1078 [EXPLORER] Show the Desktop Russian translation update 2019-03-11 16:49:24 +01:00
Thomas Faber
fc9d5d2f55 [USBUHCI_NEW] Fix an infinite loop. 2019-03-11 08:54:03 +01:00
Thomas Faber
026a12fe39 [USBPORT] Implement interface setting in USBPORT_OpenInterface. 2019-03-11 08:54:01 +01:00
Thomas Faber
ac20ab031c [USBPORT] Correctly handle alternate settings returned from USBPORT_ParseConfigurationDescriptor.
The last parameter of USBPORT_ParseConfigurationDescriptor is a pointer
to a boolean indicating whether any alternate interface settings were
found for the specified interface.
Interpreting it as an alternate setting value, as we did before,
would always override the alternate setting to '1' (if any alternate
descriptors were present), therefore selecting the wrong interface
setting, and possibly causing a buffer overflow on the InterfaceList's
Pipes array.

Found by Special Pool.
2019-03-11 08:53:55 +01:00
Thomas Faber
36c1cb0910 [USBPORT] Correctly find interface descriptor in USBPORT_ParseConfigurationDescriptor
There can be other descriptors between the config descriptor and the
first interface descriptor, so we specifically need to check for
the interface descriptor type and skip anything before that.
We also need to guard against bLength == 0, which would cause an
infinite loop, instead of doing a second bDescriptorType check.
2019-03-11 08:53:53 +01:00
Thomas Faber
1946f6bb25 [USBPORT] Acquire EndpointSpinLock in addition to MiniportSpinLock in USBPORT_ReopenPipe. 2019-03-11 08:53:52 +01:00
Thomas Faber
e47240fb37 [USBPORT] Release StateChangeSpinLock before acquiring MiniportSpinLock.
Found by Driver Verifier.
2019-03-11 08:53:50 +01:00
Thomas Faber
267f5633ee [USBPORT] Leave IRP status untouched for unhandled interfaces.
Found by Driver Verifier.
2019-03-11 08:53:49 +01:00
Thomas Faber
12a66769fc [USBPORT] Don't change the status of IRP_MJ_SYSTEM_CONTROL requests.
Found by Driver Verifier.
2019-03-11 08:53:47 +01:00
Thomas Faber
e10e6a85fb [USBHUB_NEW] Don't leak IRP_MJ_SYSTEM_CONTROL requests.
Found by Driver Verifier.
2019-03-11 08:53:45 +01:00
Thomas Faber
938f0e469d [NTOS:IO] Enable privilege check in NtLoadDriver. 2019-03-11 08:30:14 +01:00
Hermès Bélusca-Maïto
1d51b56882 [USETUP] Use for-loops; simplify the code. 2019-03-11 00:05:37 +01:00
Hermès Bélusca-Maïto
84f3e2df5d [SETUPLIB][USETUP] Remove CurrentDisk/Partition from the partlist lib code, and move these into the UI code.
- Add also some validation ASSERTs and simplify the code here and there.

- The installation partition is called "InstallPartition", while the
  global "CurrentPartition" is the disk region currently selected in
  the partition UI list, on which prtitioning operations are effectued.

- Extend CheckActiveSystemPartition() to use an optional alternative
  disk or partition in case the actual system partition (present in the
  first disk) cannot be used, e.g. because we don't support writes on it.
2019-03-11 00:05:37 +01:00
Hermès Bélusca-Maïto
0d9ebb67ce [SETUPLIB] Improve the discovery of the active system partition.
CORE-7749, CORE-6305, CORE-13205
2019-03-11 00:05:36 +01:00
Eric Kohl
08d3040377 [NET] Display the country along with the users country code. 2019-03-10 22:01:40 +01:00
Shy Zedaka
5b94d222ac [TRANSLATION] Update Hebrew translations (#1408) 2019-03-10 19:21:57 +01:00
Hermès Bélusca-Maïto
a543103068 [USETUP] Improve the formatter & check-disk state machine. CORE-7749
- Find or set the active system partition only once, when we start the
  formatting stage. If the system partition is to be created in some
  non-partitioned space, we create it.

- A file-system check is always scheduled for both the system and the
  installation partitions.

- If the system partition was already formatted (which usually means
  that it already existed on the system), don't ask for formatting it.

  CORE-13205

- For each partition to be formatted, the file-system menu list is
  re-created, in order to display only the FSes that are compatible
  with the selected partition, and allow to give the user the choice
  to keep the existing file-system only if the selected partition was
  already formatted.

- Check whether the user attempts to delete the partition on which
  the installation source is present, only if it is not "new" and is
  formatted.

- Check first whether the current partition is the system partition,
  before displaying the CONFIRM_DELETE_SYSTEM_PARTITION_PAGE.
2019-03-10 15:41:25 +01:00
Hermès Bélusca-Maïto
29cc1843d0 [SETUPLIB][USETUP] Minor improvements.
- Make some partitioning functions not dependent on the selected "CurrentPartition".
- Add some sanity checks.
- Improve some of the "is-partitioned" checks.
2019-03-10 15:41:20 +01:00
Hermès Bélusca-Maïto
c1fbc2d651 [SETUPLIB][USETUP] Factor out the usage of FS provider structures.
Similarly to FMIFS this structure should be private. Instead file-system
names are passed to the helper functions, allowing to use the names
returned by the FS drivers. The names are then internally mapped to the
corresponding FS providers.

In particular this allows to handle the "RAW" file-system and to assign
the 'Unformatted' flag to partitions having this FS.

Finally this helps us refining the checks performed to see whether the
current "active" system partition uses a supported file-system.
2019-03-10 15:41:05 +01:00
Mark Jansen
b18da6730e [ACLAYERS] Implement the ForceDXSetupSuccess shim
This shim is used on older installers that try to install DirectX,
but encounter errors doing so with the bundled setup.
CORE-15814
2019-03-10 12:45:35 +01:00
Mark Jansen
854af7f332 [APPSHIM_APITEST] Add tests for ForceDXSetupSuccess 2019-03-10 12:45:34 +01:00
Mark Jansen
76af1fb019 [ACLAYERS][ACGENRAL] Do not use the crt entrypoint. 2019-03-10 12:45:22 +01:00
Pierre Schweitzer
4e07b3b9f9 [AFD] Don't reallocate buffers if windows sizes didn't change 2019-03-10 12:27:30 +01:00
Timo Kreuzer
ba893e1172 [WIN32K] Keep a reference on an ETHREAD while THREADINFO exists 2019-03-10 11:14:40 +01:00
Eric Kohl
e5904abf94 [NET] Move the remaining IDS_GENERIC_PAGE strings into the command messages and fix a size restriction of ConPrintf(). 2019-03-10 09:55:15 +01:00
Eric Kohl
e2b8141eb6 [NET] Add help message for the NET USER command and move the IDS_GENERIC_PAGE string into the help messages. 2019-03-10 08:59:32 +01:00
Eric Kohl
eaee5e840b [NET] Implement the NET SYNTAX pseudo command. 2019-03-10 01:04:26 +01:00
Eric Kohl
4d8859cfd8 [NET] Fix some 'net help' and 'net user' issues. 2019-03-10 00:30:27 +01:00
Eric Kohl
462418fe38 [NETAPI32] Initialize parm_err 2019-03-09 20:26:00 +01:00
James Tabor
d57f7becc3 [Win32SS] Add TextOut to GDI Batch
Add fix ups to PolyPatBlt and freetype.
TextOut supports 580 characters w/o Dx and Dx at a max of 193 characters
with Dx*1, both if offset is 0.

Noticed a lot of over drawing with start menu from ComCtl32 SB_SETTEXT
going through User32 DrawText/Worker ExtTextOutW. Explain why it might
be slowing down.

If issues arise, commenting out lines in win32ss/include/gdi32p.h can
help.

Example:
else if (Cmd == GdiBCTextOut) cjSize = 0;//sizeof(GDIBSTEXTOUT); <----
this one most of all.
 else if (Cmd == GdiBCExtTextOut) cjSize = 0;//sizeof(GDIBSEXTTEXTOUT);

Test results:
https://reactos.org/testman/compare.php?ids=66260,66262
2019-03-08 22:21:41 -06:00
Stanislav Motylkov
6676b7c48b [BOOTDATA] Fix Volgograd time zone (UTC+04:00)
CORE-15831
2019-03-08 22:44:27 +01:00
Daniele Campione
e5873161f8 [SHUTDOWN] Small Italian translation update (#1397) 2019-03-08 15:49:56 +01:00
Arnav Bhatt
c17bcb65b9 [TRANSLATION] Hindi translation of SYSSETUP AND SAMSRV. (#1400) 2019-03-08 15:48:20 +01:00
Arnav Bhatt
3a85677531 Hindi translation of comdlg32. (#1391)
Hindi translation of comdlg32.
2019-03-07 10:05:08 +01:00
Foxlet
181a2b3359 [WALLPAPER] Add ReactOS Soft Blue (#1376)
CORE-15783
2019-03-06 23:14:08 +01:00
polar
2b954cee27 [WALLPAPERS] Added Silhouette collection (#1383)
CORE-13000
2019-03-06 23:12:18 +01:00
Mark Jansen
08deb1d9de [ZIPFLDR] Allow the shell extension to extract passworded zip files 2019-03-06 23:09:35 +01:00
Mark Jansen
a672665911 [ZLIB] Restore 'uncrypt' functionality in minizip 2019-03-06 23:09:35 +01:00
Mark Jansen
410320df06 [ZIPFLDR] Move CConfirmReplace to a new file 2019-03-06 23:09:35 +01:00
Mark Jansen
bff6dda91d [DRWTSN32] Print some extra exception info 2019-03-06 23:04:11 +01:00
Timo Kreuzer
8a4c5763da [NTOS:PS] Use NULL instead of 0 in ps/kill.c 2019-03-06 00:49:59 +01:00
Timo Kreuzer
33c6f6f4b5 [PSDK] Use CALLBACK instead of APIENTRY 2019-03-06 00:42:43 +01:00
Timo Kreuzer
22bacc6e08 [PSDK] Add missing D3DFORMAT enum members to d3d9types.h 2019-03-06 00:41:52 +01:00
Timo Kreuzer
c25857f291 [SPEC] Add missing newlines 2019-03-06 00:40:29 +01:00
Timo Kreuzer
addc01d90b [NTOS:KE] Add function comments 2019-03-06 00:39:25 +01:00
James Tabor
f35bb6e4c8 [NtGDI] Fix crash and simplify code.
Revert previous changes. simplify rendering check.
Fix missed unlocking which caused a crash.
2019-03-05 17:05:23 -06:00
James Tabor
12cfd71058 Merge branch 'master' of https://github.com/reactos/reactos 2019-03-05 16:03:31 -06:00
James Tabor
3377fe184e [NtGDI] Change TextOut
Separate TextOut for internal use.
Use flTextAlign internally.
Not sure why GetDeviceCap was used for determining rendering. SVN commit
logs are unavailable. Include code from wine that might make more sense.
2019-03-05 16:03:15 -06:00
Hermès Bélusca-Maïto
dbb69cb2d9 [BOOTDATA] Comment out (but still keep it for documentation purposes only) the overridden default user shell, since we use by default the one specified in HKLM Winlogon key.
If people want to override it for a given user, or at a global level, they can do it later.

See CORE-15807
2019-03-05 22:33:35 +01:00
Timo Kreuzer
f5f6ea2965 [REACTOS] Fix 64 bit issues 2019-03-04 21:58:42 +01:00
Timo Kreuzer
3d3377a5c0 [LIBTIRPC] Silence MSVC warnings 2019-03-04 21:58:42 +01:00
Timo Kreuzer
7dabd235ec [GDI32] Add casts to silence warnings on x64
The cast is required, because FARPROC is only compatible with function pointer types that return INT_PTR and the ones used return int/BOOL.
2019-03-04 21:58:42 +01:00
Timo Kreuzer
711dbd19f7 [GDI32] Fix bDDCreateSurface 2019-03-04 21:58:42 +01:00
Timo Kreuzer
2620930066 [DXG] Fix 64 bit build 2019-03-04 21:58:42 +01:00
Timo Kreuzer
72e43c4b33 [VGA_NEW] Fix 64 bit issues 2019-03-04 21:58:42 +01:00
Timo Kreuzer
403fec1b27 [SACDRV] Fix CHECK_PARAMETER_WITH_STATUS error handling macro 2019-03-04 21:58:42 +01:00
Timo Kreuzer
05f4951b8c [CDROM_NEW] Fix SLIST_ENTRY vs SINGLE_LIST_ENTRY issues 2019-03-04 21:58:42 +01:00
Timo Kreuzer
dfd876a96b [CLASSPNP] Fix SLIST_ENTRY vs SINGLE_LIST_ENTRY issues 2019-03-04 21:58:42 +01:00
Timo Kreuzer
42730f9373 [NTOS:EX] Fix 64 bit issues in ExfWaitForRundownProtectionReleaseCacheAware 2019-03-04 21:58:42 +01:00
Timo Kreuzer
252114a3a1 [PSDK] Improve definition of CBR_BLOCK
The cast doesn't exist in native headers, but this causes warnings.
2019-03-04 21:58:42 +01:00
Timo Kreuzer
6756e1adaf [PSDK] Fix PRINTDLG structure definition 2019-03-04 21:58:42 +01:00
Timo Kreuzer
6ddf034ab4 [MKISOFS] Silence MSVC warnings 2019-03-04 21:58:42 +01:00
Timo Kreuzer
73c776c744 [WIDL] Fix non-x86 builds 2019-03-04 21:58:42 +01:00
James Tabor
cf7bea11b2 [NtGDI] Use flag for text align mode.
Use the lTextAlign instead of the user one for internal use.
2019-03-04 12:17:00 -06:00
Eric Kohl
ac73ba7db6 [MSV1_0] Check logon hours and workstation names on logon. Also return the machine name on logon and fix the LOGONSERVER environment variable. 2019-03-04 17:26:27 +01:00
Ged Murphy
0649f25b48 [SHELL32] Implement SHTestTokenMembership and forward IsUserAnAdmin to it
Moved to the bottom of the file with the other ros functions to help keep wine syncs easier.
2019-03-04 11:54:43 +00:00
Eric Kohl
6748d72c9f [MSV1_0] Export LsaApLogonUserEx2 instead of LsaApLogonUser and remove the outdated logon functions. 2019-03-04 10:20:10 +01:00
Eric Kohl
ef4ee94feb [LSASRV] LsapLogonUser: Support LsaTokenInformationNull logins. 2019-03-04 01:37:15 +01:00
Eric Kohl
96466710f8 [MSV1_0] LsaApLogonUser: Pass the Authenticating Authority to the caller. 2019-03-04 01:37:14 +01:00
Pierre Schweitzer
e5b0087c8e [DCOMLAUNCH][WMISVC] Stop busy waiting shutdown 2019-03-03 23:14:37 +01:00
Colin Finck
bd0a28d1e4 Fix the MSVC version of ldexp filling up the FPU stack and bailing out with #IND after a few calls. Additionally, add it back to libcntpr.
MSVC was previously given a "result" variable to copy the fscale result from st(0). This led to another "fld" FPU stack push at the very end without popping the source value from the FPU stack.
Moreover, this copy isn't even needed: A simple "fstp st(1)" at the end pops an element from the FPU stack while effectively storing the result in st(0), the register used for returning a double value.
This problem didn't affect GCC, as it is only given the "fscale" instruction and does all necessary stack operations itself.

However, looking into the CRT sources, I found many other i386 implementations with inline assembly suffering from the same problem.
Fortunately, they have been replaced by pure assembly implementations a while ago, so it's time to finally remove them.
ldexp would have also been a candidate for a pure assembly implementation, but the required check for NaN and setting errno (verified on Win2003) already outweighs the benefits.
And we cannot just do a NaN check with FUCOMI as this is an i686/pentiumpro instruction while we're still targeting i586/pentium.

I'm also using this opportunity to clean up the ldexp.c header and only put in the remaining contributors as returned by "git blame".

Thanks to NightWolve1975 for reporting the problem! (https://twitter.com/nightwolve1975/status/1099042477531643912)
2019-03-03 16:11:27 +01:00
Pierre Schweitzer
2ab289a34a [DCOMLAUNCH] Add a DcomLaunch service stub
This stub is responsible for providing the UUID seed to the kernel.
For now, it generates a purely random seed - MAC address support
is to be added.
Because it's purely random seed and local the machine (not tied
to the MAC address) it's made so that ExUuidCreate keeps returning
RPC_NT_UUID_LOCAL_ONLY. It won't fix failing test for now.

Nota: this service shouldn't exist as it. It should be implemented
though rpcss DLL for both rpcss service (network service) and
dcomlaunch service (local system service).
Because rpcss is EXE based and wine-synced for now, I prefered
stubbing a new service. This will have to be changed at some point.
2019-03-03 14:25:19 +01:00
Joachim Henze
1d7287288d [SHELL32] Update all languages RCs to fix possible text truncation CORE-15765
IDD_BROWSE_FOR_FOLDER displays text controlled by the calling applications in
IDC_BROWSE_FOR_FOLDER_TITLE. Its old height could lead to text truncation
for existing 3rd party apps.
The new height value for IDC_BROWSE_FOR_FOLDER_TITLE
was inspired by IDC with the same from dialog IDD_BROWSE_FOR_FOLDER_NEW.
I could change all languages to the same height,
as dimensions of the dialog and surrounding controls were same.
2019-03-03 02:23:34 +01:00
Joachim Henze
026c575577 [MSI] In dialogs show titlebar buttons CORE-15301
Import the Wine fix
https://source.winehq.org/git/wine.git/?a=commit;h=84e6b331918d57f39e20a3063b67eb7fc0876288
Many thanks to the fixes author Fabian Maurer.
2019-03-03 01:26:59 +01:00
Joachim Henze
3b96148641 [TASKMGR] Update german rc to avoid text truncation in status-bar CORE-15615
which became a necessity after the second field was reduced in width
by commit 0.4.12-dev-363-g
473e0bfc83
2019-03-03 00:46:23 +01:00
Eric Kohl
e88a6b2053 [SETUPAPI] Implement CM_Next_Range() 2019-03-02 20:59:12 +01:00
Bișoc George
0bc8e2a5bb [COVERITY][SETUPAPI] Release the blocks of memory when done
pRange variable allocates blocks of memory from the heap by HeapAlloc() although this resource is never freed afterwards.

COVERITY CID 1427056
2019-03-02 20:39:09 +01:00
jimtabor
b6262a25fd Use GDI Batch for PatBlt
This should increase speed a bit. Makes a good argument to use
PolyPatBlt for more than one call.
PolyPatBlt is not fully tested yet.
2019-03-02 11:30:21 -06:00
Pierre Schweitzer
1114b89952 [NTOSKRNL] Fix MSVC2010 build 2019-03-02 11:10:37 +01:00
Pierre Schweitzer
c2b6c3a69f [NTOSKRNL] Fix ClockDiff aka fix MSVC build 2019-03-02 10:45:34 +01:00
Pierre Schweitzer
bbfb3caa36 [NTOSKRNL] Add a test for ExUuidCreate 2019-03-02 10:30:00 +01:00
Eric Kohl
28309096df [SNDVOL32] In record mode, rename the 'Mute' autocheckbox to 'Select', turn it into a checkbox and make it behave like a radiobutton. 2019-03-01 22:01:14 +01:00
Pierre Schweitzer
eb8b481cd4 [NTOSKRNL] Rewrite/fix our UUID generation implementation
So that it matches Windows behavior
Also implement ExUuidCreate that will generate UUID version 1

The implementation is based on the RFC 4122
2019-03-01 08:22:48 +01:00
Pierre Schweitzer
2d9673c68f [NTOSKRNL] Introduce the UUID_CACHED_VALUES_STRUCT structure
Source: https://blog.48bits.com/el-codigo-ntoskvinci/
2019-03-01 08:22:47 +01:00
Pierre Schweitzer
81c88c1029 [NTOSKRNL] UuidMutex -> ExpUuidLock 2019-03-01 08:22:47 +01:00
Bișoc George
d000a1e1c6 [OSK] Implement "Use Click Sound" feature
- Implement the save/load handler for this feature
- Check the "Use Click Sound" item state accordingly depending if it's enabled or disabled
- Use PlaySoundW() to play the wave sound file from resource
- Add the WAV sound click file. The work is made thanks to Midori Mizuno
2019-03-01 00:13:47 +01:00
Thomas Faber
1001e6089f [HDAUDBUS] Wait until the correct number of responses was received. CORE-15465
We previously only gave the device a hard-coded amount of time to respond,
which could lead to interpreting the contents of uninitialized memory as
a response. This would lead to an unreasonably large number of audio function
groups being detected.

A KSEMAPHORE mirrors what Haiku uses here, though it may not be the optimal
synchronization primitive for this case under Windows.
2019-02-28 10:27:06 +01:00
Thomas Faber
8530ae9950 [HDAUDBUS] Handle responses in a DPC instead of the ISR. 2019-02-28 10:06:18 +01:00
Thomas Faber
a7431880bd [HDAUDBUS] Fix a DPRINT. 2019-02-28 10:05:53 +01:00
Thomas Faber
1f76fb738a [HDAUDBUS] Prevent overflow of the AudioGroups array. CORE-14153 CORE-15465
This protects against crashing in case of faulty/malicious hardware,
but also works around a bug in HDA_SendVerbs that causes it to return
invalid data, thereby suggesting more groups than are actually present.
2019-02-27 11:04:23 +01:00
Bișoc George
8423d8b7e1 [SNDVOL32] Small Italian translation update 2019-02-26 23:04:23 +01:00
Thomas Faber
a8414f665b [HDAUDBUS] Implement HDA_Unload. Stub HDA_Power and HDA_SystemControl. 2019-02-26 09:58:53 +01:00
Thomas Faber
25b22131ca [HDAUDBUS] Correctly mask register values.
See https://github.com/haiku/haiku/blob/master/src/add-ons/kernel/drivers/audio/hda/hda_controller.cpp
and https://github.com/haiku/haiku/blob/master/src/add-ons/kernel/drivers/audio/hda/driver.h#L118-L140

This fixes various device reset failures and probably other issues.
2019-02-26 09:51:48 +01:00
Thomas Faber
584baf79d9 [HDAUDBUS] Implement PDO removal. CORE-14617 2019-02-26 09:51:38 +01:00
Thomas Faber
c8c0fc8d64 [HDAUDBUS] Implement FDO removal. CORE-14617 2019-02-26 09:51:21 +01:00
Thomas Faber
b05e5b0340 [HDAUDBUS] Use IoForwardIrpSynchronously instead of HDA_SyncForwardIrp. 2019-02-26 09:50:50 +01:00
Thomas Faber
789cfd3ddc [HDAUDBUS] Forward FDO requests instead of completing them. 2019-02-26 09:20:47 +01:00
Thomas Faber
ce6960b3f5 [HDAUDBUS] Use a switch for minor function codes. 2019-02-26 09:20:43 +01:00
Thomas Faber
9c7c2deff9 [HDAUDBUS] Split FDO/PDO PNP handling into separate functions. 2019-02-26 09:20:37 +01:00
Thomas Faber
b65ec6ffba [HDAUDBUS] Minor fixes:
* Add some forward-declarations
* Add some annotations
* Improve a DPRINT
2019-02-26 09:18:41 +01:00
Pierre Schweitzer
6ee2f9882c [MSAFD] Don't leak event while querying/setting socket options 2019-02-25 22:34:29 +01:00
Pierre Schweitzer
6bc61f63f1 [MSAFD] Implement socket options SO_SNDBUF and SO_RCVBUF 2019-02-25 22:34:29 +01:00
Pierre Schweitzer
6bf5a8a43d [AFD_APITEST] Add apitest for AFD window size options 2019-02-25 22:34:28 +01:00
Pierre Schweitzer
86483d6e22 [AFD] Don't allow caller to set broken values to window sizes
This will avoid 0-sized allocations, or -1-sized allocations.
So far, it's maxed by hard value stored in TCPIP.sys. I believe
this is not right and would deserve a true fix
2019-02-25 22:34:28 +01:00
Pierre Schweitzer
bb9eec7537 [AFD] Add default window sizes on socket creation 2019-02-25 22:34:28 +01:00
Mark Jansen
fa548efb41 [XDK] Remove _M_AMD64 special case 2019-02-25 20:00:35 +01:00
Mark Jansen
c01fa8e9c1 [APPHELP] Implement SdbRegisterDatabase[Ex]
CORE-11301
2019-02-25 20:00:35 +01:00
Mark Jansen
28a091ac12 [APPHELP][APPHELP_APITEST] Implement SdbGetDatabaseInformation
CORE-11301
2019-02-25 20:00:34 +01:00
Mark Jansen
5c05a29d3d [APPHELP] Implement ShimDumpCache and ShimFlushCache
These functions simply call into the Base* functions,
having a prototype that is compatible with rundll32
CORE-11301
2019-02-25 20:00:34 +01:00
Mark Jansen
f2f54a052e [SDB] Initial SdbRegisterDatabase stubs
CORE-11301
2019-02-25 20:00:34 +01:00
Mark Jansen
a9bd3da299 [APPHELP_APITEST] Add a test for shim database registration
CORE-11301
2019-02-25 20:00:34 +01:00
Stanislav Motylkov
12e78a9039 [MODULES][WALLPAPERS] Fix build (#1375)
Some file names still contained space instead of underline. Addendum to 0760802.
2019-02-25 11:41:41 +01:00
Luo Yufan
ca9cdce760 [TRANSLATION] Update Chinese and Traditional Chinese translations. (#1369) 2019-02-25 00:36:53 +01:00
Pierre Schweitzer
f6c50cb93d [MSAFD] Make WSPSetSockOpt() SO_RCVBUF stub return success 2019-02-24 21:25:39 +01:00
Timo Kreuzer
81727760e4 [NTOS::Mm] Fix inverted check in MiWriteProtectSystemImage 2019-02-24 20:34:02 +01:00
Dylan Navas
07608028b3 [MODULES] Fix CMakeLists.txt for wallpapers module. (#1294)
* Add all wallpapers to the ISO and can look how enable the module in ReadMe.txt
* Remove blanks in name.
* Moving to folder with same wallpaper style.
* Adding and updating CMakeLists.txt.
* Update ReadMe.txt.
2019-02-24 18:08:26 +01:00
Serge Gautherie
c5d1638e1e [KMTEST] Fix 3 Clang-Cl warnings about Status and Callbacks (#502)
* 1 "warning: variable 'Status' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]"
* 2 "warning: comparison of unsigned expression < 0 is always false [-Wtautological-unsigned-zero-compare]"
* Use a consistent type for "i" and fix a comment
* Also update licence header.

CORE-14306
2019-02-24 17:53:38 +01:00
Eric Kohl
77e3fbfad5 [MMSYS] Volume page: Initialize the volume trackbar before it might be disabled because the tick marks must be visible on a disabled trackbar. 2019-02-24 17:15:13 +01:00
Eric Kohl
601b2532e1 [MMSYS] Sounds page: Update the 'Play' button and the current item in the 'Program events' treeview when a sound is selected or deselected. 2019-02-24 16:56:55 +01:00
Eric Kohl
722797c779 [SNDVOL32] Disable only the 'Play' button, when no audio device is avaiblable. 2019-02-24 16:16:53 +01:00
Stanislav Motylkov
8c90a67da6 [MSGINA] Add bar bitmap to logon and shutdown dialogs 2019-02-24 15:52:49 +01:00
Stanislav Motylkov
fe1d611e0f [MSGINA] Improve Ctrl-Alt-Del invitation window 2019-02-24 15:52:49 +01:00
Stanislav Motylkov
f9d29319a6 [MSGINA] Implement rotation bar animation
Based on initial work by Bisoc George. Rotation bar image by Zcooger. CORE-15215
2019-02-24 15:52:49 +01:00
Eric Kohl
fb34029fde [MMSYS] Disable the 'Low' and 'High' text of the volume trackbar and the 'Place volume icon in the taskbar' checkbox when no sound device is available. 2019-02-24 15:36:08 +01:00
Raul Tambre
44aef85db1 [WINLOGON] Fix fallback keyboard layout flags 2019-02-24 15:21:38 +01:00
Eric Kohl
26b52c4e06 [SNDVOL32] Advanced Controls dialog: Implemented the Bass and Treble trackbars.
Please check if they are working correctly. I have no way to check them myself.
2019-02-24 12:50:37 +01:00
Eric Kohl
01c0d30f4f [SNDVOL32] Remove trailing whitespace 2019-02-23 17:27:43 +01:00
Eric Kohl
fba5a8fcdb [SNDVOL32] Resize the dialog and groupbox when there are two 'Other Controls' 2019-02-23 17:27:42 +01:00
Pierre Schweitzer
d1598788cd [WS2_32] Use SEH in WSCGetProviderPath() 2019-02-23 13:35:07 +01:00
Eric Kohl
2e797accd3 [SNDVOL32] Advanced Controls dialog: Initialize the Other Controls 2019-02-23 12:53:05 +01:00
Pierre Schweitzer
02e84521cc [WS2_32] Implement WSCGetProviderPath() 2019-02-23 10:57:30 +01:00
Eric Kohl
4ba3c904a8 [SNDVOL32] Advanced controls dialog: Remove the TBS_AUTOTICKS style from the trackbars and initialize them properly. 2019-02-22 23:33:47 +01:00
Eric Kohl
03c3dd5ab0 [SNDVOL32] Move the advanced controls dialog to a separate file and update its title on creation. 2019-02-21 22:27:44 +01:00
Serge Gautherie
6accaef3c7 [NDK] Fix 'DeletedChidren' typo (#1367)
On behalf of Vadim Galyant.
CORE-15769
2019-02-20 22:16:16 +01:00
Pierre Schweitzer
0996dac683 [VIDEOPRT] Don't return uninitialized memory 2019-02-20 21:02:11 +01:00
Mark Jansen
8467d6edd1 [SNDVOL32] Fix parsing dialog icons 2019-02-20 13:57:44 +01:00
Stanislav Motylkov
0eaeb9de4c [SNDVOL32] Add left and right balance icons 2019-02-20 13:57:44 +01:00
Thomas Faber
cf40421041 [NTOS:PNP] Correctly respect data size in PnpRegSzToString. CORE-15766
Spotted by Vadim Galyant.
2019-02-20 12:23:33 +01:00
Thomas Faber
c83d7ba185 [NTDLL_APITEST] Show that registry strings can be longer than MAXUSHORT. 2019-02-20 12:23:24 +01:00
Stanislav Motylkov
faac9169e6 [SNDVOL32] Add Russian translation
Addendum to fe5c50e and e6be187.
2019-02-19 18:37:28 +01:00
Michael Fritscher
4928e800a6 [FREELDR] PXE: Fix network packet size
1024 bytes should fit into a single network packet. CORE-15706
2019-02-19 16:04:20 +01:00
Eric Kohl
e6be187c04 [SNDVOL32] Add the 'Advanced Controls for Volume Control' dialog. It does nothing useful yet. 2019-02-19 00:02:08 +01:00
Mark Jansen
860f96f431 [MSI] Prevent uninitialized variable usage 2019-02-18 23:00:54 +01:00
Mark Jansen
2fade6ede4 [MSI] Do not leak rootkey 2019-02-18 23:00:54 +01:00
Mark Jansen
d766391231 [SHELL32] Abort change notifications on a nullptr
CORE-15703
2019-02-18 23:00:31 +01:00
Eric Kohl
95ed44ef63 [SNDVOL32] Implement the dialog resize code for the 'Advanced Controls' menu item and prepare for clicks on the 'Advanced' button. 2019-02-18 00:58:28 +01:00
Eric Kohl
fe5c50e182 [SNDVOL32] Fix the window height issue when the line selection changes and implement the 'Advanced Controls' menu item.
CORE-9108 CORE-15751
2019-02-17 14:04:39 +01:00
Thomas Faber
a951d66002 [RTL] Fix GCC build. 2019-02-17 09:59:49 +01:00
Thomas Faber
9d53c935f2 [ACPI] Update ACPICA library to version 20190215. 2019-02-17 09:51:20 +01:00
Thomas Faber
8dcdf82e71 [COMCTL32] Check for NULL pointer when handling BCM_GETIDEALSIZE.
Fixes crash in comctl32_winetest:button.
2019-02-17 09:51:18 +01:00
Thomas Faber
3445129dd3 [COMCTL32] Add NULL checks to SetWindowSubclass.
Imports Wine commit 04847e68f87 by Sven Baars.

Fixes crash in comctl32_winetest:subclass.
2019-02-17 09:51:16 +01:00
Thomas Faber
7246909a80 [RTL] Protect pointer validity check in RtlFreeHeap with SEH.
Fixes crash in kernel32_winetest:heap.
2019-02-17 09:51:12 +01:00
Hermès Bélusca-Maïto
3ddf59e1ed [CMLIB] Assign a signature to the in-memory HHIVE registry hive structure. CORE-15753
Makes the `!reg hivelist` WinDbg command working in ReactOS.

Dedicated to Mark Jansen.

See for more details:
https://webcache.googleusercontent.com/search?q=cache:fmHJX9eFGkkJ:https://blogs.technet.microsoft.com/ganand/archive/2008/01/05/internal-structures-of-the-windows-registry.aspx
and
http://moyix.blogspot.com/2008/02/enumerating-registry-hives.html
2019-02-17 01:21:37 +01:00
Hermès Bélusca-Maïto
70180ee06a [CMLIB] Minor code style changes only: Use slightly more explicit signature #define names so that we know to which hive structure they correspond. 2019-02-17 01:21:36 +01:00
Hermès Bélusca-Maïto
83fdb9a6d9 [NTOS:CM] Set and reset the CMHIVE HiveIsLoading flag adequately. Fix an assertion in CmFlushKey() and reset the CMHIVE ViewLockOwner when releasing the view lock. 2019-02-17 01:21:35 +01:00
Eric Kohl
86800fc498 [SNDVOL32] AUTORADIOBUTTONs are AUTORADIOBUTTONs, not PUSHBUTTONs 2019-02-16 20:36:46 +01:00
Eric Kohl
f721e03d2e [SNDVOL32] Change the menu item prefix from IDC to IDM 2019-02-16 19:23:44 +01:00
Mark Jansen
d7ae8690ab [WIN32K:NTUSER] Do not try to reposition an off-screen menu as if it were a popup menu
CORE-15733
2019-02-16 15:45:46 +01:00
Pierre Schweitzer
db3f3921b6 [KERNEL32] Stub SetThreadErrorMode()
Now, Steam crashes because of the stub of GetSystemTimePreciseAsFileTime

CORE-14966
2019-02-16 14:12:55 +01:00
Eric Kohl
0dd4b354b4 [SNDVOL32] Enable the balance and volume trackbars only if the line has a volume fader control. 2019-02-16 13:55:31 +01:00
Pierre Schweitzer
2b1f6c8b0d [MSAFD] Add an initial implementation of SIO_GET_EXTENSION_FUNCTION_POINTER IOCTL
Also stub the related functions the IOCTL will return, namely: WSAID_ACCEPTEX,
WSAID_CONNECTEX, WSAID_DISCONNECTEX, WSAID_GETACCEPTEXSOCKADDRS

This will allow Steam client not to fail in an ASSERT
related to the Steam client PlatformSocketsInit function.

Even though, this doesn't fix Steam running on ReactOS since its UI requires
a Windows 7 API from Kernel32: SetThreadErrorMode().

Nota: its crash got fixed thanks to the Wine sync done recently.

CORE-14966
2019-02-16 13:51:32 +01:00
Eric Kohl
cc820b7f9f [SNDVOL32] Disable the Mute checkbox for all lines that do not have a mute switch control 2019-02-16 12:59:01 +01:00
Pierre Schweitzer
24b2d59ab6 [E1000] Remove useless null check
CID 512827
2019-02-16 10:02:29 +01:00
Pierre Schweitzer
e1f4d2864a [E1000] Don't attempt to free uninitialized pointer
CID 1442660
2019-02-16 10:02:28 +01:00
Katayama Hirofumi MZ
a8002fc065 msgdump.h undocumented drag & drop support (#1359)
In sdk/include/reactos/msgdump.h, support Drag & Drop undocumented messages.
2019-02-16 17:27:25 +09:00
Pierre Schweitzer
22cb300805 [IPHLPAPI] Properly handle GetModuleBaseName failure
CID 1442662, 1442663
2019-02-16 09:05:15 +01:00
Pierre Schweitzer
93b0957641 [IPHLPAPI] Check pointers when returning module info from specific connection 2019-02-16 09:00:06 +01:00
Pierre Schweitzer
22f60faf43 [IPHLPAPI] Remove dead code
CID 513306, 1442673, 1442697
2019-02-16 08:48:08 +01:00
Pierre Schweitzer
f36cbf75e3 [FASTFAT] On volume open, update share access if volume was already open
It was never updated afterwards, leading to a totally loss of share
access information amongst callers.
2019-02-14 10:48:32 +01:00
Pierre Schweitzer
c9c3622ef1 [VFATLIB] Don't forcibly delete LFN when not in RW mode 2019-02-14 10:13:32 +01:00
Bișoc George
35f7267a97 [USETUP] Check the status value of BuildInstallPaths() (#1349) 2019-02-13 15:22:28 +01:00
Julian Kirsch
42515190c5 [NSLOOKUP] Fix crash in case of no network connectivity (#1354)
Prevent nslookup.exe from crashing when executed in a ROS VM with no network
interfaces. This is due to a NULL pointer dereference occurring if
`GetNetworkParams` in `main` fails with an error other than
`ERROR_BUFFER_OVERFLOW`. In this case, `pNetInfo` remains initialized to
NULL, causing `strncpy` to crash.
2019-02-13 13:12:52 +01:00
Bișoc George
67a3747722 [CRYPTEXT] Add Romanian & Italian translations (#1352) 2019-02-13 13:11:17 +01:00
Bișoc George
a95a8c0276 [OSK] Romanian & Italian translations update (#1353) 2019-02-13 13:10:54 +01:00
Andrew Cook
99ec8ff00c [RAMDISK] Fix unterminated query table 2019-02-13 09:33:10 +01:00
Timo Kreuzer
2a5bf96891 [CRT] Implement thread/fiber safe support for MSVC and Clang-CL
This is the most trivial (but also most efficient) implementation possible. Should be good enough for now.
2019-02-12 19:31:33 +01:00
Timo Kreuzer
dc77e7d379 [CRT] Use alias names for rot functions when compiling with Clang-CL
Clang-CL does not support #pragma function like CL. The alternative to this approach is to disable all intrinsics for this single source file, but that is not trivial to do, as it can only be done by removing a compiler switch, which we have no CMake support for. Therefore this solution is simpler and as good.
2019-02-12 19:31:33 +01:00
Timo Kreuzer
0493e8e432 [MVDM] hack-fix Clang-CL build 2019-02-12 19:31:33 +01:00
Timo Kreuzer
cf5926c207 [CPPRT] Implement __std_terminate wrapper for Clang-CL 2019-02-12 19:31:33 +01:00
Timo Kreuzer
68abf035c6 [NDK] Fix INIT_SECTION for Clang (use the GCC definition) 2019-02-12 19:31:33 +01:00
Timo Kreuzer
afe203a1a5 [CRT] Don't define _DECLSPEC_I on Clang builds 2019-02-12 19:31:33 +01:00
Eric Kohl
f6e819fcb8 [SNDVOL32] Read the Style value from the registry and use it as the default display mode. The /n option is no longer needed.
CORE-15743
2019-02-11 23:44:01 +01:00
Eric Kohl
45f0d7413c [SNDVOL32] Disable the balance trackbar for mono channels.
CORE-15743
2019-02-11 21:16:32 +01:00
Stanislav Motylkov
008344fd09 [MEDIA][INF] Fix E1000 driver date
DriverVer date format is mm/dd/yyyy
2019-02-11 19:35:34 +01:00
Victor Perevertkin
53ce7d4370 [CONFIGURE] Do not create another "reactos" directory in build directory. This makes configure.sh consistent with configure.cmd 2019-02-11 09:55:17 +01:00
Pierre Schweitzer
63b13ad939 [NTOSKRNL] Simplify object type name printing 2019-02-11 09:03:58 +01:00
Hermès Bélusca-Maïto
7bbf8ae688 [WIN32SS:NTUSER] Bugcheck in case two mandatory initialization steps are not fulfilled.
- Bugcheck VIDEO_DRIVER_INIT_FAILURE in case initializing video fails.
- Bugcheck WIN32K_INIT_OR_RIT_FAILURE (Windows-compatible) in case
  the USER subsystem version does not match.
2019-02-10 22:44:24 +01:00
Hermès Bélusca-Maïto
1e74ca5075 [BUGCODES] Add WIN32K_INIT_OR_RIT_FAILURE to the list. 2019-02-10 22:44:23 +01:00
Hermès Bélusca-Maïto
38be848f68 [USBSTOR][USBSTOR_NEW] Fix a comparison made for assigning the ScsiInquiryData->RemovableMedia flag.
Now removable drives are really reported as such.

See https://github.com/reactos/reactos/pull/308/files#r163224294
for more details.
2019-02-10 22:40:59 +01:00
Hermès Bélusca-Maïto
a56a2e95a2 [DISK.SYS] Add a HACK so that we can use NT5+ NTOS functions with this NT4 driver for removable devices.
This is needed in order to avoid an infinite recursive loop between
disk!UpdateRemovableGeometry() and ntos!IoReadPartitionTable().
This does not happen with NT5+ disk_new.sys because it doesn't call
IoReadPartitionTable() in that situation.
2019-02-10 22:39:12 +01:00
Eric Kohl
397fe9c817 [SNDVOL32] Implement the volume and balance trackbar for mono and stereo lines. 2019-02-10 22:17:15 +01:00
Pierre Schweitzer
6295cc506e [OOPS] That was not meant to be pushed/commited 2019-02-10 20:52:55 +01:00
Pierre Schweitzer
d2c71d761e [CRYPTEX] Add French translation 2019-02-10 20:43:14 +01:00
Stanislav Motylkov
718ced9f3a [CRYPTEXT] Add russian translation
Addendum to d56d9c1.
2019-02-10 20:41:35 +01:00
Eric Kohl
4ac1512259 [SNDVOL32] Initialize and update the volume and balance trackbars. Moving the trackbars has no effect yet. 2019-02-10 19:34:22 +01:00
Eric Kohl
b995880ee4 [SNDVOL32] Fix coding style issues. No code changes! 2019-02-10 18:09:31 +01:00
Baruch Rutman
d56d9c1aaa [CRYPTEXT] Make extension localizable, and add an icon for certificate files (#1347)
- Localize error message and shell file extension description.
- Added Hebrew resources.
- Added Icon.

The icon is the Tango icon named "certificate". If anybody has a idea for more fitting icon please recommend it.

Follow up of #1343

CORE-15736
2019-02-10 17:57:43 +01:00
Hermès Bélusca-Maïto
c0d97cec88 [NETCFGX] Fix an assignment typo. 2019-02-10 17:30:56 +01:00
Serge Gautherie
237110604b [CMAKE] msvc.cmake: Remove 2 now redundant '/GF' (#1239)
Addendum to 5e673f3.
CORE-14373
2019-02-10 16:46:23 +01:00
Bișoc George
8bde4de2d6 [USETUP][REACTOS] Check the status return value of InitDestinationPaths() (#1264)
- Within the function's body code, check the status values returned by the called functions.
- Change the BuildInstallPaths's function type to NTSTATUS instead of VOID (and check the status of InitDestinationPaths() as well.
2019-02-10 16:43:51 +01:00
Bișoc George
3cd3d896b7 [OSK] Implement standard/enhanced keyboard handler (#1338)
- Add the respective standard keyboard resource.
- Implement the standard/enhanced keyboard dialog switcher.
- Implement save/load handler.
- Move the warning box conditinal check (bShowWarning) to wWinMain application entry point (this will prevent the modal welcome box from displaying each time the user switches into another dialog).

CORE-14428
2019-02-10 16:04:16 +01:00
Luo Yufan
02eeee15f0 [SETUP][INF] Add font substitute for CJK. (#1346)
Fix CJK font problem in Royale theme in ReactOS.

The reason for this PR is similar to the previous one (#1127).
CORE-15738
2019-02-10 15:46:19 +01:00
Mark Jansen
0bdca09a85 [IPHLPAPI] Preserve decoration in exported symbols
CORE-8462
CORE-15665
2019-02-10 13:44:08 +01:00
Eric Kohl
6cf443d6d7 [SNDVOL32] Disable the 'Advanced Controls' menu item by default. 2019-02-10 12:53:08 +01:00
Pierre Schweitzer
df829f7948 [NTOSKRNL] Also display sections name 2019-02-10 11:23:57 +01:00
Serge Gautherie
17af7f0c27 [UDFS] Correctly check SeSinglePrivilegeCheck() return value
SeSinglePrivilegeCheck() returns a BOOLEAN, not a NTSTATUS.

CORE-14271
2019-02-10 10:16:55 +01:00
Hermès Bélusca-Maïto
1b473cbeee [SDK:CMAKE] Fix LINK command-line from the VS IDE for CMake VSSolution configurations, when using MSVC "linker script" files.
MSBuild, via the VS IDE, uses response files when calling CL or LINK.
We cannot specify a custom response file on the linker command-line,
since specifying response files from within response files is forbidden.
We therefore have to pre-process, at configuration time, the linker
script so as to retrieve the custom linker options to be appended
to the linker command-line.
2019-02-10 00:47:43 +01:00
Hermès Bélusca-Maïto
7d0cd6e937 [FREELDR][SDK:CMAKE] Move the `MSVC "linker script" file' functionality out of FreeLdr's cmake file and place it in the dedicated files instead. 2019-02-10 00:43:31 +01:00
Oleksandr Shaposhnikov
a5c5ba17e5 [FREELDR] Fix VSSolution configuring and build
"configure.cmd VSSolution" was failing due to add_asm_files macro
 expansion. It was using the same 'freeldr_linker_file' variable name
 as a temporary filename base twice. This patch uses '_target'
 parameter to make those variable names differ.
2019-02-10 00:25:04 +01:00
Eric Kohl
d1093e8750 [SNDVOL32] Fix the positions and sizes of the separators of the normal line dialog and load the master dialogs for speakers or headphones. 2019-02-10 00:14:05 +01:00
Pierre Schweitzer
f4320047c3 [NTOSKRNL] Fix parsing loop 2019-02-09 13:59:11 +01:00
Pierre Schweitzer
2991f6e76e [NTOSKRNL] Add a first implementation of !handle command in KDBG
It allows dumping all the handles (filtered by PID/Process)
and it displays basic information about file and key handles
2019-02-09 13:46:35 +01:00
Andrew Cook
5bfe6a5376 [mvdm] Fix missing pointer dereference
Original code compared against the pointer value rather
than the first byte
2019-02-09 11:53:55 +01:00
Mark Jansen
fb7a0344cd [CRYPTEXT] Add a minimal shell extension that will show the certificate dialog 2019-02-09 01:44:39 +01:00
Mark Jansen
27cc4c6a08 [LDR] Check forwarded imports against the manifest before trying to load them
CORE-15729
2019-02-08 21:24:01 +01:00
Victor Perevertkin
d9c4d28e59 [E1000] Finished an implementation of the driver.
Added PIDs for whole Intel 8254x family.
Note: this driver uses legacy interfaces for either receive and transmit descriptors.
CORE-14675
2019-02-07 19:48:54 +01:00
Mark Jansen
1b2ca28107 [NDIS] Improve debug output 2019-02-07 19:48:54 +01:00
Mark Jansen
3606404b2e [E1000] Initial send implementation.
CORE-14675
2019-02-07 19:48:54 +01:00
Mark Jansen
ebad64bcfe [E1000] Implement basic sending.
Implement some interrupt recognition

CORE-14675
2019-02-07 19:48:54 +01:00
Mark Jansen
d9b0601ceb [E1000] Basic initialization of the card
Initialize some registers, allocate basic resources

CORE-14675
2019-02-07 19:48:54 +01:00
Mark Jansen
4561998a45 [E1000] Create an initial driver skeleton
Based on the rtl8139 driver written by Cameron Gutman

CORE-14675
2019-02-07 19:48:54 +01:00
Mark Jansen
d93e516747 [LDR] Add support for .local files
CORE-187
2019-02-07 18:48:49 +01:00
Mark Jansen
88cd8d681c [NTDLL_APITEST] Add test for RtlComputePrivatizedDllName_U 2019-02-07 18:48:49 +01:00
Mark Jansen
e1aae1c620 [RTL] Implement RtlComputePrivatizedDllName_U 2019-02-07 18:48:49 +01:00
Serge Gautherie
84e76b1c4c [NTOS:MM] ExFreePoolWithTag(): Accept tag mismatch, on release build only (#1334)
"Release" builds should not BSoD on 'Freeing pool - invalid tag specified' case,
this is compatible with Windows behaviour.
Nothing changes otherwise concerning the "Debug" builds, where pool-tag mismatch
triggers a BSoD as expected.

CORE-15446
2019-02-07 16:57:56 +01:00
Eric Kohl
0185ee46d5 [SNDVOL32] Take the balance between channels into account for the volume trackbar of the tray window. 2019-02-05 20:33:43 +01:00
Eric Kohl
d5ceace419 [MMSYS] Take the balance between channels into account for the master volume trackbar. 2019-02-04 23:54:04 +01:00
Amine Khaldi
eea81f5274 [WINDOWSCODECS_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:12:58 +01:00
Amine Khaldi
e98ef4992e [WINDOWSCODECS] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:12:26 +01:00
Amine Khaldi
a587a0e68e [PSDK] Update wincodec.idl. CORE-15682 2019-02-04 13:11:54 +01:00
Amine Khaldi
d9bd8eaba3 [WBEMPROX_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:11:26 +01:00
Amine Khaldi
46add00db5 [WBEMPROX] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:10:55 +01:00
Amine Khaldi
e054ebd54c [WBEMDISP_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:10:24 +01:00
Amine Khaldi
8786e12d13 [WBEMDISP] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:09:55 +01:00
Amine Khaldi
727f534b9f [VERSION_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:09:27 +01:00
Amine Khaldi
f8a6a70be1 [VERSION] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:09:00 +01:00
Amine Khaldi
827f664432 [VBSCRIPT_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:08:28 +01:00
Amine Khaldi
72fa0fd6cc [VBSCRIPT] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:07:56 +01:00
Amine Khaldi
4df86f782f [UXTHEME_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:07:25 +01:00
Amine Khaldi
f8629c57a9 [USP10_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:06:57 +01:00
Amine Khaldi
c0b82105b5 [USP10] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:06:21 +01:00
Amine Khaldi
e38908229b [USERENV_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:05:28 +01:00
Amine Khaldi
11d1bab6f3 [URLMON_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:05:00 +01:00
Amine Khaldi
ad73c0a040 [URLMON] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:04:30 +01:00
Amine Khaldi
f4c8f8de72 [TWAIN_32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:03:56 +01:00
Amine Khaldi
9622551c51 [T2EMBED] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:03:27 +01:00
Amine Khaldi
312e0bf079 [SXS_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:02:58 +01:00
Amine Khaldi
8d3e69919b [SXS] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:02:29 +01:00
Amine Khaldi
c6a219ff82 [SNMPAPI_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:01:59 +01:00
Amine Khaldi
952bc47ba0 [SHLWAPI_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:01:30 +01:00
Amine Khaldi
4d8c4b145d [SHELL32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-04 13:00:58 +01:00
Amine Khaldi
601cdab402 [PSDK] Update shellapi.h and shlobj.h. CORE-15682 2019-02-04 13:00:25 +01:00
Luo Yufan
96d1cd2b62 [TRANSLATION] Update Chinese translation. 2019-02-03 13:17:13 +01:00
Andrew Cook
d8e92b5a0a Merge pull request #1335 from ariscop/CMP0065
Fixes for upstream cmake
2019-02-03 12:57:20 +01:00
Thomas Faber
066ee4db3b [NTOS:MM] Dump pool consumers at most once per second.
This should avoid some log spam during kmtest:ExPools, which
intentionally depletes pool.
2019-02-03 12:54:36 +01:00
Thomas Faber
58215e5fb7 [NTDLL_APITEST] Add test for NtDuplicateObject with OBJ_PROTECT_CLOSE. 2019-02-02 23:02:53 +01:00
Thomas Faber
f5fc9e0cf2 [NTOS:OB] Correctly handle OBJ_PROTECT_CLOSE in ObDuplicateObject. 2019-02-02 23:02:50 +01:00
Thomas Faber
a71f3a70d8 [NTDLL_APITEST] Add tests for zero and negative information class values. CORE-15651 2019-02-02 22:50:19 +01:00
Thomas Faber
63977328b1 [NTOSKRNL] Guard against negative InformationClass enum values. CORE-15651 2019-02-02 22:50:02 +01:00
Thomas Faber
1a14dcb53f [RPCRT4][RPCRT4_WINETEST] Don't unset IDL_FLAGS. Fixes build on 64 bit hosts. 2019-02-02 19:06:04 +01:00
Eric Kohl
60c28213bc [SNDVOL32] Implement the mute checkbox. The tray dialog is done. 2019-02-02 17:22:21 +01:00
Alexandr A. Telyatnikov
0c7e9684bd [UNIATA] Add AHCI revision 1.3.1
Also explicitly print current AHCI revision in debug log. CORE-15643
2019-02-02 15:47:39 +01:00
Eric Kohl
8687529bdf [SETUPAPI] Add a stub for SetupDiDeleteDeviceInterfaceData to make the wine tests work. 2019-02-02 15:13:35 +01:00
Eric Kohl
c73c7cc16e [SNDVOL32] Implement the volume control for the tray window. 2019-02-02 14:44:14 +01:00
Arnav Bhatt
f5960cea70 [SETUP] GUI setup Hindi translation (#951) 2019-02-02 14:41:31 +01:00
Amine Khaldi
138051c0be [SHDOCVW_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 14:16:27 +01:00
Amine Khaldi
876fef085a [SHDOCVW] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 14:16:02 +01:00
Amine Khaldi
6828353ace [SETUPAPI_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 14:15:35 +01:00
Amine Khaldi
aee77bdeee [SERVICES_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 14:14:59 +01:00
Amine Khaldi
96eddc22d2 [SERIALUI_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 14:14:08 +01:00
Amine Khaldi
739fc06f27 [SECUR32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 14:13:33 +01:00
Amine Khaldi
1f7c95d621 [PSDK] Update schannel.h. CORE-15682 2019-02-02 14:13:03 +01:00
Amine Khaldi
c3b5406849 [SCRRUN_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 14:12:33 +01:00
Amine Khaldi
9d4f1f05a3 [RSAENH_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 14:12:04 +01:00
Amine Khaldi
f2f9161a02 [RPCRT4_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 14:11:36 +01:00
Amine Khaldi
e736079be3 [RICHED32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 14:11:06 +01:00
Amine Khaldi
dbfaf10dc0 [RICHED20] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 14:10:37 +01:00
Amine Khaldi
f5580f4c9d [PSDK] Update tom.idl. CORE-15682 2019-02-02 14:08:53 +01:00
Amine Khaldi
c540ae7901 [REGEDIT_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 13:30:32 +01:00
Amine Khaldi
9ce8769f4e [QMGR] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 13:30:06 +01:00
Amine Khaldi
4567e13e3e [PSAPI_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 13:29:37 +01:00
Amine Khaldi
8bc8ae005f [PROPSYS_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 13:29:12 +01:00
Amine Khaldi
2801bfeea1 [PSDK] Update propvarutil.h. CORE-15682 2019-02-02 13:28:43 +01:00
Amine Khaldi
ab64b47497 [PROPSYS] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 13:28:11 +01:00
Amine Khaldi
59e9abd907 [PIDGEN] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 13:27:41 +01:00
Amine Khaldi
fa56cfc9ab [PDH_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 13:27:10 +01:00
Amine Khaldi
c9de708a9b [PDH] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 13:26:39 +01:00
Amine Khaldi
27ad765df6 [OPENGL32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 13:26:08 +01:00
Amine Khaldi
b9e3058014 [OLEDLG_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 13:25:40 +01:00
Amine Khaldi
4abf2277a1 [OLEDLG] Sync with Wine Staging 4.0. CORE-15682 2019-02-02 13:25:12 +01:00
Pierre Schweitzer
a6dc1d69bc [NTOS:MM] On big pool enumeration, return entry instead of base VA 2019-02-02 10:45:15 +01:00
Thomas Faber
42b5f5ec06 [OLEAUT32] Add AMD64 version of call_double_method aka fix build. 2019-02-01 18:09:52 +01:00
Thomas Faber
e7acf61764 [CMAKE] Define some AMD64 symbols for host tools that match what we do for x86.
Fixes widl build.
2019-02-01 18:09:30 +01:00
Hermès Bélusca-Maïto
8077da05e0 [FREELDR] Remove unneeded ASSUME line. 2019-01-31 23:51:00 +01:00
Mark Jansen
71e13274ee [FREELDR] Fix msvc boot (#1329)
CORE-15700
2019-01-31 23:42:20 +01:00
Katayama Hirofumi MZ
64987cf273 [FONT][WIN32SS] Improve font coordinate transformation (#1238)
Improve TextOut/ExtTextOut font rendering with SetWorldTransform. CORE-15554, CORE-15623
2019-01-31 11:57:28 +09:00
Katayama Hirofumi MZ
62f6e3b397 [WIN32KNT_APITEST] Tabs To Spaces (#1326)
Converts Tabs to Spaces.
2019-01-30 22:55:10 +09:00
Katayama Hirofumi MZ
e7846c0c67 [APITESTS][GDI32] Add TextTransform testcase (#1319)
Prove text/font transformation functionality (#1238). CORE-15554
2019-01-30 21:23:42 +09:00
Amine Khaldi
b6fdb56b9a [RPCRT4] Sync with Wine Staging 4.0. CORE-15682 2019-01-30 12:31:33 +01:00
Katayama Hirofumi MZ
bb33692400 [WIN32SS][NTGDI] Use ProbeForWrite in NtGdiSetBitmapBits (#1325)
Use ProbeForWrite instead of ProbeForRead. CORE-15657 and CORE-15695
2019-01-30 16:54:45 +09:00
Katayama Hirofumi MZ
8886a2261a [USETUP] Improve lang/ReadMe.txt 2019-01-30 14:59:10 +09:00
Serge Gautherie
0483a5a380 [NTOS:OB] Correctly check SeSinglePrivilegeCheck() return value (#1323)
SeSinglePrivilegeCheck() returns a BOOLEAN, not a NTSTATUS.
CORE-14271
2019-01-30 00:43:13 +01:00
Joachim Henze
1e05f9cc32 [COMCTL32] Revert "button: Don't erase the area of the checkbox or the text."
This reverts commit 0.4.12-dev-347-g
75a80ec823
by explcit request of Giannis Adamopoulos.

I double-checked and confirm, that
this revert fixes both regressions CORE-15595 & CORE-15696.
On the downside the revert will intensify again the regression CORE-13278
(will make the text flash again as well).

Giannis Adamopoulos mentioned earlier, that using double-buffering
eventually could be a valid way out of CORE-13278 instead.
2019-01-29 19:25:57 +01:00
Katayama Hirofumi MZ
232cf9f0b6 [USETUP] Follow-up ro-RO.h and add lang/ReadMe.txt (#1321)
- Add lang/ReadMe.txt for code7bit description.
- Follow up ro-RO.h file (#1317).
2019-01-29 23:55:45 +09:00
Katayama Hirofumi MZ
6360a53b12 [WIN32KNT_APITEST] Improve NtGdiSetBitmapBits 6 (#1320)
Add some PAGE_READONLY tests. Add two bit pattern tests. CORE-15657 and CORE-15695
2019-01-29 22:48:14 +09:00
Ștefan Fulea
5417742f48 [TRANSLATION] Add Romanian to devcpux, intl.inf, and some rosapps 2019-01-29 13:48:48 +01:00
Ștefan Fulea
092b67c723 [TRANSLATION] Improve the existing translated contents 2019-01-29 13:48:48 +01:00
Ștefan Fulea
211ad8c73d [TRANSLATION] Update the existing romanian resources
This includes both newly added and previously left untranslated strings.
2019-01-29 13:48:48 +01:00
Amine Khaldi
357f69997d [OLEAUT32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:19:12 +01:00
Amine Khaldi
5db885cae7 [OLEAUT32] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:18:42 +01:00
Amine Khaldi
22c8b4bf12 [WIDL] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:18:09 +01:00
Amine Khaldi
64040f7c9f [PSDK] Update ndrtypes.h. CORE-15682 2019-01-29 13:17:38 +01:00
Amine Khaldi
3425afa6d9 [OLEACC_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:17:10 +01:00
Amine Khaldi
016864f8ff [OLEACC] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:16:40 +01:00
Amine Khaldi
5c1bcfec69 [OLE32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:16:05 +01:00
Amine Khaldi
aeea294301 [OLE32] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:15:33 +01:00
Amine Khaldi
4d2ae66cd1 [ODBCCP32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:15:00 +01:00
Amine Khaldi
d34c33223c [ODBCCP32] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:14:20 +01:00
Amine Khaldi
04ef5f7a85 [ODBC32] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:13:48 +01:00
Amine Khaldi
d46c9a5a05 [NTDSAPI_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:13:20 +01:00
Amine Khaldi
08e76d6087 [NETAPI32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:12:45 +01:00
Amine Khaldi
98fa9b2cfc [MSXML3_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:12:12 +01:00
Amine Khaldi
2c59bb1450 [PSDK] Update winerror.h. CORE-15682 2019-01-29 13:11:30 +01:00
Amine Khaldi
9f0f6adfb0 [MSXML3] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:11:02 +01:00
Amine Khaldi
9ab78df104 [MSVIDC32] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:10:20 +01:00
Amine Khaldi
f04935d8f2 [MSVFW32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:09:42 +01:00
Amine Khaldi
cbf79d98c6 [MSVFW32] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:09:12 +01:00
Amine Khaldi
3f6b395cc1 [MSVCRTD_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:08:43 +01:00
Amine Khaldi
f446a50f76 [MSVCRT_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:08:13 +01:00
Amine Khaldi
e430a46061 [MSRLE32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:07:39 +01:00
Amine Khaldi
6c5ec3ddff [MSRLE32] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:07:09 +01:00
Amine Khaldi
606f6cab10 [MSGSM32.ACM] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:06:38 +01:00
Amine Khaldi
3d3499acfa [MSG711.ACM] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:06:10 +01:00
Amine Khaldi
53028dd240 [MSCTF_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:05:39 +01:00
Amine Khaldi
f089261cb9 [MSCTF] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:05:02 +01:00
Amine Khaldi
513e144197 [MSCMS] Sync with Wine Staging 4.0. CORE-15682 2019-01-29 13:04:32 +01:00
Amine Khaldi
e783670140 [PSDK] Update icm.h. CORE-15682 2019-01-29 13:03:59 +01:00
Katayama Hirofumi MZ
1cd2f5438c [WIN32SS][NTGDI] Optimize UnsafeGetBitmapBits/UnsafeSetBitmapBits 2019-01-29 12:04:46 +09:00
Hermès Bélusca-Maïto
06d4fce5ee [NTOS:MM] Some fixes for NtCreatePagingFile().
- Correctly probe the FileName user pointer before capturing its contents.
- A paging file name with zero length is invalid too.
- Remember (TODO!) in the code that the lower bounds of the Safe*Size values
  need to be checked too!
2019-01-28 22:22:56 +01:00
Eric Kohl
dda77704dd [SNDVOL32] Play the default sound when the volume or balance trackbar of the master line has been changed by the user. 2019-01-28 22:05:23 +01:00
Thomas Faber
64d48843d7 [FREETYPE] Handle allocation failures in our stack-saving hacks. CORE-15642
Running out of pool is likely at least during kmtest:ExPools.
There is a chance of crashing when dereferencing these null pointers -- but
worse, there's also a chance of overwriting the IVT or BDA if a VDM BIOS
call is in progress, which can lead to crashes in non-obvious places later.
2019-01-28 14:31:49 +01:00
Eric Kohl
e2d8e588bb [SNDVOL32] Do the volume trackbar calculation like it is done in mmsys.cpl. 2019-01-28 00:59:33 +01:00
Bișoc George
dfa5ff553b [OSK] Initial implementation of a menu (#1301) 2019-01-27 17:35:26 +01:00
Denis Malikov
bcfd350e9f [APPCOMPAT] Run apps in compatibility with 6.1 SP1 (7 SP1), 6.2 (8) and 6.3 (8.1) (#1273) 2019-01-27 17:30:37 +01:00
Hermès Bélusca-Maïto
b6c49bdff2 [MOUNTMGR] Fix MSVC build after commit 53abbb06. 2019-01-27 16:09:54 +01:00
Katayama Hirofumi MZ
e7b222f4c5 [WIN32SS][NTGDI] Delete magic number 565 2019-01-27 20:54:19 +09:00
Katayama Hirofumi MZ
cc75016389 [WIN32KNT_APITEST] Check bit pattern of pvBits (#1315)
CORE-15657
2019-01-27 20:25:15 +09:00
Thomas Faber
c8f69c63de [WIN32KNT_APITEST] Test large buffers without relying on stack layout. (#1314)
CORE-15657
2019-01-27 20:08:52 +09:00
Katayama Hirofumi MZ
1cac3fbe63 [WIN32SS][NTGDI] Fix NtGdiSetBitmapBits in buffer size (#1313)
Let NtGdiSetBitmapBits function fail if buffer size was greater than 564. CORE-15657
2019-01-27 17:44:34 +09:00
Katayama Hirofumi MZ
1ad9a1deab [WIN32KNT_APITEST] NtGdiSetBitmapBits: Add tests for max buffer size 2 (#1312)
Improve NtGdiSetBitmapBits testcase again and again. CORE-15657
2019-01-27 17:17:09 +09:00
Katayama Hirofumi MZ
e80e205156 [WIN32KNT_APITEST] NtGdiSetBitmapBits: Add tests for maximum buffer size (#1311)
Improve NtGdiSetBitmapBits testcase by adding tests for maximum buffer size. CORE-15657
2019-01-27 16:35:53 +09:00
Katayama Hirofumi MZ
6b8f9c0c2b [WIN32SS][NTGDI] Alignment probe change in NtGdiSetBitmapBits (#1309)
Don't check WORD alignment in NtGdiSetBitmapBits to match Win2k3 behaviour. CORE-15657
2019-01-27 16:11:23 +09:00
Katayama Hirofumi MZ
29795a2d72 [WIN32SS][NTGDI] Improve UnsafeGetBitmapBits and NtGdiGetBitmapBits (#1308)
CORE-15657
2019-01-27 15:51:33 +09:00
Katayama Hirofumi MZ
0aa21c3366 [WIN32SS][NTGDI] Fix UnsafeSetBitmapBits (#1310)
CORE-15657
2019-01-27 15:32:52 +09:00
Hermès Bélusca-Maïto
53abbb06b5 [MOUNTMGR][MUP] Use global definition of INIT_FUNCTION/INIT_SECTION (Addendum to 71fefa32). 2019-01-27 02:40:11 +01:00
Hermès Bélusca-Maïto
19f6fc2525 [MVDM] Use again the correct CMAKE_C_COMPILER to pre-process the ASM code (addendum to 09c06a2f). 2019-01-27 02:40:10 +01:00
Hermès Bélusca-Maïto
6b1e1df5c9 [FREELDR] Re-integrate the ASM files (and corresponding C code) in MSVC builds, that were previously compiled just for GCC builds. (#1224)
- Multiboot support added back in FreeLdr MSVC builds so that it can be
  booted using e.g. GRUB. See CORE-15563.

- Re-introduce the disk drive mapper code.
2019-01-27 00:51:26 +01:00
Hermès Bélusca-Maïto
ed83552229 [FREELDR] Introduce a MSVC "linker script" file that centralizes the commands for defining section-limit symbols, and the ordering and merging of PE sections, and the necessary CMake code to use it. (#1224)
As the MSVC linker alone doesn't permit such control, the file uses
ASM language (C can alternatively be used), together with extra linker
command-line switches.

It is pre-processed 3 times: first for generating the ASM code, second
for the C code and the third time for generating the linker response
file.

In our case, the ASM code defines the __bss_start__ and __bss_end__
symbols that allow us to find the limits of the .bss section (which is
by the way automatically appended to the .data section by the MSVC linker).
The C code is used to specify the list of linker switches that can be
passed through the `#pragma comment(linker, ...)' directive (the can be
alternatively specified in the linker response section).
Finally the linker response section contains all the linker switches
that cannot be specified with the `#pragma comment(linker, ...)'
directive.

Using all this we can recycle the BSS initialization code, that has been
written originally for GCC only, also for the MSVC builds.

Also, remove the outdated .text16 section merging.
2019-01-27 00:51:25 +01:00
Hermès Bélusca-Maïto
aaee856cea [FREELDR] Minor code maintenance.
- Whitespace;

- Explicitly use string pooling (option "/GF"), so that even if it's
  used globally in the main ReactOS CMAKE file or not, we still have it
  there, because we are quite size-constrained;

- Rename the source lists (OK, we understand it's _COMMON_ ...);
- Remove redundant double inclusion of linuxboot.c;
- In the 'freeldr_common' static library, compile the ASM code first.
2019-01-27 00:51:19 +01:00
Hermès Bélusca-Maïto
0ee02b2c4d [SDK/INCLUDE] Fix the .code16 macro definition for MASM/ML.
Modify the .code16 macro so that the 16-bit code segment can get a
chance to be correctly merged with other (possibly 32-bit) code
segments, without keeping generating multiple .text segments with
different attributes and generating the corresponding LNK4078 warning.

This fixes the warning when compiling NTOSKRNL on MSVC:
"v86.S.obj : warning LNK4078: multiple '.text' sections found with different attributes (C0520040)".
2019-01-27 00:51:00 +01:00
Amine Khaldi
c90b53d5ad [MSADP32.ACM] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:18:47 +01:00
Amine Khaldi
3ea8528909 [MSACM32] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:18:13 +01:00
Amine Khaldi
127d443593 [MMDEVAPI_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:17:35 +01:00
Amine Khaldi
31d268d584 [MMDEVAPI] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:17:08 +01:00
Amine Khaldi
0a904ca409 [MLANG_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:16:35 +01:00
Amine Khaldi
ccc3eeaea8 [MLANG] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:15:35 +01:00
Amine Khaldi
bca17f6bf6 [MCIWAVE] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:15:03 +01:00
Amine Khaldi
a9e6e64fa5 [MAPI32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:14:31 +01:00
Amine Khaldi
dd78a4bf83 [MAPI32] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:13:59 +01:00
Amine Khaldi
2ea897da44 [LOCALUI_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:13:30 +01:00
Amine Khaldi
792a2286d8 [JSPROXY] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:12:47 +01:00
Amine Khaldi
20f9fb6150 [JSCRIPT_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:12:15 +01:00
Amine Khaldi
660f7b9090 [JSCRIPT] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:11:40 +01:00
Amine Khaldi
9a0babd145 [INETMIB1_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:11:11 +01:00
Amine Khaldi
4973a53fc3 [INETCOMM] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:10:33 +01:00
Amine Khaldi
c0deab6d9d [IMM32] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:10:01 +01:00
Amine Khaldi
2653fad683 [IMAADP32.ACM] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:09:32 +01:00
Amine Khaldi
ec33091a1d [IEFRAME] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:08:54 +01:00
Amine Khaldi
d03e237837 [IMAGEHLP_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:08:26 +01:00
Amine Khaldi
bd88475d94 [ICCVID] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:07:54 +01:00
Amine Khaldi
99138ae93e [HLINK_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:07:24 +01:00
Amine Khaldi
07e4452656 [HLINK] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:06:56 +01:00
Amine Khaldi
279107d5cf [HID_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:06:23 +01:00
Amine Khaldi
066d754700 [HHCTRL] Sync with Wine Staging 4.0. CORE-15682 2019-01-26 13:05:48 +01:00
Katayama Hirofumi MZ
f9037bd33f [WIN32KNT_APITEST] Improve NtGdiSetBitmapBits testcase more and more (#1307)
CORE-15657
2019-01-26 20:28:40 +09:00
Katayama Hirofumi MZ
82c7571e43 [WIN32KNT_APITEST] NtGdiSetBitmapBits: Expand tabs to spaces (#1306)
Expand Tabs to Spaces in NtGdiSetBitmapBits testcase. Follow-up of #1304.
2019-01-26 19:10:23 +09:00
Katayama Hirofumi MZ
13a6583fa0 [WIN32KNT_APITEST] Improve NtGdiSetBitmapBits more (#1304)
Add some tests. CORE-15657
2019-01-26 11:38:42 +09:00
Katayama Hirofumi MZ
08d72bd076 [WIN32KNT_APITEST] Fix NtGdiGetFontResourceInfoInternalW message 2019-01-25 23:01:07 +09:00
Amine Khaldi
7d57324d5d [GDIPLUS_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:23:03 +01:00
Amine Khaldi
07c408ae72 [PSDK] Update gdiplusflat.h. CORE-15682 2019-01-25 13:22:24 +01:00
Amine Khaldi
89f10a28f7 [GDIPLUS] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:21:54 +01:00
Amine Khaldi
4d5fa2bac7 [DNSAPI_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:21:12 +01:00
Amine Khaldi
20c427d29e [CRYPTUI] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:20:18 +01:00
Amine Khaldi
b807af385e [CRYPT32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:19:36 +01:00
Amine Khaldi
b1b70ef9ed [CRYPT32] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:19:03 +01:00
Amine Khaldi
9755a82226 [PSDK] Update wincrypt.h. CORE-15682 2019-01-25 13:18:23 +01:00
Amine Khaldi
8767115816 [CREDUI] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:17:45 +01:00
Amine Khaldi
90f41ebb28 [COMDLG32] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:17:07 +01:00
Amine Khaldi
5f7243b577 [COMCTL32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:16:18 +01:00
Amine Khaldi
07f4be3faf [PSDK] Update commctrl.h. CORE-15682 2019-01-25 13:15:42 +01:00
Amine Khaldi
58aee30e99 [CMD_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:15:06 +01:00
Amine Khaldi
379c53db18 [AVIFIL32] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:14:32 +01:00
Amine Khaldi
0d35c5159b [ATL100_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:14:00 +01:00
Amine Khaldi
f9fd4bbc7c [ATL] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:13:28 +01:00
Amine Khaldi
2a1300f5b6 [ADVPACK] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:12:55 +01:00
Amine Khaldi
517ea70ceb [DMUSIC] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:12:18 +01:00
Amine Khaldi
a924dfff45 [DINPUT_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:11:40 +01:00
Amine Khaldi
98e62237b1 [DINPUT] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:11:07 +01:00
Amine Khaldi
e7b199daff [D3DX9_*] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:10:23 +01:00
Amine Khaldi
28cb32c393 [D3DRM_WINETEST] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:09:38 +01:00
Amine Khaldi
511039b77d [D3DRM] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:09:01 +01:00
Amine Khaldi
6971090559 [D3DCOMPILER_43] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:08:25 +01:00
Amine Khaldi
05b6b55610 [WINHLP32] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:07:47 +01:00
Amine Khaldi
f8052bd8d8 [EXTRAC32] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:07:01 +01:00
Amine Khaldi
0399644a49 [WMIC] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:06:19 +01:00
Oleg Dubinskiy
58fc48527d [TASKMGR] Fix IDS_MSG_WARNINGTERMINATING and IDS_MSG_WARNINGCHANGEPRIORITY dialogs size in Russian translation (#1300) 2019-01-24 18:02:50 +01:00
Katayama Hirofumi MZ
484943d04f [USER32] Make App Switcher use the owner window's icon (#1299)
CORE-15672
2019-01-24 22:41:42 +09:00
Katayama Hirofumi MZ
a024ae626f [APITESTS][WIN32KNT_APITEST] Improve NtGdiEnumFontOpen testcase (#1285)
Use ok, ok_int and ok_ptr macros instead of obsolete TEST macros.
2019-01-24 22:17:40 +09:00
Katayama Hirofumi MZ
687eba26f3 [USER32] Fix AppSwitcher (Alt+Tab) (#1296)
CORE-15653
2019-01-23 22:44:11 +09:00
Bișoc George
f2e0de2f31 [OSK] Use Unicode functions explicitly (#1291) 2019-01-23 13:28:56 +01:00
Yaroslav Kibysh
5910a443c3 [NTOS:INBV] Fix the rotation line bitmap (#1295) 2019-01-23 13:24:40 +01:00
Joachim Henze
3463b2db9f [CDFS] Addendum to last commit CORE-15659
#endif placed wrong.
Thx Pierre Schweitzer, Thomas Faber, Serge Gautherie
2019-01-22 19:20:47 +01:00
Joachim Henze
bccad87f3c [CDFS] Make windows gcc release build compile, regression CORE-15659 2019-01-22 18:49:51 +01:00
Katayama Hirofumi MZ
d4505e4a7f [APITESTS][WIN32KNT_APITEST] Improve NtGdiEngCreatePalette testcase (#1284)
Use ok and ok_long and ok_ptr macros instead of obsolete TEST macros.
2019-01-22 23:01:08 +09:00
Katayama Hirofumi MZ
3bc47ebe41 [APITESTS][WIN32KNT_APITEST] Improve NtGdiDoPalette testcase (#1283)
Use ok, ok_int and ok_long macros instead of RTEST macros.
2019-01-22 21:20:49 +09:00
Katayama Hirofumi MZ
7c847f26e7 [APITESTS][WIN32KNT_APITEST] Improve NtGdiDeleteObjectApp testcase (#1282)
Use ok, ok_int and ok_long macros instead of obsolete TEST macros.
2019-01-22 21:17:58 +09:00
Katayama Hirofumi MZ
8fa1a24edc [APITESTS][WIN32KNT_APITEST] Improve NtGdiGetFontResourceInfoInternalW testcase (#1290)
Use ok macro instead of obsolete TEST macro.
2019-01-22 21:12:19 +09:00
Katayama Hirofumi MZ
377734c9ec [APITESTS][WIN32KNT_APITEST] Improve NtGdiExtTextOutW testcase (#1286)
Use ok_int macros instead of obsolete TEST macros.
2019-01-22 21:11:26 +09:00
Katayama Hirofumi MZ
1a591cbdfa [APITESTS][WIN32KNT_APITEST] Improve NtGdiFlushUserBatch testcase (#1287)
Use ok, ok_int, ok_long, and ok_ptr macros instead of TEST and ASSERT macros.
2019-01-22 21:10:22 +09:00
Katayama Hirofumi MZ
b8ca99fad5 [APITESTS][WIN32KNT_APITEST] Improve NtGdiGetRandomRgn testcase (#1293)
Use ok_int and ok_long macros instead of obsolete TEST and RTEST macros.
2019-01-22 21:07:18 +09:00
Katayama Hirofumi MZ
7123914694 [APITESTS][WIN32KNT_APITEST] Improve NtGdiGetDIBits testcase (#1289)
Use ok, ok_int and ok_long macros instead of obsolete RTEST and ASSERT macros.
2019-01-22 21:06:00 +09:00
Katayama Hirofumi MZ
e32d5a8b76 [APITESTS][WIN32KNT_APITEST] Improve NtGdiCreateCompatibleDC testcase (#1281)
Use ok, ok_int and ok_ptr macros instead of obsolete TEST macros.
2019-01-22 20:59:38 +09:00
Katayama Hirofumi MZ
0e70731358 [APITESTS][WIN32KNT_APITEST] Improve NtGdiCreateBitmap testcase (#1280)
Use ok, ok_int, ok_long and ok_ptr macros instead of obsolete TEST macros.
2019-01-22 20:52:25 +09:00
Katayama Hirofumi MZ
b7794e8112 [APITESTS][WIN32KNT_APITEST] Improve NtGdiBitBlt testcase (#1277)
Use `ok_int`, `ok_long` and `ok` macros instead of obsolete `TEST` and `TESTX` macros.
2019-01-22 20:51:00 +09:00
Katayama Hirofumi MZ
b09bceef7d [APITESTS][WIN32KNT_APITEST] Improve NtGdiCombineRgn testcase (#1279)
Use `ok_int` and `ok_long` macros instead of obsolete `TEST` macros.
2019-01-22 20:49:47 +09:00
Mark Jansen
3df31a8217 [USER32_APITEST] Show that scrollbars can be created when extra window data is requested. 2019-01-21 22:25:35 +01:00
Mark Jansen
e022d8d7cb [WIN32SS] Require at least the amount of extra memory, not the exact amount
This fixes Civ II trying to create scrollbars based on 'native' scrollbars.
2019-01-21 22:25:29 +01:00
Pierre Schweitzer
342414c7d6 [SYSDM] Meh 2019-01-21 21:27:50 +01:00
Pierre Schweitzer
2d8f0aee5c [SYSDM] Update French translation 2019-01-21 21:16:48 +01:00
Mark Jansen
c296ee510f [DBGHELP_APITEST] Skip the test when the function is not found 2019-01-21 20:42:16 +01:00
Andreas Maier
184255ffdb [DBGHELP_APITEST] Add test for SymRegisterCallbackW64. 2019-01-21 20:42:15 +01:00
Katayama Hirofumi MZ
289705caa6 [APITESTS][WIN32KNT_APITEST] Improve NtGdiArcInternal testcase (#1276)
Use ok_int() and ok_long() macros instead of obsolete TEST() macro.
2019-01-21 17:39:05 +01:00
Katayama Hirofumi MZ
6846527f67 [APITESTS][WIN32KNT_APITEST] Use ok_long for NtGdiGetBitmapBits/NtGdiSetBitmapBits (#1275) 2019-01-21 17:38:20 +01:00
Jérôme Gardou
5d6c286981 [NTOS/KE] Add diagnosis DPRINT for CORE-15642 2019-01-21 09:38:29 +01:00
Eric Kohl
9f41824321 [MMSYS] Set the tab title, implement the 'restore defaults' button and the synchronized trackbar movement. 2019-01-21 00:25:17 +01:00
Eric Kohl
431f9bf311 [MMSYS] Improvements to the speaker volume property page
- Open a separate mixer instance for the page, so that MM_MIXM_CONTROL_CHANGE notifications can be received.
- Keep line and channel configurations in a global struct.
- Handle MM_MIXM_CONTROL_CHANGE and WM_HSCROLL notifications.
2019-01-20 22:00:42 +01:00
Bișoc George
c09a7b5bd7 [NOTEPAD] Fix "Save As" dialog resource (#1272)
Fix the placement of the "Encoding" and "Endlines" selection controls.
CORE-15596
2019-01-20 19:58:26 +01:00
Stanislav Motylkov
677edc637c [WINMM] Load Wave/MIDI mapper drivers only after actual device drivers (#1241)
CORE-15620
2019-01-20 17:55:45 +01:00
Pierre Schweitzer
20ddde0a97 [MOUNTMGR] Misc. fixes to QueryDeviceInformation:
- Simplify failure path for DeviceName query failure
- Don't make stable query failure fail the whole function call

Based on a patch by Vadim Galiant

CORE-15550
2019-01-20 17:38:29 +01:00
Eric Kohl
3ae86a245d [MMSYS] Replaces some magic values 2019-01-20 16:35:52 +01:00
Eric Kohl
d301d6a378 [MMSYS] Add the speaker volume dialog.
Retrieve information on the channels and initialize the trackbars accordingly.
2019-01-20 15:59:30 +01:00
Timo Kreuzer
bb9a5f6046 [ROSTESTS] Fix 64bit issues (#1261) 2019-01-20 15:58:32 +01:00
Katayama Hirofumi MZ
efe4605177 [WIN32SS][NTUSER] Fix caret position of Ghostscript (#1271)
CORE-13934, CORE-15656
2019-01-20 23:11:54 +09:00
Pierre Schweitzer
1b92120fc9 [MDI] Fix GCC build 2019-01-20 11:09:54 +01:00
Pierre Schweitzer
32faa24733 [BUTTERFLIES] Fix GCC build 2019-01-20 11:06:42 +01:00
Thomas Faber
21ea19c40f [NTOS:KE] Remove unnecessary breakpoint in KiRaiseException. CORE-15640 2019-01-20 09:57:03 +01:00
Timo Kreuzer
2890a22179 [ROSAPPS] Fix 64 bit issues 2019-01-20 09:04:58 +01:00
Denis Malikov
37af78775d [WIN32SS:NTUSER] Fix Window-snap madness (#1246)
Desktop window was treated as possible to resize.
Fix for 7e396787

CORE-15624
2019-01-19 23:05:19 +01:00
Stanislav Motylkov
d893a6c355 [WINMM:MIDIMAP] Support Windows XP compatible MIDIMap registry setting (#1240)
CORE-15602
2019-01-19 22:48:22 +01:00
Yaroslav Kibysh
8d15720b31 [USETUP] Implement handling Home/End keys in Boot Loader Page (#1265) 2019-01-19 18:44:13 +01:00
Katayama Hirofumi MZ
d0d909245f [WIN32SS][NTUSER] Refactor PR #1226 (#1266)
Refactoring of #1226. CORE-12845
2019-01-19 23:56:33 +09:00
Jérôme Gardou
c3e4b5fec6 [OPENGL32] Fix wglChoosePixelFormat
Not asking for a feature is not asking not to have it.
2019-01-19 14:23:54 +01:00
Jérôme Gardou
bb8a3f4e09 [APITESTS] Add tests for opengl32.dll
Ensure that our SW implementation exposes the same extensions and the same pixel formats than windows.
2019-01-19 14:23:54 +01:00
Jérôme Gardou
115aa24a29 [PSDK] Add PFD_SUPPORT_COMPOSITION definition 2019-01-19 14:23:54 +01:00
Jérôme Gardou
5f2bebf7a5 [OPENGL32][MESA] Downgrade Mesa library to version 2.6
With this commit, we now use a forked version of MESA which only supports OpenGL 1.1, like the windows implementation does.
It exposes :
  - The same pixel formats
  - The same set of extensions
  - Nothing more
All of this without taking 10% of your build time.
If you need a more modern option, look at the MESA package from Rapps, which is (and must be) maintained outside of this code tree.
CORE-7499
2019-01-19 14:23:54 +01:00
Jérôme Gardou
905bcf617f [SDK] Provide .const macro for gas 2019-01-19 14:23:54 +01:00
Timo Kreuzer
3410b25fde [NTOS] Turn broken assert into DPRINT 2019-01-19 13:38:24 +01:00
Timo Kreuzer
65dbfc2868 [NTOS:Mm] Rewrite MiWriteProtectSystemImage (#749)
* The previous version was overcomplicated and broken and therefore disabled.
* The new version also enforces NX protection on x64.
* Now that protecting works, also protect the boot loaded images.
2019-01-18 22:11:43 +01:00
Katayama Hirofumi MZ
4b924a8685 [USER32_APITEST] Improve GetMessageTime tests more (#1254)
Compare GetMessageTime and GetTickCount values.
CORE-15565
2019-01-18 12:11:53 +09:00
Yaroslav Kibysh
0d86ab6a18 [NTOS:INBV] Update the boot screen's rotation bar's image (#1256)
Make it smoother than what it currently is.
2019-01-17 20:45:40 +01:00
Katayama Hirofumi MZ
b490084d38 [USER32_APITEST] Improve GetMessageTime tests 2019-01-17 09:31:35 +09:00
Katayama Hirofumi MZ
87bfbb3ec7 [WIN32SS][NTUSER] Fix PostTimeMessage message time 2019-01-16 22:59:36 +02:00
Katayama Hirofumi MZ
249d55f4a0 [USER32_APITEST] Add tests for GetMessageTime 2019-01-16 22:59:35 +02:00
Jared Smudde
7d60b2e12f [MMSYS] Set the initial media folder location. (#1248) 2019-01-16 12:53:00 +01:00
Serge Gautherie
6f2aa0cbf9 [SHELL32] CDefView: Remove a remnant string part (#1250)
Addendum to 9ae373a.
2019-01-16 12:51:49 +01:00
Thomas Faber
b4a8afe55d [MSXML3] Handle libxml2 API breakage. CORE-15280
Imports Wine commit 2a8719d280c.
2019-01-16 09:27:30 +01:00
Thomas Faber
af4421c39a [LIBXSLT] Update to version 1.1.33. CORE-15280 2019-01-16 09:27:26 +01:00
Thomas Faber
5bb277a54b [LIBXML2] Update to version 2.9.8. CORE-15280 2019-01-16 09:27:22 +01:00
Mark Jansen
61fed54064 [CTM] Add a visual indication to show there are more processes (#1222) 2019-01-16 03:39:27 +01:00
Pierre Schweitzer
d9a3fd16d4 [NTOSKRNL] Add support for callback when enumerating large pool allocations 2019-01-15 22:07:35 +01:00
Denis Malikov
7e396787ed [WIN32SS:NTUSER] Implement "Window Snap" feature (#1226)
Implemented the following actions: stick the window on the left/right or maximize it,
with the following shortcuts:
 - Win key + Arrows;
 - drag to left/right screen border;
 - double-click on top/bottom.

CORE-12845
2019-01-15 14:36:41 +01:00
Stanislav Motylkov
c95f335893 [MMSYS] Properly save Audio/MIDI In/Out in the registry
CORE-15582
2019-01-15 15:27:58 +02:00
Mark Jansen
9ae373a023 [SHELL32] CDefView: Find a reasonable place to show a context menu
Previously, we would treat the input as unsigned coordinates, this is wrong!
If the coordinates are invalid, we try to find a focused or selected item.
The center of this item is where we'll show the menu.
When there is no item, we default to 0,0
2019-01-15 14:34:53 +02:00
Mark Jansen
f9e50f5471 [ATL] Add GET_X_LPARAM and GET_Y_LPARAM to atlwin.h
Remove all local definitions
2019-01-15 14:34:53 +02:00
Mark Jansen
007ec0310c [WIN32K:NTUSER] Fix a case where the menu was off-screen on the other side
Found by Denis Malikov
CORE-15001
CORE-9037
2019-01-15 14:34:53 +02:00
Katayama Hirofumi MZ
1a4732703c [WIN32SS][USER32] Make IsHungAppWindow check FNID (#1245)
CORE-11944
2019-01-15 20:32:23 +09:00
Katayama Hirofumi MZ
9285bd19de [WIN32SS][USER32] Ghost is a hung window (#1244)
IsHungAppWindow(a ghost window) == TRUE. CORE-11944
2019-01-15 19:40:34 +09:00
Colin Finck
2440df762c [DOXYGEN] Update Doxyfile for our build of Doxygen 1.8.15. 2019-01-15 09:37:54 +01:00
Katayama Hirofumi MZ
8ca854251a [WIN32SS][NTUSER] Don't freeze Task Bar in switching the app (#1243)
This avoids taskbar hung up.
2019-01-15 13:45:28 +09:00
Eric Kohl
5f11c16ca8 [MMSYS] Move global variables into a GLOBAL_DATA struct and free allocated memory on WM_DESTROY. 2019-01-13 23:19:25 +01:00
Denis Malikov
473e0bfc83 [TASKMGR] adjust widths for status bar parts
Now "commit charge" not clipped
2019-01-13 21:33:44 +02:00
Stanislav Motylkov
e0d80a4ab6 [MMSYS] Add icons for the sound tree (#1235)
CORE-15584
2019-01-13 19:13:20 +01:00
Denis Malikov
da9accfba6 [COMCTL32] add padding for status bar text 2019-01-13 18:21:36 +02:00
Joachim Henze
daadcc6141 [GDIPLUS] Fix a regression painting gradient CORE-15479
patch is import of Wine commit 0937186f7d15fed60f77fa2014d650f4d0b6b20b
by Nikolay Sivov
2019-01-13 17:14:41 +01:00
Eric Kohl
0ec2fd4c3e [MMSYS] Fix the main volume trackbar
- Increase the height of the trackbar in order to make it fully visible.
- Remove the selection range code.
- Set a range from 0 to 500 and fix the volume calculations accordingly.
- Set a tick frequency of 50 and a page size of 100.
- Play the default sound on TB_ENDTRACK notifications.
2019-01-13 15:38:06 +01:00
Eric Kohl
fcadedb306 [MMSYS] Play default sound when the volume trackbar is released.
This works on Windows XP but it might not work on ReactOS because of unimplemented features of PlaySound().
2019-01-13 14:05:00 +01:00
Eric Kohl
5cf2a78473 [MMSYS] Replace the sound event list ListView by a TreeView.
CORE-15584
2019-01-13 10:37:21 +01:00
Extravert-ir
2b4108b2c6 [HALX86] Removed reduntant INIT_FUNCTION attribute from HalpGetSystemInterruptVector. (#1234)
This fixes livecd crashes started since 71fefa32db.
2019-01-13 01:01:31 +01:00
Stanislav Motylkov
4575747d61 [MMSYS] Fix tab-stop for group controls and comboboxes (#1231)
CORE-15581
2019-01-12 21:18:10 +01:00
Hermès Bélusca-Maïto
5e673f3118 [CMAKE] MSVC cmake settings improvements.
- Always use string pooling when building: this helps reducing the
  size of the binaries due to string redundancy coming from the usage
  of __FILE__ / __RELFILE__ in the debugging helper macros. Note also
  that GCC builds use string pooling by default.

- Use suitable add_compile_flags() command.
- Add some explanative comments for some settings.

Some numbers (obtained with my local builds):

Before / After => Reduction
===========================

freeldr.sys  :  443 KB (  453.632 bytes) /  364 KB (  372.736 bytes) => ~ 18%
win32k.sys   : 1877 KB (1.922.048 bytes) / 1562 KB (1.599.488 bytes) => ~ 17%
ntoskrnl.exe : 2253 KB (2.307.072 bytes) / 1902 KB (1.947.136 bytes) => ~ 15.6%
kernel32.dll : 3008 KB (3.080.192 bytes) / 2906 KB (2.975.744 bytes) => ~ 3.4%
2019-01-12 18:09:51 +01:00
Thomas Faber
363f5f26b1 [ACPICA] Update to version 20190108. CORE-15593 2019-01-12 16:27:54 +01:00
Thomas Faber
ecbd6353cc [ACPICA] Update to version 20181213. CORE-15593 2019-01-12 16:27:42 +01:00
Thomas Faber
bc002f1708 [FASTFAT] Avoid a use after free in VfatCloseFile. 2019-01-12 16:27:37 +01:00
Thomas Faber
bc8307205b [FASTFAT] Avoid a use after free in VfatCheckForDismount. 2019-01-12 16:27:30 +01:00
Thomas Faber
b61b18157b [LIBPNG] Update to version 1.6.36. CORE-15280 2019-01-12 16:27:18 +01:00
Stanislav Motylkov
da528a6606 [MMSYS] Properly select current MIDI output device
CORE-15582
2019-01-11 13:08:24 +02:00
Giannis Adamopoulos
75a80ec823 [COMCTL32] button: Don't erase the area of the checkbox or the text.
Attempt to fix the menace of the world, CORE-13278.
Note that this can also cause visual glitches for classic check boxes or radio buttons.
2019-01-10 23:38:02 +02:00
Mark Jansen
d2626f0c2a [WIN32K:NTUSER] Find a better position for a menu that is off-screen
Previously, we would just stick the menu on the edge of the screen.
We should actually try to flip the menu around the point of origin,
and only when that fails move it to the edge of the screen.
CORE-15001
CORE-9037
2019-01-10 19:55:39 +01:00
Denis Malikov
14df8c2e48 [MSVCRT] export _local_unwind4 for 6.0+ version 2019-01-10 19:48:49 +01:00
Stanislav Motylkov
e266b8c8c7 [SYSSETUP] Add spec definition for SetupInfObjectInstallActionW (#1228)
CORE-9897
2019-01-10 03:33:46 +01:00
Thomas Faber
0ba5bc40fb [MBEDTLS] Update to version 2.7.9. CORE-15280 2019-01-09 10:47:38 +01:00
Thomas Faber
e5fc2b4ce3 [KMTESTS:EX] Add a test that triggers big pool expansion. CORE-15051 2019-01-09 08:18:41 +01:00
Thomas Faber
e7de564bfc [NTOS:MM] Implement big pool table expansion. CORE-15051 2019-01-09 08:18:38 +01:00
Andrew Boyarshin
3636b46dfd [SPEC2DEF] Fix compilation of generated stub C files with int64 parameters 2019-01-08 18:58:56 +01:00
Luo Yufan
980d8b1b12 [TRANSLATION] Update Chinese translation. (#1227)
Update Chinese and Traditional Chinese translations.
2019-01-08 13:42:17 +01:00
Thomas Faber
b2dcb8e0d8 [WIN32K:NTUSER] Avoid dereferencing a null pointer in NC_DoNCPaint. CORE-15569 2019-01-08 11:27:33 +01:00
Pierre Schweitzer
a3f8813fff [NTOSKRNL] Add support for large allocations in !poolfind 2019-01-08 08:43:23 +01:00
Pierre Schweitzer
e1342127f0 [NTOSKRNL] In !irpfind, add info about current stack major/minor 2019-01-08 08:43:23 +01:00
Eric Kohl
38160b207d [KERNEL32] GetComputerNameExW: Fix crash in kernel32_winetest environ test 2019-01-07 22:45:33 +01:00
Giannis Adamopoulos
88a69b446b [UXTHEME] Fix a series of problems regarding ThemeCalculateCaptionButtonsPos
Only call it when needed. Also make it fail properly if the window theme could not be opened.
CORE-15564
2019-01-07 11:38:42 +02:00
Pierre Schweitzer
e6a1851684 [NTOSKRNL] Misc fixes to !irpfind 2019-01-06 23:21:20 +01:00
Pierre Schweitzer
36f90e7e46 [NTOSKRNL] Move KDBG MM functions implementation to their own file 2019-01-06 22:50:57 +01:00
Mark Jansen
0bfa6722ba [GDI32] Add missing dependency 2019-01-06 21:07:28 +01:00
Mark Jansen
8ad7517446 [WINSPOOL] Semi implement DocumentPropertiesW
CORE-15522
2019-01-06 21:07:27 +01:00
Mark Jansen
796dd5f53c [PRINTING] Semi-implement GetPrinterDriverW
CORE-15522
2019-01-06 21:07:27 +01:00
Mark Jansen
2e4457f223 [PRINTING] The first argument to PackStrings can be const. 2019-01-06 21:07:09 +01:00
Hermès Bélusca-Maïto
d272866550 [FREELDR] Minor code formatting; constify some non-mutable data. 2019-01-06 18:42:01 +01:00
Luo Yufan
95564d5e30 [TRANSLATION] Update Chinese translation. (#1223)
[CLIPBRD][SOLITAIRE][RAPPS][REGEDIT][WINHLP32][WORDPAD][FDEBUG][SYSDM][BROWSEUI][DEVMGR][IEFRAME][OLEDLG][SHELL32][SYSSETUP][INF][WINFILE][NTVDM][USER32]
2019-01-07 00:35:11 +09:00
Pierre Schweitzer
25e14ae2a8 [NTOSKRNL] Fix !irpfind usage message 2019-01-06 13:00:43 +01:00
Pierre Schweitzer
28193399ee [NTOSKRNL] Properly check for address validity in !poolfind 2019-01-06 12:58:14 +01:00
Pierre Schweitzer
47b48520b5 [NTOSKRNL] Reimplement !irpfind using !poolfind helpers
This allows avoiding one of the previous implementation limits:
leaked IRP not queued to a thread are now totally visible since
we look directly in the memory pool.
2019-01-06 12:49:57 +01:00
Pierre Schweitzer
12e579567c [NTOSKRNL] Implement !poolfind command in KDBG
For now, it allows searching for pool allocations in
both paged and non paged pool.

It is based on Andreas Schuster work to identify POOL_HEADER
structures.
2019-01-06 11:56:38 +01:00
Baruch Rutman
123a7c80e0 [NTUSER] Fix SetProcessDefaultLayout() (#1013)
- Add a check in co_UserCreateWindowEx() for parentless windows,
  that checks the default layout direction; if it's LAYOUT_RTL
  add the WS_EX_LAYOUTRTL flag to the extended window styles.

- Make the internal routine accepting also LAYOUT_LTR as a value for SetProcessDefaultLayout().
  Limit receiving value to LAYOUT_ORIENTATIONMASK (and not just LAYOUT_RTL)
  or LAYOUT_LTR, as per written in:
  https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-setprocessdefaultlayout

Now all the applications that call SetProcessDefaultLayout() to mirror the layout get mirrored.
This is based on Wine.
2019-01-06 04:35:51 +01:00
Katayama Hirofumi MZ
6e4e5a004c [FONT][GDI32] Fix font enumeration functions (#1221)
Fix EnumFonts, EnumFontFamilies and EnumFontFamiliesEx functions.
The charsets of the font substitutes are also enumerated.
Delete meaningless codes. CORE-15558
2019-01-06 10:43:34 +09:00
Katayama Hirofumi MZ
cdaff94c3d [GDI32_APITEST] Improve CreateFontIndirect testcase 2019-01-06 09:20:30 +09:00
Hermès Bélusca-Maïto
5053f1f571 [FREELDR] Simplify code by using a AddReactOSArcDiskInfo() helper, and few extra additions.
- Introduce the AddReactOSArcDiskInfo() helper to get rid of the
  duplicated reactos_arc_disk_info usage scattered amongst different
  files.

- GetHarddiskInformation(): If we cannot read the disk that has been
  enumerated by the BIOS, return a default identifier string.

- GetHarddiskInformation(): The last character of the disk identifier
  string corresponds to whether its MBR is "valid"/has the 0xAA55
  signature (use 'A') or whether it's not (use 'X'). Tested on Windows.

- Split PcInitializeBootDevices() in two: the first part of this
  function that enumerates hard disks from the BIOS is now moved into
  EnumerateHarddisks().

- The 'ValidPartitionTable' field of the ARC disk signature records must
  be initialized with correct value that is specified in the different
  AddReactOSArcDiskInfo() calls.
2019-01-05 19:39:32 +01:00
Denis Malikov
655d24d9eb [KERNEL32] make some NLS and Format functions work. Wine-sync with latest version 2019-01-05 19:01:30 +01:00
Hermès Bélusca-Maïto
ca24df9c85 [WIN32SS:NTUSER] Completely update the metrics in co_IntInitializeDesktopGraphics().
This change is similar to what is done in UserChangeDisplaySettings()
after changing screen video mode.

This allows e.g. having windows to be correctly maximized during
2nd-stage GUI setup. To compare and reproduce during 2nd-stage GUI
setup, open cmd.exe (Shift-F10) and from there a GUI app, e.g.
regedit.exe, and maximize it. Observe the limits used by the window.
2019-01-05 16:42:16 +01:00
David Quintana
01e5cb0c04 Resource file strings cleanup (#581)
[CMDUTILS/AT] Fix missing translation strings in certain files.
[NOTEPAD] Fix SUBLANG code to brazillian.
[RAPPS] Fix missing translation strings in certain files.
[FDEBUG] Fix translation string ID.
[CPL/INPUT] Fix missing translation strings in certain files.
[ACPPAGE] Fix incorrect resource IDs.
[NETSHELL] Fix incorrect resource IDs.
[DEVMGR] Fix missing translation strings in certain files.
[LSASRV] Fix missing translation strings in certain files.
[RASDLG] Fix missing translation strings in certain files.
[SHELL32] Fix missing translation strings and incorrect resource IDs.
[TAPIUI] Fix missing translation strings in certain files.
[WINFILE] Fix incorrect resource IDs.
[NTVDM] Fix missing translation strings in certain files.
[USERSRV] Fix missing translation strings in certain files.
[BROWSEUI] One more missing string.
[FLTMC] Fix missing translation strings in certain files.

Detected using the TransDiffer tool (early alpha).
This doesn't include everything anymore, but I wanted to get the PR out of the way.
2019-01-05 15:44:16 +01:00
Mark Jansen
db8488e5ca [SDK] Reset InDbgPrint state when an exception occurs
Previously this would not get reset, and all debug prints from the
current thread would be muted.
2019-01-05 15:21:40 +01:00
Eric Kohl
372363930f [NET] Implement the /add and /del options of the computer command. 2019-01-05 15:04:09 +01:00
Bișoc George
e549de4924 [VCDCONTROLTOOL] Implement Romanian & Italian translations (#1218) 2019-01-05 14:54:57 +01:00
Denis Malikov
343bc19720 [MSVCRT] export _except_handler4_common 2019-01-05 13:44:33 +01:00
Serge Gautherie
c5d8d8d289 [LOG2LINES] Use translate_line() for command line input too
NB: Last step would be to re-use translate_files()...
2019-01-05 13:39:02 +01:00
Andrew Boyarshin
04c851194c [NTDLL][RTL] Implement RtlGetFullPathName_UEx 2019-01-05 13:33:28 +01:00
Mark Jansen
e984cabad2 [APPHELP] Prevent a nullptr dereference 2019-01-05 13:11:36 +01:00
Mark Jansen
6969e85b29 [SHIMENG] Prevent a nullptr dereference 2019-01-05 13:11:35 +01:00
Mark Jansen
1692ab3fe3 [APPCOMPAT] Move sdbtagid.h and sdbtypes.h to a shared location 2019-01-05 13:11:35 +01:00
Mark Jansen
511e793502 [SHIMENG] Ignore shims that are loading 2019-01-05 13:11:35 +01:00
Mark Jansen
58918686aa [APPHELP] Fix a typo in the logging 2019-01-05 13:11:35 +01:00
Mark Jansen
aabefa30d5 [SHIMLIB] c++ compatibility 2019-01-05 13:11:09 +01:00
Timo Kreuzer
cfd1647914 [REACTOS] Fix misc 64 bit issues (#783)
* [WIN32K] Fix handle calculation in DbgGdiHTIntegrityCheck
* [NOTEPAD] Fix MSVC warnings
* [PSDK] Simplify *PROC definitions in windef.h
* [VIDEOPRT] Don't try to use NtVdmControl on x64
* [FREELDR] Fix some macros
* [CRT] Make qsort 64 bit compatible
* [NTOS] Use #ifndef _WIN64 instead of #ifdef _M_IX86 around C_ASSERTs
* [FAST486] Fix 64 bit warnings and change DWORD to ULONG, so it can be used in kernel mode
* [APPHELP_APITEST] Fix 64 bit issue
2019-01-05 10:50:11 +01:00
Thomas Faber
d67156fa98 [MPG123] Update to version 1.25.10. CORE-15280 2019-01-05 09:20:40 +01:00
Thomas Faber
d9e6c9b539 [MBEDTLS] Update to version 2.7.6. CORE-15280
Note: this disables the MBEDTLS_DEPRECATED_REMOVED configuration value,
because we require the now-deprecated MD5 & SHA functions for bcrypt.
2019-01-05 09:20:35 +01:00
Thomas Faber
9f1e053260 [LIBPNG] Update to version 1.6.35. CORE-15280 2019-01-05 09:20:21 +01:00
Bișoc George
94fd5099ca [OSK] Fix a sentence in Italian resource (#1219)
Addendum to 76002778 (see the comment left).
2019-01-04 23:14:16 +01:00
Luo Yufan
6561572847 [TRANSLATION] Improve Chinese translation of VCDControlTool. (#1217) 2019-01-04 21:20:50 +01:00
Mark Jansen
bb6dfbc473 [APISETS] Remove default kernel32 import library, since stubs no longer need it 2019-01-04 20:33:37 +01:00
Mark Jansen
149d22d857 [VERIFIER] Remove stub special case, since our normal 'stub' code no longer links against kernel32 2019-01-04 20:33:26 +01:00
Giannis Adamopoulos
b3399c68e9 [WINSRV] ConSrvConnect: Always store the control dispatcher routine
This shouldn't be used only for console applications but can potentially be used by any application to receive shutdown notifications.
MSDN provides more information in the documentation for SetConsoleCtrlHandler. Our services.exe also expect to receive shutdown notifications in this way.
2019-01-04 19:38:36 +02:00
Giannis Adamopoulos
cb2dcc0a2f [WINSRV] usersrv: Fix a wrong debug print 2019-01-04 19:30:17 +02:00
Giannis Adamopoulos
8ebff93b35 [WINSRV] usersrv: Don't terminate processes with no top level windows
Consrv will handle these.
2019-01-04 13:29:26 +02:00
Giannis Adamopoulos
cc710885d0 [WINSRV] usersrv: remove wrong dead code and fix indentation 2019-01-04 13:29:26 +02:00
Giannis Adamopoulos
4bef6f5913 [WINSRV] consrv: Implement terminating console processes on shutdown
Also stub handling non-console, non-gui processes.
2019-01-04 13:29:26 +02:00
Giannis Adamopoulos
0a80b77e76 [WINSRV] usersrv: Simplify sanity checks in UserClientShutdown
UserClientShutdown will never be called for csrss so we don't need to have a check for that. The existing check was broken and wasn't doing anything anyway.
Handle processing winlogon by doing nothing so that consrv won't be bothered about it.
2019-01-04 13:29:26 +02:00
Pierre Schweitzer
d84ab9ec7c [MOUNTMGR] Fix buffer length checking
Found by Vadim Galiant.

CORE-15549
2019-01-03 23:12:16 +01:00
Mark Jansen
6d89d19f39 [LDR] Ensure we start with a valid pointer 2019-01-03 22:52:18 +01:00
Mark Jansen
aa912422e5 [LDR] Actually allocate what is asked for 2019-01-03 22:52:18 +01:00
Mark Jansen
3e9cf62470 [LDR] Don't dereference a possible nullptr on a malformed forwarded import 2019-01-03 22:52:18 +01:00
Mark Jansen
97d0595bf6 [LDR] Don't dereference a possible nullptr 2019-01-03 22:52:06 +01:00
Bișoc George
760027783a [OSK] Update translation files (#1189)
Translate the welcome dialog resource for Italian and Romanian.
2019-01-03 22:28:03 +01:00
Yaroslav Kibysh
f759dddb4b [APPWIZ] Russian and Ukrainian Translations Update (#1215) 2019-01-03 22:20:40 +01:00
Eric Kohl
8be4a871b1 Addendum to 60f018ae: Remove obsolete DPRINTs and fix a DPRINT. 2019-01-03 21:32:33 +01:00
Pierre Schweitzer
44fdf3fc30 [RXCE] Fix leftover 2019-01-03 16:59:45 +01:00
Katayama Hirofumi MZ
dfa23b60ec [USER32] Let App Switcher activate only one window (#1214) 2019-01-03 16:34:58 +01:00
Hermès Bélusca-Maïto
8d878f4bfa [RDBSS] Fix pointer value assignation. 2019-01-03 15:49:07 +01:00
Timo Kreuzer
cdee669619 [RXCE] Fix 64 bit build 2019-01-03 14:27:15 +01:00
Eric Kohl
60f018aea6 [ACPI] Add code to retrieve packet type data from ACPI methods. This will enable the cmbatt driver to retrieve _BIF (battery information) or _BST (battery status) data. Also fix the buffer size calculation for integer and string data. 2019-01-02 23:29:12 +01:00
Pierre Schweitzer
9d0eb9b7b8 [TCPIP] Don't trust the TEB
And trust the Russian hackers to exploit that.
2019-01-02 23:02:44 +01:00
Hermès Bélusca-Maïto
333ce14dad [WIN32SS] Try to recover display when changing the display mode fails for whatever reason.
This helps when e.g. changing the resolution on the Dell Latitude D531,
which reports that it supports large resolutions (e.g. 1920x1440x32 and
others larger than 1024x768x32) but fails to apply these.
This usually happens because PDEVOBJ_pSurface(), and more precisely
ppdev->pldev->pfn.EnableSurface(), fails for these resolutions.

- PDEVOBJ_bSwitchMode(): Set the new video mode, or restore the original
  one in case of failure + release the allocated ppdevTmp if previous
  calls fail. Also unlock in reverse order of locking order.

- UserChangeDisplaySettings(): In case PDEVOBJ_pSurface() fails (but has
  reverted the original video mode), we still need to refresh the
  display since the display may have been messed up.
2019-01-02 21:12:22 +01:00
Hermès Bélusca-Maïto
fb4a6e38c7 [WIN32SS:NTUSER] Remove some hardcoded buffer sizes + number of chars vs. bytes mixup. 2019-01-02 21:12:21 +01:00
Hermès Bélusca-Maïto
cc3fbfefac [WIN32SS:NTUSER] Minor whitespace formatting. 2019-01-02 21:12:20 +01:00
Hermès Bélusca-Maïto
3f716870ca [FRAMEBUF] Correctly check the return value of the EngDeviceIoControl() call and return adequate value in DrvAssertMode(). 2019-01-02 21:12:19 +01:00
Giannis Adamopoulos
60448f83fb [NTUSER] Fix a few tests related to desktops and window stations
- NtUserOpenInputDesktop: Don't crash if there is no input desktop yet
- NtUserOpenInputDesktop: Fail if the process doesn't belong to the interactive window station
- NtUserCreateWindowStation: Clear error on success
- DesktopWindowProc: Use UserOpenInputDesktop to get a handle to the input desktop
2019-01-02 17:15:40 +02:00
Pierre Schweitzer
a9124b412d [RDBSS][RXCE] Implement IRP cancellation
CORE-15441
2019-01-02 15:02:15 +01:00
Julio Carchi
1e141573e4 [TRANSLATION] Spanish translations (#944) 2019-01-02 12:01:44 +01:00
Pierre Schweitzer
d6dc1fd231 [NTOSKRNL] Add a raw implementation of !irpfind in kdbg
This is far from perfect, and totally doesn't match the
WinDBG way of doing it. Instead of browsing pool to find
matching 'IRP' tags, we just browse all the processes
to find the queued IRP. This requires the IRPs to be queued,
obviously, and will make us miss the leaked IRPs, for instance.

Proper way to do it would be to implement !poolfind and then
rely on its implementation to find our IRPs.

Perhaps later ;-)
2019-01-01 22:00:56 +01:00
Arnav Bhatt
8ab3652c01 [TRANSLATION] Hindi translation of browseui, comctl32 and shell32 (#1209) 2019-01-01 19:43:42 +01:00
Mark Jansen
04ff7481b1 [LDR] Introduce a private heap for the loader.
This ensures we can still do stuff when the process heap is corrupted.
2019-01-01 16:20:13 +01:00
Eric Kohl
34b0516ec4 [BATTC] Fixed an oops! 2019-01-01 13:48:43 +01:00
Eric Kohl
397fa2844e [BATTC] Some tiny fixes
- Add missing parameter to a DPRINT.
- Print pointers using %p instead of %x.
- Move all executable code behind a functions initial DPRINT.
- Do not use non-trivial initializers.
- Check for NULL instead of using !.
- Add missing parentheses.
2019-01-01 13:20:41 +01:00
Eric Kohl
04524fef3b [BATTC] Fix indentation. No code changes! 2019-01-01 13:20:39 +01:00
Pierre Schweitzer
f76a097a25 [TCPIP] Check buffer before dereferencing it
CID 716664
2019-01-01 10:45:48 +01:00
Pierre Schweitzer
0150bb964a [SETUP] Silence some noisy DPRINT1 2019-01-01 10:08:02 +01:00
Hermès Bélusca-Maïto
3fc3447f3e Happy New Year 2019 everybody! 2019-01-01 00:00:00 +01:00
Luo Yufan
9f54dbff5e [TRANSLATION] Update Chinese translation. (#1212) 2018-12-31 21:47:58 +01:00
Eric Kohl
66e4dbc7ed [UMPNPMGR] PNP_GetDeviceList: Implement the enumeration of service device instances. 2018-12-31 21:38:26 +01:00
Bișoc George
a825774096 [CONTRIBUTING] Add a notice for how to set your real name/mail (#1197)
Instead of posting the links each time, they'll be posted on README for future notice.
2018-12-31 21:31:32 +01:00
Stanislav Motylkov
ccbc73ac93 [MPLAY32] Accept paths with double quotes from command-line (#1210)
CORE-15525
2018-12-31 21:29:58 +01:00
Pierre Schweitzer
01b580d876 [WIN32K] Deny deviceless calls to EngDeviceIoControl
This fixes BSOD happening in ntoskrnl coming from win32k under certain
conditions with 3rd party display drivers (such as VBox or VMware)
2018-12-31 20:35:17 +01:00
Eric Kohl
5da008c338 [UMPNPMGR] PNP_GetDeviceListSize: Implement the buffer size calculation for the enumeration of services instances. 2018-12-31 16:15:16 +01:00
Hervé Poussineau
a179012563 [ZLIB] Import upstream commit 38e8ce32afbaa82f67d992b9f3056f281fe69259:
Fix CLEAR_HASH macro to be usable as a single statement.
As it is used in deflateParams().
2018-12-31 14:23:59 +01:00
Pierre Schweitzer
89a4cde14a [TCPIP] Don't assume the TEB is always defined
Fixes the crash in kmtest:TcpIpConnect test.
2018-12-31 14:00:34 +01:00
Eric Kohl
ccb8c906b0 [UMPNPMGR] PNP_GetDeviceList/PNP_GetDeviceListSize: Move device relations code into separate functions. 2018-12-31 11:21:17 +01:00
Hervé Poussineau
c4d25d27f6 [RTL] Fix RtlNewSecurityGrantedAccess improperly zeroing output buffer 2018-12-31 11:19:36 +01:00
Pierre Schweitzer
aa55bb1bd3 [IPHLPAPI] Add support for service tags in GetOwnerModuleFromTcp/UdpEntry
If a service tag is set in owner information, then, we'll query advapi32 and
thus services to get the service name instead of the image name
2018-12-31 11:19:36 +01:00
Pierre Schweitzer
96985e0746 [TCPIP] Return the SubProcessTag when enumerating connections with owner class 2018-12-31 11:19:36 +01:00
Pierre Schweitzer
d98001de17 [TCPIP] Save the SubProcessTag when an ADDRESS_FILE is created 2018-12-31 11:19:35 +01:00
Pierre Schweitzer
1a93d83f92 [SDK] Add PsGetCurrentThreadTeb() to the DDK 2018-12-31 11:19:35 +01:00
Pierre Schweitzer
abb6fd83a4 [ADVAPI32_APITEST] Add tests showing that first field of OwningModuleInfo is the tag
Also, show that querying owner information about a connection owned by a service
returns the service name, and not the image nor its path.

Obviously, that fails in ReactOS.
2018-12-31 11:19:29 +01:00
Katayama Hirofumi MZ
f757a13519 [FONT][WIN32SS] Partially implement font/text rotation (#1207)
Partially implement font/text rotation by LOGFONT.lfEscapement and improve the rendering image. If the angle was not a multiple of 90 degrees, then the background won't be filled. CORE-11848, CORE-15319
2018-12-31 18:56:43 +09:00
Luo Yufan
cfddf95d6f [TRANSLATION] Update Chinese translation. (#1205)
[NET][DISKPART][WINLOGON][ACCESS][APPWIZ][DESK][JOY][MMSYS][POWERCFG][SYSDM][NETCFGX][NETID][SAMSRV][TAPIUI][INF] Update Chinese translation.
2018-12-31 18:47:37 +09:00
Bișoc George
96228ccc0a [APPWIZ] Do not hardcode the strings (#1208)
Let's make those message strings translatable.
2018-12-31 16:42:53 +09:00
Pierre Schweitzer
c10901966e [SERVICES] Properly check again PID
This fixes services not being found.
With that commit and the previous one, I_QueryTagInformation is now fully
functionnal and properly returns service name for a specific tag
2018-12-30 21:44:40 +01:00
Pierre Schweitzer
ebf8785661 [SERVICES] pszName is a string, mark it so
This fixes returning string with RI_ScQueryServiceTagInfo
2018-12-30 21:44:39 +01:00
Pierre Schweitzer
29b46995aa [ADVAPI32] When starting or sending a control to a service, set the tag in the TEB
This now allows tracking the threads of the services thanks to their tag.

This fixes the failing test in advapi32:ServiceEnv
2018-12-30 21:44:39 +01:00
Pierre Schweitzer
446e13745c [ADVAPI32] Stop pretending our advapi32 is NT6+
This is wrong and messes up with internal structures (such as TEB).
For the two needed functions which are "NT6+", they were exported
with NT6, but already existed in W2K3 SP2.

This might fix random bugs

CORE-15526
2018-12-30 21:44:39 +01:00
Pierre Schweitzer
2ee627ba63 [SERVICES] On service start control message, send the service tag 2018-12-30 21:44:25 +01:00
Eric Kohl
6183774efa [UMPNPMGR] PNP_GetDeviceList: Implement the enumeration of all device instances. 2018-12-30 17:15:40 +01:00
Hermès Bélusca-Maïto
6d5a7b1ce3 [FREELDR] Explicitly call RamDiskInitialize() in RamDiskLoadVirtualFile(). 2018-12-30 15:26:44 +01:00
Hermès Bélusca-Maïto
7d6cbea42d [USETUP] Fix the strings given to the printf-like functions (addendum to a3168373). 2018-12-30 15:26:44 +01:00
Hermès Bélusca-Maïto
f488102c86 [CDFS] Addendum to 5429771b, 6c733856 and 3c64b4cb (r75579): When the CDFS driver is used as a fixed disk FS,
the type of device it should return must not be FILE_DEVICE_CD_ROM, but must be the actual underlying one!

This fixes recognizing *removable* USB keys as disks and not CD-ROMs.

CORE-13184
2018-12-30 15:26:43 +01:00
Hermès Bélusca-Maïto
bf6b5e1ceb [NTOS] Fix a NULL-pointer access bug. 2018-12-30 15:26:43 +01:00
Hermès Bélusca-Maïto
fefb982d64 [NTOS] Don't use TAG_IO_NAME when calling ExFreePoolWithTag() for freeing FileObject->FileName.Buffer .
This may look strange, since this buffer is originally allocated using
the TAG_IO_NAME tag. However, it happens that file-system drivers are
allowed to re-allocate this buffer: this is what the MS' open-sourced
CDFS driver does, see e.g. CdCommonCreate() and CdNormalizeFileNames()
in cdfs/create.c .

This fixes a pool tag mismatch 'mNoI' != 'nFdC' BSOD when resources
are freed when closing a file that has been opened with a relative name
on a CDFS-mounted volume.
2018-12-30 15:26:42 +01:00
Hermès Bélusca-Maïto
d3a97e2228 [NTOS] Code formatting only. 2018-12-30 15:26:35 +01:00
Eric Kohl
969de9062c [UMPNPMGR] PNP_GetDeviceListSize: Implement the buffer size calculation for a list of all device instances. 2018-12-30 14:43:10 +01:00
Pierre Schweitzer
1a9b9800b1 [SERVICES] Implement ScmGenerateServiceTag and call it on service creation
This allows assigning an unique ServiceTag to each Win32 service
2018-12-30 14:27:04 +01:00
Pierre Schweitzer
519a2c9f6f [SERVICES] Implement ScmGetServiceNameFromTag 2018-12-30 14:27:04 +01:00
Pierre Schweitzer
90f5e6b6c3 [SERVICES] Implement RI_ScQueryServiceTagInfo 2018-12-30 14:27:03 +01:00
Pierre Schweitzer
e29a99245b [ADVAPI32] Implement I_ScQueryServiceTagInfo 2018-12-30 14:27:03 +01:00
Pierre Schweitzer
19304da5c3 [ADVAPI32] Implement I_QueryTagInformation 2018-12-30 14:27:02 +01:00
Pierre Schweitzer
dfaee51f98 [SERVICES] Define the RI_ScQueryServiceTagInfo RPC call
All the definitions are taken from ProcessHacker:
https://github.com/processhacker/processhacker/blob/master/phnt/include/subprocesstag.h
2018-12-30 14:26:57 +01:00
Eric Kohl
4f37d96857 [UMPNPMGR] PNP_GetDeviceList: Implement the enumeration of device instances for a given enumerator. 2018-12-30 12:58:30 +01:00
Timo Kreuzer
71fefa32db [NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779)
* Add an NDK header to define INIT_FUNCTION/INIT_SECTION globally
* Use _declspec(allocate(x)) and _declspec(code_seg(x)) on MSVC versions that support it
* Use INIT_FUNCTION on functions only and INIT_SECTION on data only (required by MSVC)
* Place INIT_FUNCTION before the return type (required by MSVC)
* Make sure declarations and implementations share the same modifiers (required by MSVC)
* Add a global linker option to suppress warnings about defined but unused INIT section
* Merge INIT section into .text in freeldr
2018-12-30 12:19:11 +01:00
Eric Kohl
7c66247343 [UMPNPMGR] PNP_GetDeviceListSize: Implement the buffer size calculation for given enumerators and take care of the terminating double Unicode null character. 2018-12-30 09:06:59 +01:00
Thomas Faber
e3c8002dfc [WIN32K:NTUSER] Reference menus owned by a popup menu. CORE-15504 2018-12-30 00:25:01 +01:00
Eric Kohl
a9b88efa7c [UMPNPMGR] PNP_GetDeviceList / PNP_GetDeviceListSize: Implement the buffer size calculation and device instance enumeration for a given enumerator and device name. 2018-12-29 22:13:32 +01:00
Pierre Schweitzer
830f2998ab [ADVAPI32_APITEST] Unknown field isn't that unknown and should contain "1"
See processhacker source code (as reference)
2018-12-29 22:09:52 +01:00
Timo Kreuzer
bcb0d7c6c9 [CABMAN] Fix a problem with creating temp files on some Windows system 2018-12-29 21:37:42 +01:00
Mark Jansen
86ea03bf51 [FONT][WIN32SS] Re-add casts for gcc 2018-12-29 20:06:04 +01:00
Mark Jansen
85db46d75c [FONT][WIN32SS] Remove casts 2018-12-29 19:47:00 +01:00
Mark Jansen
971c657b80 [FONT][WIN32SS] Hold the freetype lock while accessing freetype data 2018-12-29 19:47:00 +01:00
Mark Jansen
2e44e5ce54 [FONT][WIN32SS] Fix a memory leak 2018-12-29 19:47:00 +01:00
Mark Jansen
1f13b95e5b [FONT][WIN32SS] Fix a memory leak 2018-12-29 19:47:00 +01:00
Mark Jansen
1d1b7f46fc [FONT][WIN32SS] Hold the freetype lock while accessing freetype data 2018-12-29 19:47:00 +01:00
Mark Jansen
436d8d962a [FONT][WIN32SS] Hold the freetype lock while accessing freetype data 2018-12-29 19:46:59 +01:00
Mark Jansen
2fa400b521 [FONT][WIN32SS] Do not return an uninitialized variable 2018-12-29 19:46:59 +01:00
Eric Kohl
aecc523b6a [NTOS:IO] Fix indentation. No code changes. 2018-12-29 17:49:38 +01:00
Katayama Hirofumi MZ
c5f89b8159 [APPWIZ] Show message box upon error 2018-12-29 05:55:19 +09:00
Pierre Schweitzer
4ed6b1ffca [SETUP] Add support for selecting FS type in unattended setups
By default, we still fallback to FAT if nothing asked, or if there
is an invalid input.
0 is FAT, 1 is BtrFS. This can be grown as soon as we add more IFS.
2018-12-28 20:36:47 +01:00
Thomas Faber
c526f94b8c [WIN32K:NTUSER] Acquire the user lock exclusively in NtUserGetSystemMenu. CORE-15512 2018-12-28 13:59:33 +01:00
Thomas Faber
0013b0f71c [NTDLL:LDR] Avoid passing an uninitialized variable to another function. 2018-12-28 13:41:09 +01:00
Katayama Hirofumi MZ
65f0926086 [MENU][WIN32SS] Fix non-menubar menu text Y position (#1199)
CORE-15226
2018-12-28 12:12:42 +09:00
Mark Jansen
ec5c0c926b [NTOS] When checking something for NULL, let's initialize it to NULL... 2018-12-27 23:03:22 +01:00
Eric Kohl
b17e8a5e3c [ADVAPI32] CreateProcessAsUserA/W: Partially revert an obvious case of over-engineering. Only share the common parts! Now it looks a lot better. No more stupid bUnicode! 2018-12-27 19:29:20 +01:00
Luo Yufan
c34833390a [TRANSLATION] Update Traditional Chinese translation. (#1193) 2018-12-27 16:24:24 +09:00
Katayama Hirofumi MZ
6ee576f91d [FONT][WIN32SS] Optimize a bit 2018-12-27 09:23:49 +09:00
Luo Yufan
d1de19002a [TRANSLATION] Update Traditional Chinese translation. (#1192) 2018-12-26 21:02:23 +01:00
Eric Kohl
079f7027f6 [NTOS:IO] When a device has been started, create an Enum sub key to its service key and add the device instance name to the Enum sub key. 2018-12-25 23:04:27 +01:00
Katayama Hirofumi MZ
be84465883 [FONT][WIN32SS] Follow-up of #1184 2018-12-25 21:54:33 +09:00
Pierre Schweitzer
e6cd48809a [BTRFS] Reduce diff with upstream
CORE-15452
2018-12-25 13:50:41 +01:00
Pierre Schweitzer
f75ea083e3 [NTOSKRNL_VISTA] Implement FsRtlGetEcpListFromIrp and FsRtlGetNextExtraCreateParameter
CORE-15452
2018-12-25 13:50:41 +01:00
Pierre Schweitzer
a76b8843a8 [NTOSKRNL_VISTA] Implement IoGetIrpExtraCreateParameter
CORE-15452
2018-12-25 13:50:40 +01:00
Katayama Hirofumi MZ
d6cfeaef51 [FONT][WIN32SS] Refactor rendering text background (#1184)
Simplify the background filling codes. CORE-14856
2018-12-25 20:41:25 +09:00
Katayama Hirofumi MZ
968c8f37f1 [WIN32SS] Fix RLE4 bitmap decoding (#1188)
CORE-10553, CORE-11399
2018-12-25 18:04:21 +09:00
Luo Yufan
0a3f6f3b47 [TRANSLATION] Update Chinese translation. (#1187)
[REG][REACTOS][EXPLORER][APPWIZ][CONSOLE][INETCPL][INPUT]
[INTL][OPENGLCFG][TIMEDATE][DEVCPUX][COMCTL32][COMDLG32]
[MSGINA][NETCFGX][NETID][SETUPAPI][SHELL32][SYSSETUP]
Update Simplified and Traditional Chinese translations.
2018-12-25 17:28:36 +09:00
Eric Kohl
9703a42a6e [MC] Fix the build 2018-12-24 18:19:58 +01:00
Eric Kohl
f0d096838b [MC] Fix build issue? 2018-12-24 18:10:38 +01:00
Eric Kohl
69ff796168 Fix the build 2018-12-24 17:03:00 +01:00
Eric Kohl
7a27dc8a55 [NET] Add (incomplete) COMPUTER command and rename help.c to cmdHelp.c. 2018-12-24 14:39:26 +01:00
Luo Yufan
c4118adf80 [COMDLG32] Update Simplified Chinese translation. 2018-12-24 12:00:29 +01:00
Luo Yufan
098c69679f [COMCTL32] Update Simplified Chinese translation. 2018-12-24 12:00:29 +01:00
Eric Kohl
4e28e65490 [NET] Move TIME, USE, USER, VIEW and NET command syntax and help texts into a message table and add the translators names to the message file. 2018-12-24 11:48:23 +01:00
Eric Kohl
4984e1b810 [NET] Move START, STATISTICS and STOP command syntax and help texts into a message table. 2018-12-24 10:20:44 +01:00
Eric Kohl
01af56140c [NET] Move PAUSE, PRINT, SEND, SESSION and SHARE command syntax and help texts into a message table. 2018-12-24 01:25:30 +01:00
Eric Kohl
e560fa2741 [NET] Move HRELPMSG, LOVALGROUP and NAME command syntax and help texts into a message table. 2018-12-24 00:13:16 +01:00
Eric Kohl
e1824b5bd3 [NET] Move FILE, GROUP and HELP command syntax and help texts into a message table. 2018-12-23 21:42:49 +01:00
Hermès Bélusca-Maïto
02e4ff8eb3 [USETUP] Add SETUP_INIT_PAGE in the list of virtual pages. 2018-12-23 21:02:08 +01:00
Bișoc George
d6141954f2 [OSK] Add missing welcome box resource for Estonian (#1181) 2018-12-23 20:46:36 +01:00
Hermès Bélusca-Maïto
d23fa54488 [USETUP] Modify the integrated user-mode PnP manager along the lines of UMPNPMGR, so that we can wait until all the queued device installations finish before continuing the installation further.
Add a corresponding please-wait page and update the translations.
2018-12-23 20:37:14 +01:00
Hermès Bélusca-Maïto
9f1c8ac020 [USETUP] Check for invalid INF handles before doing operations. 2018-12-23 20:37:13 +01:00
Eric Kohl
34e9290821 [NET] Move COMPUTER, CONFIG and CONTINUE command syntax and help texts into a message table. 2018-12-23 20:22:48 +01:00
Pierre Schweitzer
d0b263f26f [SDK] Set proper lang IDs, aka fix build 2018-12-23 18:22:57 +01:00
Luo Yufan
35aa56a8ac [FONTVIEW] Update Traditional Chinese translation. (#1180) 2018-12-23 17:00:09 +01:00
Eric Kohl
7292af515d [NET] Move ACCOUNTS command syntax and help text into a message table. 2018-12-23 16:50:25 +01:00
Pierre Schweitzer
e16241255d [NTOSKRNL] Set the MemoryMaker flag when executing write behind 2018-12-23 14:59:42 +01:00
Pierre Schweitzer
7e97071c8b [NTOSKRNL] Implement write behind in Cc
For now, this is just a split between scan and flush that
were both done during lazy scan previously.
Lazy scan shouldn't perform any write operation, but only
queue a write behind operation.

Our implementation is far from the original, as it seems
our lazy scan should queue a write behind operation per
shared cache map. Right now, we only perform global
operation.
2018-12-23 14:45:38 +01:00
Eric Kohl
d5c74ae6fe [NET] Load netmsg.dll right from the start and print some messages using netmsg.dll rather than local strings.
@Translators: Please start translating messages from netmsgmsg.mc and errorcodes.mc (located in sdk\include\reactos\mc). They will be used instead of local strings.
2018-12-23 14:18:51 +01:00
Hermès Bélusca-Maïto
2955ed91ab [UMPNPMGR] Use HeapReAlloc() to reallocate the PnP events buffer. Fix a memory leak in DeviceInstallThread(). 2018-12-23 14:09:17 +01:00
Hermès Bélusca-Maïto
9e18da43fe [UMPNPMGR] Minor formatting, and enable a DPRINT1 in case NtGetPlugPlayEvent() fails and the PnpEventThread() thread unexpectedly terminates due to that. 2018-12-23 14:09:16 +01:00
Pierre Schweitzer
cdc419eb18 [KMTESTS:CC] Fix a typo, definitely showing this code path is not used during the test 2018-12-23 12:31:14 +01:00
Pierre Schweitzer
1a267045f8 [NTOSKRNL] Honor files that shouldn't be lazy written 2018-12-23 12:10:58 +01:00
Pierre Schweitzer
34b6a28764 [KMTESTS:CC] Add tests showing a dirty VACB isn't flushed on file growing
CORE-11819
2018-12-23 12:04:39 +01:00
Pierre Schweitzer
0917c64812 [NTOSKRNL] When growing a file, invalid the last VACB so that it can be refreshed
This will avoid corruption when a file size is little grown and read afterwards.
Up to now, FSD where reading 0es instead of expected data, causing corruption.

This fixes MS FastFAT not being able to mount a FAT volume in ReactOS, corrupting
the FAT.
This also fixes the CcSetFileSizes kmtest tests.

This is based on a patch by Thomas Faber.

CORE-11819
2018-12-23 11:19:14 +01:00
Eric Kohl
5efe6f00a9 [NETMSG] Fix message table include statement and build netmsg.dll. 2018-12-22 19:04:55 +01:00
Eric Kohl
5c6eeb5018 [MC] Remove some useless quotation marks from message strings. 2018-12-22 19:04:54 +01:00
Pierre Schweitzer
9cbd1cad0e [FONTSUB] Fix build² 2018-12-22 15:02:16 +01:00
Pierre Schweitzer
6b4d6d40d6 [FONTSUB] Fix build 2018-12-22 14:52:02 +01:00
Pierre Schweitzer
0b5c1503c4 [KMTESTS:CC] Add a trace to identify failing tests 2018-12-22 14:36:45 +01:00
Luo Yufan
eca1aa87a4 [TRANSLATION] Update Chinese shortcut translation (#1179)
* [INF] Update Traditional Chinese translation.
* [ROSAPPS] Update Chinese translation.
* [FONTSUB] Add Traditional Chinese translation.
* [FONTSUB] Add Traditional Chinese translation.
* [FONTSUB] Update Simplified Chinese translation.
* [ROSAPPS] Update Chinese translation.
* [FONTSUB] Update Simplified Chinese translation.
2018-12-22 22:35:33 +09:00
Pierre Schweitzer
f7c0236fc1 [KMTESTS:CC] Add more tests for SetFileSizes
These are covered by Thomas' patch.

CORE-11819
2018-12-22 12:42:05 +01:00
Pierre Schweitzer
ba5d6e977b [KMTESTS:CC] Add tests for CcSetFileSizes
These are passing in W2K3 but failing in ReactOS.

CORE-11819
2018-12-22 12:32:02 +01:00
Thomas Faber
c086edf366 [USP10] Don't mix character and glyph index caches. CORE-14226
Import Wine commits by Nikolay Sivov:
* d1e618d31da usp10: Use glyph index consistently in ScriptGetGlyphABCWidth().
* 8d018d8d1da usp10: Make sure metrics cache is used with glyph indices only.
* eda3a3e37da usp10: Remove extra parentheses.

Fixes font display in UltraISO and GOG installers.

See also https://bugs.winehq.org/show_bug.cgi?id=44410
2018-12-22 11:29:24 +01:00
Serge Gautherie
4d1f13cf77 [NTOS:CC] CcCanIWrite(): Use BYTES_TO_PAGES(Length) 2018-12-21 19:20:59 +01:00
Pierre Schweitzer
8785b10917 [IPHLPAPI_APITEST] Add tests for GetOwnerModuleFromUdpEntry 2018-12-21 19:17:11 +01:00
Pierre Schweitzer
78d703933d [SDK] Define GetOwnerModuleFromUdpEntry() 2018-12-21 19:17:11 +01:00
Pierre Schweitzer
f42a6c16f2 [IPHLPAPI_APITEST] Add tests for GetExtendedUdpTable 2018-12-21 19:17:11 +01:00
Oleg Dubinskiy
637fcbb9bc [COMDLG32] Update Ukrainian translation for NEWFILEOPENV2ORD dialog (#1175) 2018-12-21 16:49:05 +01:00
Oleg Dubinskiy
3d1e8143c2 [COMDLG32] Update Russian translation for NEWFILEOPENV2ORD dialog (#1174) 2018-12-21 16:48:36 +01:00
Pierre Schweitzer
1435ff95b4 [NTOSKRNL] Don't call AcquireForLazyWrite with the master lock held
This incorrect behavior was leading to a call at too high IRQL for paged code.
This was triggered by MS FastFAT.

ReleaseFromLazyWrite call was already correctly called to that regard.

CORE-11819
2018-12-21 08:46:40 +01:00
Serge Gautherie
85cd2849c0 [D3DCOMPILER_43] Fix a MSVC-x64 warning about dxbc_init() (#1173)
"...\utils.c(561) : warning C4028: formal parameter 2 different from declaration"

Cherry-pick:
ffe9346120
CORE-7538
2018-12-21 02:53:42 +01:00
Lee Schroeder
94e4c696e5 [THEMEUI][BOOTDATA] Add the Red, White, Blue Classic Color Scheme for Classic Theme, and Localization (#1059)
Adds the 'Red, White, and Blue' Color Scheme used by the Classic Theme and adds localization for all the color schemes into themeui.dll.

Translators, please check the language files for potential copypasta errors.
2018-12-21 00:38:45 +01:00
Hermès Bélusca-Maïto
b2bad34b9b [NTOS] Addendum to 03873aee: check that the computed size of the OEM-converted string is less than MAXUSHORT. 2018-12-21 00:34:56 +01:00
Serge Gautherie
5c77cd9050 [LOG2LINES] Partially sync output format from command line input (#1109) 2018-12-21 00:27:01 +01:00
Serge Gautherie
c2083ed360 [JSCRIPT] Fix a MSVC-x64 warning about to_uint32() (#1172)
"...\jsutils.c(679) : warning C4028: formal parameter 3 different from declaration"

Cherry-pick:
961d5c8ed0
CORE-7538
2018-12-21 00:07:24 +01:00
Katayama Hirofumi MZ
edc849490d [ROSAPPS][VGAFONTEDIT] Refactor on OpenInfo 2018-12-20 23:37:08 +09:00
Katayama Hirofumi MZ
0a723a2c75 [ROSAPPS][VGAFONTEDIT] Fix memory leaks 2018-12-20 23:19:01 +09:00
Luo Yufan
b460183366 [TRANSLATION] Update Chinese translation. (#1170)
* [BROWSEUI] Update Traditional Chinese translation.
* [BROWSEUI] Update Simplified Chinese translation.
* [SHELL32] Update Traditional Chinese translation.
* [REGEDIT] Update Traditional Chinese translation.
* [BROWSEUI] Update Traditional Chinese translation.
2018-12-20 22:40:03 +09:00
Katayama Hirofumi MZ
56297438a5 [ROSAPPS][VGAFONTEDIT] String/Memory check 2018-12-20 22:33:59 +09:00
Jared Smudde
fb8fe4a08c [DEVMGMT] Replace the blurry 32pixel icon with a clearer one. (#1169)
Device Manager's icon improvement.
2018-12-20 17:38:32 +09:00
Katayama Hirofumi MZ
6d63d76655 [USETUP][NTDLL_APITEST][KBDROST] Allow non-Latin codepage users to build ReactOS on MSVC (Retrial of #1150) (#1168)
- The converter is code7bit I made. code7bit: https://github.com/katahiromz/code7bit
- This converter converts non-clean characters in string literals.
- However I couldn't erase a ton of codepage C4819 warnings.
- CORE-15447

You can edit an European source file as follows:
- Right click the file in the Solution Explorer.
- Select "Open With...".
- Choose "C++ Source Code Editor (with encoding)".
- Choose "Central European (Windows) - Codepage 1260".
2018-12-20 17:25:32 +09:00
Pierre Schweitzer
daf9743c7b [NTOSKRNL] Check that caller has the priviliege to unload a driver
Also, probe the service name when unloading a driver if called from
user-mode. This will avoid that userland applications can trigger an
invalid read in the kernel (and thus, a BSOD).

CORE-15468
2018-12-20 08:50:51 +01:00
Hermès Bélusca-Maïto
bc5acd8102 [NTOS] Minor formatting + don't hardcode sizeof(UCHAR) value. 2018-12-20 03:47:46 +01:00
Hermès Bélusca-Maïto
f4597b5540 [NTOS] Addendum to d8cb37bf: return the correct Status from NtAllocateUuids(). 2018-12-20 03:47:45 +01:00
Hermès Bélusca-Maïto
03873aeef3 [NTOS] Fixes for NtDisplayString().
- Require the user to have TCB privilege for using this function.
- Probe and capture the user-provided string (and avoid usermode-triggered BSODS ;-)
- Allocate the OEM-converted string in *NonPagedPool* because we are
  going to transmit the buffer to BOOTVID.
2018-12-20 03:47:36 +01:00
Luo Yufan
25d076789a [TRANSLATION] Update Traditional Chinese translation. (#1166)
Translations for DESK, HDWWIZ, SYSDM, TIMEDATE and BROWSEUI.

If any Taiwanese contributors are present, please help improving the translations!
2018-12-20 03:25:12 +01:00
Stanislav Motylkov
c1f0e89e21 [NETSHELL] Use distinct icon for connection status window (#1167)
CORE-15445
2018-12-20 00:35:22 +01:00
Pierre Schweitzer
4f8b041bf0 [NTOSKRNL] Drop the ViewLock mutex in favour of the master spin lock
This will allow Cc calls during DPC, which is required by MS FastFAT

CORE-11819
2018-12-19 22:51:45 +01:00
Eric Kohl
b67dbdbea5 [NTOSKRNL] Fix indentation. No code changes. 2018-12-19 19:18:21 +01:00
Eric Kohl
7e56b21ad6 [NTOSKRNL] Fix indentation. No code changes. 2018-12-19 19:18:20 +01:00
Giannis Adamopoulos
1a8d9f12d6 [NTUSER] Implement creating the system threads
- Add UserCreateSystemThread function that will signal csrss to create a new system thread.
- NtUserCreateWindowStation: Create the raw input thread and the desktop thread when the IO window station gets created.
- IntMakeHungWindowGhosted: Create the ghost system thread that will own all ghost windows.
- Let the raw input thread manage the window station of csrss.

[USERSRV] Remove system threads creating hack
- Implement SrvCreateSystemThreads
- Don't create the system threads in UserServerDllInitialization.
2018-12-19 16:13:18 +02:00
Giannis Adamopoulos
9924da34cc [USERSRV] Add definition for the USER_CREATE_SYSTEM_THREAD api message 2018-12-19 16:13:18 +02:00
Giannis Adamopoulos
3ec7b163c9 [WINSRV] Add a hack to fix giving the api port to win32k
- Register our api port with win32k in SrvRegisterLogonProcess because UserClientConnect is never really called.

[NTUSER] Silence a noisy trace
2018-12-19 16:13:18 +02:00
Giannis Adamopoulos
dad76af8a4 [NTUSER] Fix desktop and window station assignment for csrss
- NtUserSetInformationThread: Stub UserThreadUseActiveDesktop and UserThreadRestoreDesktop
- Properly mark the first thread that enters win32k belonging to csrss. At this point we assume that since gpepCSRSS isn't initialized yet, it probably is the first thread.

[WINSRV] Use NtUserSetInformationThread to set the current desktop when needed
-When csrss needs to use user32 or enter win32k, it first needs to assign the current thread to a desktop.
2018-12-19 16:13:18 +02:00
Giannis Adamopoulos
298a46acbf [NTUSER] Don't crash when the current thread doesn't have a desktop 2018-12-19 16:13:18 +02:00
Giannis Adamopoulos
b2a5f5dbb3 [WINSRV] Fix setting the console title 2018-12-19 16:13:18 +02:00
Baruch Rutman
3d991ea5a7 [TRANSLATION][USETUP] Complete Hebrew translation (#1163)
- Code-page 862, Hebrew text is in visual order.
- Use escape sequences for quotation marks.
2018-12-19 13:20:18 +01:00
Katayama Hirofumi MZ
6d47eab526 [ROSAPPS][VGAFONTEDIT] Allow file drop (#1165)
- Allow file drop on EXE file.
- Allow file drop on the main window.
2018-12-19 21:08:25 +09:00
Luo Yufan
bba8262bc1 Update Chinese translation. (#1164)
* [SYSSETUP] Update Simplified Chinese translation.
* [SYSSETUP] Update Traditional Chinese translation.
* [SHELL32] Update Traditional Chinese translation.
* [VCDCONTROLTOOL] Update Simplified Chinese translation.
* [VCDCONTROLTOOL] Update Traditional Chinese translation.
2018-12-19 21:04:19 +09:00
Katayama Hirofumi MZ
02936d4c67 [DEVMGR][NETCFGX][MSCONFIG][NETSHELL] Fix and improve icons (#1143)
CORE-15445
2018-12-19 20:07:17 +09:00
Thomas Faber
0d6dcee968 [CRT] Use explicit C linkage for intrinsic functions.
Fixes MSVC warnings:
sdk\include\crt\xmmintrin.h(33): warning C4162: '_mm_getcsr': no function with C linkage found
sdk\include\crt\xmmintrin.h(35): warning C4162: '_mm_setcsr': no function with C linkage found
2018-12-19 10:55:20 +01:00
Pierre Schweitzer
549793b8a4 [NTOSKRNL] Fix copy/pasta ;-) 2018-12-19 08:15:11 +01:00
Pierre Schweitzer
d8cb37bf15 [NTOSKRNL] Probe parameters in NtAllocateUuids() if called from user-mode
This will avoid that userland applications can trigger an invalid write in
the kernel (and thus, a BSOD).

CORE-15462
2018-12-19 08:09:04 +01:00
Oleg Dubinskiy
4a8c57fcbc [VCDCONTROLTOOL] Add Ukrainian translation 2018-12-18 23:21:07 +01:00
Pierre Schweitzer
6ca1c55c6e [NTOSKRNL] Only allow SYSTEM to call NtSetUuidSeed()
Also, validate input buffer before attempting any operation on it.
This will avoid userland applications to be able to trigger an invalid
read in the kernel (and thus a BSOD).

Regarding access restriction, see:
https://stackoverflow.com/questions/1254244/need-access-to-ntsetuuidseed-from-a-non-localsystem-process

CORE-15460
2018-12-18 23:12:41 +01:00
Serge Gautherie
36c1b87a0b [PSDK] Fix 5 MSVC-x64 "C4028" warnings about SQL*() (#1160)
Missed parts of sqlext.h in r74826 WineSync.
CORE-13362 CORE-7538
2018-12-18 22:48:40 +01:00
Yaroslav Kibysh
8540ab04d7 [TRANSLATION] Ukrainian Translation Update & OEM-866 Code Page Problem (#1133)
Also add the Ї ї Є є characters to the VGA font for code page 866.
2018-12-18 18:38:42 +01:00
Luo Yufan
981cbb1b8c [TRANSLATION] Update Chinese translation (zh_CN & zh_TW) (#1159) 2018-12-18 17:24:35 +01:00
Serge Gautherie
58135d7d41 [CYLFRAC] Fix 3 MSVC-x64 warnings about TimeProc() (#1157)
- "...\cylfrac.c(160): warning C4028: formal parameter 3 different from declaration"
- "...\cylfrac.c(160): warning C4028: formal parameter 4 different from declaration"
- "...\cylfrac.c(160): warning C4028: formal parameter 5 different from declaration"

CORE-7538
2018-12-18 13:30:28 +01:00
Serge Gautherie
57786d7d3a [CYLFRAC] Fix a MSVC-x64 warning about hwnd (#1158)
"...\cylfrac.c(160): warning C4311: 'type cast': pointer truncation from 'HWND' to 'DWORD'".
2018-12-18 13:29:03 +01:00
Pierre Schweitzer
963f715c69 [VCDCONTROLTOOL] Enable Spanish translation
Addendum to 1cb1da5 which was an addendum to be8a835
2018-12-18 08:20:27 +01:00
Luo Yufan
4b7f1e0a9d [TRANSLATION] Update Traditional Chinese translation. (#1142) 2018-12-18 12:30:48 +09:00
Hermès Bélusca-Maïto
1cb1da52d9 Remove unwanted file; addendum to be8a835. 2018-12-18 01:48:30 +01:00
Javier Fernandez
be8a835438 [VCDCONTROLTOOL] Add Spanish translation (#1156) 2018-12-18 01:33:08 +01:00
Joachim Henze
6f8cb05cad [DESK][SHELL32] Allow Desk.cpl to run standalone on WinXP/2003 again CORE-15412
addendum to 0.4.10-dev-502-g
d559ca9c98

That copy-paste was done once intentionally to keep our imports similar to 2003.
It's worth reading the conversation in PR #748: Getequ seems to be ok with this.

The ideal solution most likely would be to instead *statically*
link against RegLoadMUIStringW() from advapi32_vista when WINNT=0x502.
For now the stuff runs again at least.
I left the func existing in advapi32_vista.dll.
2018-12-17 22:01:49 +01:00
Mark Jansen
c8f216eafd [BROWSEUI] Add ITaskbarList implementation
CORE-15424
2018-12-17 20:38:38 +01:00
Mark Jansen
6940d9fdf0 [EXPLORER] Add TWM_GETTASKSWITCH, which seems to be used on windows
to get a handle to the task switch control.
This can then be used to send messages to it, like hiding/showing buttons
CORE-15424
2018-12-17 20:38:38 +01:00
Mark Jansen
959994b67c [OLE32] Don't free handles that are just copied in the inproc case.
This imports wine commit 25b136d40080a80c006b89e02708d2e248504a42,
by Huw Davies and Zebediah Figura
CORE-14696
2018-12-17 20:36:05 +01:00
Pierre Schweitzer
7375173b7f [KMTESTS:CC] Add some tests regarding small pinning size (< PAGE_SIZE)
CORE-15384
2018-12-17 20:31:24 +01:00
Katayama Hirofumi MZ
932a812c66 [SHELL32] Add backslash if path was like C: (#1152)
CORE-15434
2018-12-17 22:42:18 +09:00
Katayama Hirofumi MZ
c94ca8128d [SHELL32] 'Run' dialog box should accept URL (#1153)
Fix ShellExecCmdLine function. CORE-15455, CORE-11772
2018-12-17 22:37:51 +09:00
Katayama Hirofumi MZ
5525c81b2f [SHELL32] Add CDefView::DefMessageSFVCB (Retrial of #1145) (#1151)
CORE-14976
2018-12-17 19:22:31 +09:00
Oleg Dubinskiy
21a0846aff [VCDCONTROLTOOL] Add Russian translation 2018-12-17 08:09:08 +01:00
Katayama Hirofumi MZ
2e2e63e10d [KBDROST][NTDLL_APITEST] Revert #1135 (Delete UTF-8 BOM) (#1149)
CORE-15447
2018-12-17 11:29:35 +09:00
Mark Jansen
b5aa5bcdc1 [SDK] Define some constants for use with _mm_prefetch (#1147)
* [SDK] Define some constants for use with _mm_prefetch
This should fix the build for x64
Add __INTRIN_INLINE for gcc and clang
2018-12-16 23:25:52 +01:00
Serge Gautherie
d840d7cb1b [CMAKE] MSVC: Make C4028 warning into error, on "i386" only
"C4028: formal parameter N different from declaration"

CORE-7538
2018-12-16 23:12:22 +01:00
Eric Kohl
74d50a4da3 [SAMSRV] Implement SamConnect5() and add/improve TRACE messages.
- Implement SamConnect5() and let the other connect functions call SamrConnect5().
- Add missing and improve incomplete TRACE messages for all Samr functions.
2018-12-16 20:43:02 +01:00
Hermès Bélusca-Maïto
cd52bbdf03 [BTRFS] Fix MSVC build. 2018-12-16 17:38:09 +01:00
Hermès Bélusca-Maïto
bc00ea2464 [SHELLBTRFS] Fix MSVC build. 2018-12-16 17:20:37 +01:00
Pierre Schweitzer
65ff430c2b [BTRFS] Fix link with modern MSVC compilers
CORE-15452
2018-12-16 14:38:49 +01:00
Eric Kohl
167bffd80f [NTOSKRNL] Add and call the CmpSaveBootControlSet() stub. 2018-12-16 12:49:59 +01:00
Pierre Schweitzer
a4e25b8673 [SHELLBTRFS] Oops, that local change got dropped...
CORE-15452
2018-12-16 12:27:08 +01:00
Pierre Schweitzer
00ff5e8dc9 [SHELLBTRFS] Fix build
CORE-15452
2018-12-16 12:19:32 +01:00
Pierre Schweitzer
215c0778da [UBTRFS] Upgrade to 1.1
CORE-15452
2018-12-16 12:06:46 +01:00
Pierre Schweitzer
7b718d3627 [SHELLBTRFS] Upgrade to 1.1
CORE-15452
2018-12-16 12:06:46 +01:00
Pierre Schweitzer
eb7fbc253f [BTRFS] Upgrade to 1.1
CORE-15452
2018-12-16 12:06:46 +01:00
Eric Kohl
e8d16d0a7d [NTOSKRNL] Fix indentation. No code changes. 2018-12-16 10:30:23 +01:00
Eric Kohl
b2819c353c [KERNEL32] Store the current computer name in the volatile ActiveComputerName key on first query in order to ensure that the visible computer name does not change until the next reboot. 2018-12-16 10:28:26 +01:00
Katayama Hirofumi MZ
00dd17e6e5 [USER32] App Switcher Arrow keys (#1136)
Implement Arrow keys on App Switcher (Alt+Tab). CORE-15449
2018-12-16 08:42:20 +09:00
Katayama Hirofumi MZ
235042a16c [CPL][SHELL32] Add icons to input, joy, sysdm, folder options (#1138)
CORE-15445
2018-12-16 08:40:47 +09:00
Jared Smudde
44bb99cc8e [SHELL32] Add a warning dialog before starting a dialog as well as a format complete dialog. (#1137)
Also fix the progress bar not working and the Allocation unit size combo box disappearing after a format completes.
2018-12-15 21:22:57 +01:00
Hermès Bélusca-Maïto
043a98ddd9 [UMPNPMGR] Re-enable the usage of Interlocked Singly-Linked lists.
Using locked operations (insertion & removal) on the list of queued
devices installations is necessary, because these operations are done
concurrently by two different threads: PnpEventThread() and
DeviceInstallThread().

Addendum to commit b2aeafca (r24365).
2018-12-15 20:19:32 +01:00
Hermès Bélusca-Maïto
745fa54506 [UMPNPMGR] Fix a typo. 2018-12-15 20:19:31 +01:00
Hermès Bélusca-Maïto
596b1a8d24 [STLPORT] Fix MSVC x64 build.
Timo, can you check whether this disabled code block is really needed?
2018-12-15 20:19:31 +01:00
Hermès Bélusca-Maïto
f6baf266e1 [PSDK] PSDK-compatibility: Add the SList function declarations to winbase.h. 2018-12-15 20:19:29 +01:00
Luo Yufan
adf023e38c [SHELL32] Update Simplified Chinese translation. 2018-12-15 20:13:47 +01:00
Luo Yufan
f369ae618d [SHELL32] Update Traditional Chinese translation. 2018-12-15 20:13:47 +01:00
Pierre Schweitzer
e2277b1f02 [FLOPPY_NEW] Import the floppy driver from MS GitHub repository
Do not enable it yet, as it doesn't work in ROS for the moment :-(.
Its place in tree is not optimal (it should be with disk/class/etc.),
but I prefer keeping it close to actual driver for now.

All the work has been done so that it compiles and links with ReactOS
SDK though.
2018-12-15 20:04:00 +01:00
Pierre Schweitzer
3ceb93a4f2 [PSDK] Complete the MEDIA_TYPE enum 2018-12-15 20:04:00 +01:00
Eric Kohl
c87482b1df [NETAPI32] Implement NetRegisterDomainNameChangeNotification() and NetUnregisterDomainNameChangeNotification(). 2018-12-15 17:18:32 +01:00
Mark Jansen
5f235cc0cb [MAINTAINERS][DOC] Update mspatcha in README.WINE and MAINTAINERS 2018-12-15 16:28:59 +01:00
Mark Jansen
97d7206f8b [MSPATCHA] Initial patch decoding + applying.
Some initial work is done, all testcases pass now.
However a lot of the patch format is still unknown / not working,
so do not expect anything other than the apitest to work yet.
The next thing to do now, is to gather input, output and patch files,
and analyze how the compression and patching works on bigger /
more complex files.
CORE-15417
2018-12-15 16:28:59 +01:00
Mark Jansen
33e3a69a7f [MSPATCHA] Implement GetFilePatchSignature functions 2018-12-15 16:28:59 +01:00
Mark Jansen
fbe4a43f5d [MSPTCHA_APITEST] Initial tests.
The filename intentionally does not contain the word 'patch',
because this will trigger windows to auto-elevate the test app.
2018-12-15 16:28:59 +01:00
Mark Jansen
55e0720509 [MSPATCHA][PSDK] Update / add some function definitions 2018-12-15 16:28:59 +01:00
Pierre Schweitzer
f88259a632 [VCDCONTROLTOOL] Add a shortcut to start menu 2018-12-15 15:46:35 +01:00
Katayama Hirofumi MZ
7050ac4dce [KBDROST][NTDLL_APITEST] Add UTF-8 BOM (#1135)
Add UTF-8 BOM. CORE-15447
2018-12-15 08:00:39 +09:00
Hermès Bélusca-Maïto
a3168373eb [SETUPLIB] Detect GPT-partitioned disks but don't use them since we don't support them at the moment.
- Add checks for GPT disks and either fail or ignore the disk,
  depending on the operation being executed.

[USETUP][REACTOS] Display the disk style more accurately.
2018-12-14 23:32:31 +01:00
Katayama Hirofumi MZ
2be0fe5f8f [SHELL32] Improve French translation of Folder Options View
CORE-15259
2018-12-14 21:41:44 +01:00
Katayama Hirofumi MZ
d310503d9e [EXPLORER] Set display icon of task properties (#1130)
CORE-10494
2018-12-14 20:07:33 +09:00
Katayama Hirofumi MZ
bd55105c8a [CPL] Properly set display icons of control panel applets (#1129)
CORE-15445
2018-12-14 20:06:57 +09:00
Katayama Hirofumi MZ
f222e89d86 [SHELL32] Localize caption of Folder Options
CORE-15247
2018-12-14 19:56:44 +09:00
Serge Gautherie
e94618b7bf [KMTEST:RTL] RtlException: Remove '#if CORE_6640_IS_FIXED'
On behalf of Víctor Martinez.
CORE-8773
2018-12-13 21:36:10 +01:00
Luo Yufan
b0b81e54e9 [SETUP][FONT] Add font substitute of Ubuntu font for CJK
CORE-15179
2018-12-14 02:54:13 +09:00
Katayama Hirofumi MZ
fad9f6677a [BROWSEUI] Follow up of #1121
CORE-15434
2018-12-13 20:40:05 +09:00
Katayama Hirofumi MZ
c64d31e9b8 [BROWSEUI] Add backslash for directory (#1121)
CORE-15434
2018-12-13 20:04:02 +09:00
Katayama Hirofumi MZ
63a0ac0461 [REGEDIT] Set background brush to child window (#1122)
This commit fixes a problem with drawing of splitter. CORE-15442
2018-12-13 20:00:27 +09:00
Pierre Schweitzer
ec96bf8e5c [ROSAUTOTEST] Force HTTPS
ONLINE-855
2018-12-13 11:54:59 +01:00
Pierre Schweitzer
a062160b29 [ROSAUTOTEST] Forget about HTTP, go over HTTPS directly
ONLINE-855
2018-12-13 11:49:13 +01:00
Pierre Schweitzer
1d22362741 [ROSAUTOTEST] Allow transparent redirection to HTTPS URLs
ONLINE-855
2018-12-13 11:45:43 +01:00
Pierre Schweitzer
63b00d8146 [MAINTAINERS] Add the vcdcontroltool app 2018-12-12 21:12:39 +01:00
Serge Gautherie
4918271a3c [WS2_32_APITEST] Fix 'inialialization' typo, in comments (#1119) 2018-12-12 20:24:07 +01:00
Mark Jansen
f386a6ec41 [SFC_APITEST] Initial test for SfcIsFileProtected and SfcGetFiles 2018-12-12 19:33:44 +01:00
Mark Jansen
cc2f0a8868 [SHELL32] Add IActiveDesktop stub
CORE-15424
2018-12-12 19:29:09 +01:00
Mark Jansen
6378c83663 [COM_APITEST] Add a test for CLSID_ActiveDesktop
CORE-15424
2018-12-12 19:29:09 +01:00
Mark Jansen
570b7655ab [PSDK] Add a minimal IActiveDesktop definition
CORE-15424
2018-12-12 19:28:58 +01:00
Andrew Boyarshin
3ba51dc218 [NTOS:MM] Fix typo in MiCheckForUserStackOverflow 2018-12-12 12:57:08 +01:00
Katayama Hirofumi MZ
472787ffea [SHELL32] Fix 'Run' dialog crash (#1117)
Running "%SYSTEMROOT%" sometimes crashed. This will fix it. CORE-15431
2018-12-12 10:33:05 +09:00
Katayama Hirofumi MZ
25578b7d12 [INCLUDE] Replace \r\n with \n 2018-12-12 09:01:36 +09:00
Mark Jansen
1e568ce62d [SDK] Update gen_baseaddress.
* Speed up the script by using the fallback by default
* Suggest what cmake file to edit
* Add support for x64 modules (addresses not updated yet)
CORE-14923
2018-12-12 00:41:07 +01:00
Katayama Hirofumi MZ
aa04a0a6d3 [WIN32SS] Replace ASSERT(FALSE); in IntGhostWindowFromHungWindow (#1116)
CORE-11944
2018-12-12 08:03:49 +09:00
Pierre Schweitzer
dc65db7c13 [ADVAPI32_APITEST] If TEB SubProcessTag is set, query ADVAPI32 to validate its correctness
This is based on: https://wj32.org/wp/2010/03/30/howto-use-i_querytaginformation/
and properly works in W2K3 SP2.
Thanks to Joachim for his tests.
2018-12-11 23:41:01 +01:00
Pierre Schweitzer
7d18e36a31 [ADVAPI32_APITEST] Add a test to show that main service thread is tagged
This test will fail on everything < W2K3 SP2. In spite of what a wide spread
rumor says, MS seems to have added that feature quite lately, but not starting
Vista! ;-)
2018-12-11 23:41:01 +01:00
Eric Kohl
3b03f44001 [PSDK] Add missing prototypes NetRegisterDomainNameChangeNotification and NetUnregisterDomainNameChangeNotification to lmconfig.h. 2018-12-11 22:49:17 +01:00
Timo Kreuzer
3de04ccace [CMAKE] Fix problem with __RELFILE__ not working when compiler uses relative pathes
This usually happens when the build dir is a subdir of the source dir. It is now detected during runtime, using the length of the relative path from the build dir to the source dir as the length of the prefix to skip, if __FILE__ starts with a '.'.
Also fix the escaping of REACTOS_*_DIR defines. It was gracefully fixed up by CMake, but resulted in broken syntax highliting.

CORE-14839 #resolve
2018-12-11 21:50:58 +01:00
Timo Kreuzer
05169a4987 Revert "[CMAKE] Use configured include files to define the __RELFILE__ hack (#979)"
This reverts commit 07bd6089ec.
2018-12-11 21:50:58 +01:00
Pierre Schweitzer
93164cf873 [VCDCONTROLTOOL] Add French translation 2018-12-11 20:13:52 +01:00
Auron Hines
86c5cfd81a [TRANSLATION][SHELL32] Grammar fix: content -> contents (#1115) 2018-12-11 19:43:46 +01:00
Pierre Schweitzer
e8e4096eb7 [VCDCLI] Implement support for persistent mounts 2018-12-11 15:24:38 +01:00
Pierre Schweitzer
044a7022c5 [VCDCONTROLTOOL] Enable driver start/stop buttons depending on the service status 2018-12-11 15:04:25 +01:00
Pierre Schweitzer
b518fc065d [VCDCONTROLTOOL] Implement support for persistent mounts 2018-12-11 15:04:25 +01:00
Pierre Schweitzer
10ce523a2c [VCDCONTROLTOOL] Add a GUI app to manage virtual CD-ROM devices
This is just an open sourced version of the tool provided by MS along
with the driver.
It will avoid users fighting with the CLI tool (that was doing the job
though ;-)).

Looks like that: https://twitter.com/HeisSpiter/status/1072482763348107264

Nota 1: it doesn't have an icon
Nota 2: code may be ugly, I'm not a umode guy! ;-)
2018-12-11 15:04:10 +01:00
Pierre Schweitzer
cab37c9455 [VCDROM] Add a display name for the service 2018-12-11 15:04:10 +01:00
Katayama Hirofumi MZ
43e2089476 [WIN32SS][FONT] Check NULL of Face->style_name (#1113)
CORE-15433
2018-12-11 18:32:39 +09:00
Katayama Hirofumi MZ
06d717e3bc [SHELL32] Enable environment variables in 'Run' dialog (#1111)
CORE-15431
2018-12-11 16:35:45 +09:00
Katayama Hirofumi MZ
f469acacec [WIN32SS][USER32] Add Ghost codes (retrial of #1100) (#1112)
CORE-11944
2018-12-11 12:30:59 +09:00
Katayama Hirofumi MZ
99b055a506 Revert "[WIN32SS][USER32] Add codes for Ghost Window (#1100)" (#1110)
This reverts commit 1adefd180c. ReactOS wouldn't startup.
2018-12-11 11:30:00 +09:00
Katayama Hirofumi MZ
1adefd180c [WIN32SS][USER32] Add codes for Ghost Window (#1100)
CORE-11944
2018-12-11 10:48:23 +09:00
Luo Yufan
acef266bc6 [TRANSLATION] Update Simplified Chinese translation and notice. (#1108) 2018-12-10 16:03:00 +01:00
Hermès Bélusca-Maïto
d0c8636d1b [OSK] Update French translation. 2018-12-10 00:56:55 +01:00
Hermès Bélusca-Maïto
92763e2901 [OSK] Set also the large icon (that appears in the App Switcher) and move the code in OSK_DlgInitDialog(). 2018-12-10 00:56:54 +01:00
Eric Kohl
12fdc129cf [NTOSKRNL] IopGetDeviceProperty: Send an IRP_MN_QUERY_CAPABILITIES request to the device in order to query the power capabilities. 2018-12-10 00:37:04 +01:00
Hermès Bélusca-Maïto
dd11f4c34b [FREELDR] Add FreeLdr debug tool GUI program, and FreeLdr command-line installer to the bootcd. 2018-12-10 00:27:58 +01:00
Hermès Bélusca-Maïto
8bed4adf56 [SETUPLIB] Use for-loops instead of while-loops to enumerate linked lists in the partition code. 2018-12-10 00:27:58 +01:00
Hermès Bélusca-Maïto
7df9296692 [SETUPLIB] Partitioning code fixes and improvements.
CORE-7749

- Correctly insert discovered partitions in sorted order of StartSector,
  and verify that they do not overlap (-> check for broken partitioning).

May help for CORE-10898.

- Use the correct reported partition numbers that may be modified after
  partitioning changes, and that need to be used when opening
  \Device\Harddisk'M'\Partition'N' files. This is achieving by
  retrieving the returned value of the IOCTL_DISK_SET_DRIVE_LAYOUT call.

  Distinguish them from the "on-disk" partition numbers that are the ones
  that enumerate the partition in partition-table order (and is the order
  known by e.g. the BIOS), and that should be used to construct the
  destination ARC path.

May help for CORE-4870, CORE-13205.

- Simplify a lot of duplicated code by using helper functions.
2018-12-10 00:27:56 +01:00
Pierre Schweitzer
958ae44599 [WIN32SS] Shhhhh! 2018-12-09 22:00:53 +01:00
Timo Kreuzer
1e28d4d92b [TCPIP] Implement InfoTdiQueryGetATInfo
This implements a case for InfoTdiQueryInformationEx. It's based on wild guesses, but it helps to make Windows 2003 lsass not fail.
2018-12-09 20:54:41 +01:00
Pierre Schweitzer
962b2fd66a [NTOSKRNL] Implement SystemDpcBehaviourInformation query 2018-12-09 20:54:40 +01:00
Bișoc George
42ddd011ce [OSK] Display the correct icon of the application. (#1105) 2018-12-09 20:13:17 +01:00
Joachim Henze
34679f5424 [SDK] Raise KERNEL_VERSION_PATCH_LEVEL to 12 in the version.cmake
to fix the blue setup screens and also display in sysdm.cpl
2018-12-09 20:06:40 +01:00
Pierre Schweitzer
13d9d3ebbf [NTOSKRNL] Also account PRCBs for Io operations counters 2018-12-09 19:30:07 +01:00
Pierre Schweitzer
e632375851 [NTOSKRNL] For SystemPerformanceInformation, return some info extracted from PRCB
This notably includes the amount of context switchs and system calls.
2018-12-09 18:56:50 +01:00
Pierre Schweitzer
4d974e56ee [NTOSKRNL] Return the amount of hits in system lookaside lists in ExQueryPoolUsage() 2018-12-09 18:25:11 +01:00
4808 changed files with 294009 additions and 191993 deletions

2
.gitignore vendored
View File

@@ -4,6 +4,8 @@ modules/bootcd_extras
modules/livecd_extras
modules/hybridcd_extras
modules/3rdparty
modules/ahk_tests
modules/AHK_Tests
.cproject
.project
.settings

View File

@@ -6,7 +6,7 @@ git:
before_script:
- wget https://svn.reactos.org/amine/RosBEBinFull.tar.gz -O RosBE.tar.gz
- tar -xzf RosBE.tar.gz
- echo 'mkdir ../Build && cd ../Build && $TRAVIS_BUILD_DIR/configure.sh -DENABLE_ROSTESTS=1 && cd reactos && ninja -k 0 && ninja bootcd' > tmp_file
- echo 'mkdir ../Build && cd ../Build && $TRAVIS_BUILD_DIR/configure.sh -DENABLE_ROSTESTS=1 && ninja -k 0 && ninja bootcd' > tmp_file
script:
- ./RosBEBinFull/RosBE.sh < tmp_file

View File

@@ -17,6 +17,11 @@ if(POLICY CMP0058)
cmake_policy(SET CMP0058 OLD)
endif()
if(POLICY CMP0065)
# Do not add flags to export symbols from executables without the ENABLE_EXPORTS target property
cmake_policy(SET CMP0065 NEW)
endif()
project(REACTOS)
# Versioning
@@ -25,6 +30,7 @@ include(sdk/include/reactos/version.cmake)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)
set(CMAKE_SHARED_LIBRARY_PREFIX "")
set(CMAKE_SHARED_MODULE_PREFIX "")
set(CMAKE_SKIP_PREPROCESSED_SOURCE_RULES TRUE)
set(CMAKE_SKIP_ASSEMBLY_SOURCE_RULES TRUE)
set(CMAKE_COLOR_MAKEFILE OFF)
@@ -58,6 +64,14 @@ include(sdk/cmake/compilerflags.cmake)
add_definitions(-D__REACTOS__)
# Double escape, since CMake unescapes before putting it on the command-line, where it's unescaped again by GCC/CL.
add_definitions(-DREACTOS_SOURCE_DIR="\\\"${REACTOS_SOURCE_DIR}\\\"")
add_definitions(-DREACTOS_BINARY_DIR="\\\"${REACTOS_BINARY_DIR}\\\"")
# There doesn't seem to be a standard for __FILE__ being relative or absolute, so detect it at runtime.
file(RELATIVE_PATH _PATH_PREFIX ${REACTOS_BINARY_DIR} ${REACTOS_SOURCE_DIR})
add_compile_flags(-D__RELFILE__="&__FILE__[__FILE__[0] == '.' ? sizeof \\\"${_PATH_PREFIX}\\\" - 1 : sizeof REACTOS_SOURCE_DIR]")
if(MSVC_IDE)
add_compile_flags("/MP")
endif()
@@ -75,7 +89,9 @@ if(NOT CMAKE_CROSSCOMPILING)
if(MSVC)
if(ARCH STREQUAL "i386")
add_definitions(/D_X86_ /DWIN32 /D_WINDOWS)
add_definitions(/D_X86_ /D__i386__ /DWIN32 /D_WINDOWS)
elseif(ARCH STREQUAL "amd64")
add_definitions(-D_AMD64_ -D__x86_64__ /DWIN32 -D_WINDOWS)
endif()
if(MSVC_VERSION GREATER 1699)
add_definitions(/D_ALLOW_KEYWORD_MACROS)

View File

@@ -71,6 +71,8 @@ Our commit style is defined in a __[commit template]__. Use it as a reference or
- *Respect our __[Coding Style]__ and __[Programming Guidelines]__.*
- *Do not be afraid to ask questions.* Ask our developers on JIRA or [IRC] channel.
To amend your commit with your name and e-mail (in any case you've forgot to set your name/e-mail) please take a look at this [guide](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Amending_your_commit_with_name.2FE-mail). To set your name/e-mail globally for future commits that you push, [read this](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Assign_commits_with_your_name_.26_E-mail_automatically).
## Where To Start?
Finding a good project to start with can be a challenge, because when starting out you are (usually) not aware of all the possibilities. To help you find a project, here are some ideas to try:

195
Doxyfile
View File

@@ -1,4 +1,4 @@
# Doxyfile 1.8.13
# Doxyfile 1.8.15
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
@@ -17,11 +17,11 @@
# Project related configuration options
#---------------------------------------------------------------------------
# This tag specifies the encoding used for all characters in the config file
# that follow. The default is UTF-8 which is also the encoding used for all text
# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
# for the list of possible encodings.
# This tag specifies the encoding used for all characters in the configuration
# file that follow. The default is UTF-8 which is also the encoding used for all
# text before the first occurrence of this tag. Doxygen uses libiconv (or the
# iconv built into libc) for the transcoding. See
# https://www.gnu.org/software/libiconv/ for the list of possible encodings.
# The default value is: UTF-8.
DOXYFILE_ENCODING = UTF-8
@@ -94,6 +94,14 @@ ALLOW_UNICODE_NAMES = NO
OUTPUT_LANGUAGE = English
# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all generated output in the proper direction.
# Possible values are: None, LTR, RTL and Context.
# The default value is: None.
OUTPUT_TEXT_DIRECTION = None
# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
# descriptions after the members that are listed in the file and class
# documentation (similar to Javadoc). Set to NO to disable this.
@@ -237,7 +245,12 @@ TAB_SIZE = 4
# will allow you to put the command \sideeffect (or @sideeffect) in the
# documentation, which will result in a user-defined paragraph with heading
# "Side Effects:". You can put \n's in the value part of an alias to insert
# newlines.
# newlines (in the resulting output). You can put ^^ in the value part of an
# alias to insert a newline as if a physical newline was in the original file.
# When you need a literal { or } or , in the value part of an alias you have to
# escape them by means of a backslash (\), this can lead to conflicts with the
# commands \{ and \} for these it is advised to use the version @{ and @} or use
# a double escape (\\{ and \\})
ALIASES =
@@ -275,17 +288,26 @@ OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice
# sources only. Doxygen will then generate output that is more tailored for that
# language. For instance, namespaces will be presented as modules, types will be
# separated into more groups, etc.
# The default value is: NO.
OPTIMIZE_OUTPUT_SLICE = NO
# Doxygen selects the parser to use depending on the extension of the files it
# parses. With this tag you can assign which parser to use for a given
# extension. Doxygen has a built-in mapping, but you can override or extend it
# using this tag. The format is ext=language, where ext is a file extension, and
# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
# Fortran. In the later case the parser tries to guess whether the code is fixed
# or free formatted code, this is the default for Fortran type files), VHDL. For
# instance to make doxygen treat .inc files as Fortran files (default is PHP),
# and .f files as C (default is Fortran), use: inc=Fortran f=C.
# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice,
# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
# tries to guess whether the code is fixed or free formatted code, this is the
# default for Fortran type files), VHDL, tcl. For instance to make doxygen treat
# .inc files as Fortran files (default is PHP), and .f files as C (default is
# Fortran), use: inc=Fortran f=C.
#
# Note: For files without extension you can use no_extension as a placeholder.
#
@@ -296,7 +318,7 @@ EXTENSION_MAPPING =
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
# according to the Markdown format, which allows for more readable
# documentation. See http://daringfireball.net/projects/markdown/ for details.
# documentation. See https://daringfireball.net/projects/markdown/ for details.
# The output of markdown processing is further processed by doxygen, so you can
# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
# case of backward compatibilities issues.
@@ -338,7 +360,7 @@ BUILTIN_STL_SUPPORT = NO
CPP_CLI_SUPPORT = NO
# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen
# will parse them like normal C++ but will assume all classes use public instead
# of private inheritance when no explicit protection keyword is present.
# The default value is: NO.
@@ -709,7 +731,7 @@ LAYOUT_FILE =
# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
# the reference definitions. This must be a list of .bib files. The .bib
# extension is automatically appended if omitted. This requires the bibtex tool
# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info.
# For LaTeX the style of the bibliography can be controlled using
# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
# search path. See also \cite for info how to create references.
@@ -754,7 +776,8 @@ WARN_IF_DOC_ERROR = YES
# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
# are documented, but have no documentation for their parameters or return
# value. If set to NO, doxygen will only warn about wrong or incomplete
# parameter documentation, but not about the absence of documentation.
# parameter documentation, but not about the absence of documentation. If
# EXTRACT_ALL is set to YES then this flag will automatically be disabled.
# The default value is: NO.
WARN_NO_PARAMDOC = NO
@@ -796,7 +819,7 @@ INPUT =
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
# documentation (see: http://www.gnu.org/software/libiconv) for the list of
# documentation (see: https://www.gnu.org/software/libiconv/) for the list of
# possible encodings.
# The default value is: UTF-8.
@@ -814,7 +837,7 @@ INPUT_ENCODING = UTF-8
# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08,
# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf.
# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice.
FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.h *.hh *.hxx *.hpp *.idl
@@ -969,7 +992,7 @@ INLINE_SOURCES = YES
STRIP_CODE_COMMENTS = YES
# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
# function all documented functions referencing it will be listed.
# entity all documented functions referencing it will be listed.
# The default value is: NO.
REFERENCED_BY_RELATION = YES
@@ -1001,12 +1024,12 @@ SOURCE_TOOLTIPS = YES
# If the USE_HTAGS tag is set to YES then the references to source code will
# point to the HTML generated by the htags(1) tool instead of doxygen built-in
# source browser. The htags tool is part of GNU's global source tagging system
# (see http://www.gnu.org/software/global/global.html). You will need version
# (see https://www.gnu.org/software/global/global.html). You will need version
# 4.8.6 or higher.
#
# To use it do the following:
# - Install the latest version of global
# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file
# - Make sure the INPUT points to the root of the source tree
# - Run doxygen as normal
#
@@ -1028,25 +1051,6 @@ USE_HTAGS = NO
VERBATIM_HEADERS = YES
# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the
# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the
# cost of reduced performance. This can be particularly helpful with template
# rich C++ code for which doxygen's built-in parser lacks the necessary type
# information.
# Note: The availability of this option depends on whether or not doxygen was
# generated with the -Duse-libclang=ON option for CMake.
# The default value is: NO.
CLANG_ASSISTED_PARSING = NO
# If clang assisted parsing is enabled you can provide the compiler with command
# line options that you would normally use when invoking the compiler. Note that
# the include paths will already be set by doxygen for the files and directories
# specified with INPUT and INCLUDE_PATH.
# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
CLANG_OPTIONS =
#---------------------------------------------------------------------------
# Configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
@@ -1165,7 +1169,7 @@ HTML_EXTRA_FILES =
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
# will adjust the colors in the style sheet and background images according to
# this color. Hue is specified as an angle on a colorwheel, see
# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
# https://en.wikipedia.org/wiki/Hue for more information. For instance the value
# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
# purple, and 360 is red again.
# Minimum value: 0, maximum value: 359, default value: 220.
@@ -1201,6 +1205,17 @@ HTML_COLORSTYLE_GAMMA = 80
HTML_TIMESTAMP = YES
# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
# documentation will contain a main index with vertical navigation menus that
# are dynamically created via Javascript. If disabled, the navigation index will
# consists of multiple levels of tabs that are statically embedded in every HTML
# page. Disable this option to support browsers that do not have Javascript,
# like the Qt help browser.
# The default value is: YES.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_DYNAMIC_MENUS = YES
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
# documentation will contain sections that can be hidden and shown after the
# page has loaded.
@@ -1224,13 +1239,13 @@ HTML_INDEX_NUM_ENTRIES = 100
# If the GENERATE_DOCSET tag is set to YES, additional index files will be
# generated that can be used as input for Apple's Xcode 3 integrated development
# environment (see: http://developer.apple.com/tools/xcode/), introduced with
# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
# environment (see: https://developer.apple.com/xcode/), introduced with OSX
# 10.5 (Leopard). To create a documentation set, doxygen will generate a
# Makefile in the HTML output directory. Running make will produce the docset in
# that directory and running make install will install the docset in
# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
# for more information.
# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy
# genXcode/_index.html for more information.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
@@ -1269,7 +1284,7 @@ DOCSET_PUBLISHER_NAME = Publisher
# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on
# Windows.
#
# The HTML Help Workshop contains a compiler that can convert all HTML output
@@ -1345,7 +1360,7 @@ QCH_FILE =
# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
# Project output. For more information please see Qt Help Project / Namespace
# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
# (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
# The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_QHP is set to YES.
@@ -1353,7 +1368,7 @@ QHP_NAMESPACE = org.doxygen.Project
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
# Help Project output. For more information please see Qt Help Project / Virtual
# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
# Folders (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-
# folders).
# The default value is: doc.
# This tag requires that the tag GENERATE_QHP is set to YES.
@@ -1362,7 +1377,7 @@ QHP_VIRTUAL_FOLDER = doc
# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
# filter to add. For more information please see Qt Help Project / Custom
# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
# Filters (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
@@ -1370,7 +1385,7 @@ QHP_CUST_FILTER_NAME =
# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
# custom filter to add. For more information please see Qt Help Project / Custom
# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
# Filters (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
@@ -1378,7 +1393,7 @@ QHP_CUST_FILTER_ATTRS =
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
# project's filter section matches. Qt Help Project / Filter Attributes (see:
# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
# http://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_SECT_FILTER_ATTRS =
@@ -1471,7 +1486,7 @@ EXT_LINKS_IN_WINDOW = NO
FORMULA_FONTSIZE = 10
# Use the FORMULA_TRANPARENT tag to determine whether or not the images
# Use the FORMULA_TRANSPARENT tag to determine whether or not the images
# generated for formulas are transparent PNGs. Transparent PNGs are not
# supported properly for IE 6.0, but are supported on all modern browsers.
#
@@ -1483,7 +1498,7 @@ FORMULA_FONTSIZE = 10
FORMULA_TRANSPARENT = YES
# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
# http://www.mathjax.org) which uses client side Javascript for the rendering
# https://www.mathjax.org) which uses client side Javascript for the rendering
# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
# installed or if you want to formulas look prettier in the HTML output. When
# enabled you may also need to install MathJax separately and configure the path
@@ -1510,11 +1525,11 @@ MATHJAX_FORMAT = HTML-CSS
# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
# Content Delivery Network so you can quickly see the result without installing
# MathJax. However, it is strongly recommended to install a local copy of
# MathJax from http://www.mathjax.org before deployment.
# The default value is: http://cdn.mathjax.org/mathjax/latest.
# MathJax from https://www.mathjax.org before deployment.
# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/.
# This tag requires that the tag USE_MATHJAX is set to YES.
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/
# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
# extension names that should be enabled during MathJax rendering. For example
@@ -1572,7 +1587,7 @@ SERVER_BASED_SEARCH = YES
#
# Doxygen ships with an example indexer (doxyindexer) and search engine
# (doxysearch.cgi) which are based on the open source search engine library
# Xapian (see: http://xapian.org/).
# Xapian (see: https://xapian.org/).
#
# See the section "External Indexing and Searching" for details.
# The default value is: NO.
@@ -1585,7 +1600,7 @@ EXTERNAL_SEARCH = YES
#
# Doxygen ships with an example indexer (doxyindexer) and search engine
# (doxysearch.cgi) which are based on the open source search engine library
# Xapian (see: http://xapian.org/). See the section "External Indexing and
# Xapian (see: https://xapian.org/). See the section "External Indexing and
# Searching" for details.
# This tag requires that the tag SEARCHENGINE is set to YES.
@@ -1637,21 +1652,34 @@ LATEX_OUTPUT = latex
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
# invoked.
#
# Note that when enabling USE_PDFLATEX this option is only used for generating
# bitmaps for formulas in the HTML output, but not in the Makefile that is
# written to the output directory.
# The default file is: latex.
# Note that when not enabling USE_PDFLATEX the default is latex when enabling
# USE_PDFLATEX the default is pdflatex and when in the later case latex is
# chosen this is overwritten by pdflatex. For specific output languages the
# default can have been set differently, this depends on the implementation of
# the output language.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_CMD_NAME = latex
LATEX_CMD_NAME =
# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
# index for LaTeX.
# Note: This tag is used in the Makefile / make.bat.
# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file
# (.tex).
# The default file is: makeindex.
# This tag requires that the tag GENERATE_LATEX is set to YES.
MAKEINDEX_CMD_NAME = makeindex
# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to
# generate index for LaTeX.
# Note: This tag is used in the generated output file (.tex).
# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat.
# The default value is: \makeindex.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_MAKEINDEX_CMD = \makeindex
# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
# documents. This may be useful for small projects and may help to save some
# trees in general.
@@ -1772,7 +1800,7 @@ LATEX_SOURCE_CODE = NO
# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
# bibliography, e.g. plainnat, or ieeetr. See
# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
# https://en.wikipedia.org/wiki/BibTeX and \cite for more info.
# The default value is: plain.
# This tag requires that the tag GENERATE_LATEX is set to YES.
@@ -1786,6 +1814,14 @@ LATEX_BIB_STYLE = plain
LATEX_TIMESTAMP = NO
# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute)
# path from which the emoji images will be read. If a relative path is entered,
# it will be relative to the LATEX_OUTPUT directory. If left blank the
# LATEX_OUTPUT directory will be used.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_EMOJI_DIRECTORY =
#---------------------------------------------------------------------------
# Configuration options related to the RTF output
#---------------------------------------------------------------------------
@@ -1825,9 +1861,9 @@ COMPACT_RTF = NO
RTF_HYPERLINKS = NO
# Load stylesheet definitions from file. Syntax is similar to doxygen's config
# file, i.e. a series of assignments. You only have to provide replacements,
# missing definitions are set to their default value.
# Load stylesheet definitions from file. Syntax is similar to doxygen's
# configuration file, i.e. a series of assignments. You only have to provide
# replacements, missing definitions are set to their default value.
#
# See also section "Doxygen usage" for information on how to generate the
# default style sheet that doxygen normally uses.
@@ -1836,8 +1872,8 @@ RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
# Set optional variables used in the generation of an RTF document. Syntax is
# similar to doxygen's config file. A template extensions file can be generated
# using doxygen -e rtf extensionFile.
# similar to doxygen's configuration file. A template extensions file can be
# generated using doxygen -e rtf extensionFile.
# This tag requires that the tag GENERATE_RTF is set to YES.
RTF_EXTENSIONS_FILE =
@@ -1923,6 +1959,13 @@ XML_OUTPUT = xml
XML_PROGRAMLISTING = YES
# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include
# namespace members in file scope as well, matching the HTML output.
# The default value is: NO.
# This tag requires that the tag GENERATE_XML is set to YES.
XML_NS_MEMB_FILE_SCOPE = NO
#---------------------------------------------------------------------------
# Configuration options related to the DOCBOOK output
#---------------------------------------------------------------------------
@@ -1955,9 +1998,9 @@ DOCBOOK_PROGRAMLISTING = NO
#---------------------------------------------------------------------------
# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
# AutoGen Definitions (see http://autogen.sf.net) file that captures the
# structure of the code including all documentation. Note that this feature is
# still experimental and incomplete at the moment.
# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures
# the structure of the code including all documentation. Note that this feature
# is still experimental and incomplete at the moment.
# The default value is: NO.
GENERATE_AUTOGEN_DEF = NO
@@ -2170,7 +2213,7 @@ HIDE_UNDOC_RELATIONS = YES
# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
# Bell Labs. The other options in this section have no effect if this option is
# set to NO
# The default value is: YES.
# The default value is: NO.
HAVE_DOT = YES
@@ -2326,9 +2369,7 @@ DIRECTORY_GRAPH = YES
# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
# to make the SVG files visible in IE 9+ (other browsers do not have this
# requirement).
# Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd,
# png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo,
# gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, png:cairo,
# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo,
# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
# png:gdiplus:gdiplus.
# The default value is: png.

View File

@@ -57,6 +57,24 @@ Descriptions of section entries used here:
this area
C: Comments
3rd Party File Format Libraries
M: ThFabba, Thomas Faber
S: Upstream
F: dll/3rdparty/libjpeg/
F: dll/3rdparty/libpng/
F: dll/3rdparty/libtiff/
F: dll/3rdparty/libxslt/
F: sdk/include/reactos/libs/libjpeg/
F: sdk/include/reactos/libs/libmpg123/
F: sdk/include/reactos/libs/libpng/
F: sdk/include/reactos/libs/libtiff/
F: sdk/include/reactos/libs/libxml/
F: sdk/include/reactos/libs/libxslt/
F: sdk/lib/3rdparty/libmpg123/
F: sdk/lib/3rdparty/libsamplerate/
F: sdk/lib/3rdparty/libxml2/
C: See media/doc/3rd Party Files.txt
ACPI
M:
R: ThFabba, Thomas Faber
@@ -100,6 +118,11 @@ CMake Build Scripts
F: */CMakeLists.txt
F: */*.cmake
File Patch API
M: learn-more, learn_more, Mark Jansen
S: Maintained
F: dll/win32/mspatcha
File Systems
M: HeisSpiter, Pierre Schweitzer
S: Maintained
@@ -128,6 +151,13 @@ Kernel
S: Maintained
F: ntoskrnl/
mbed TLS
M: ThFabba, Thomas Faber
S: Upstream
F: dll/3rdparty/mbedtls/
F: sdk/include/reactos/libs/mbedtls/
C: See media/doc/3rd Party Files.txt
Network Drivers
M:
R: ThFabba, Thomas Faber
@@ -208,6 +238,7 @@ Virtual CD-ROM
M: HeisSpiter, Pierre Schweitzer
S: Maintained
F: modules/rosapps/applications/cmdutils/vcdcli/
F: modules/rosapps/applications/vcdcontroltool/
F: modules/rosapps/drivers/vcdrom/
Virtual Floppy Disk
@@ -231,3 +262,10 @@ Wine Tests
R: ThFabba, Thomas Faber
S: Upstream
F: modules/rostests/winetests/
zlib
M: ThFabba, Thomas Faber
S: Upstream
F: sdk/include/reactos/libs/zlib/
F: sdk/lib/3rdparty/zlib/
C: See media/doc/3rd Party Files.txt

View File

@@ -7,8 +7,8 @@
---
<p align=center>
<a href="https://reactos.org/project-news/reactos-0410-released">
<img alt="ReactOS 0.4.10 Release" src="https://img.shields.io/badge/release-0.4.10-0688CB.svg">
<a href="https://reactos.org/project-news/reactos-0411-released">
<img alt="ReactOS 0.4.11 Release" src="https://img.shields.io/badge/release-0.4.11-0688CB.svg">
</a>
<a href="https://reactos.org/download">
<img alt="Download ReactOS" src="https://img.shields.io/badge/download-latest-0688CB.svg">
@@ -28,13 +28,14 @@
</p>
## Quick Links
[Website](https://reactos.org) &bull;
[Official chat](https://chat.reactos.org) &bull;
[Wiki](https://reactos.org/wiki) &bull;
[Forum](https://reactos.org/forum) &bull;
[JIRA Bug Tracker](https://jira.reactos.org/issues) &bull;
[ReactOS Git mirror](https://git.reactos.org) &bull;
[Testman](https://reactos.org/testman/)
- [Website](https://reactos.org)
- [Wiki](https://reactos.org/wiki)
- [Forum](https://reactos.org/forum)
- [JIRA Bug Tracker](https://jira.reactos.org/issues)
- [ReactOS Git mirror](https://git.reactos.org)
- [Testman](https://reactos.org/testman/)
## What is ReactOS?

View File

@@ -445,7 +445,7 @@ ata_str_to_mode(
)
{
int mode;
int len;
size_t len;
if(!_stricmp(str, "SATA600"))
return ATA_SA600;
@@ -1688,7 +1688,8 @@ main (
)
{
//ULONG Flags = 0;
int i, j;
int i;
uintptr_t j;
char a;
int bus_id = -1;
int dev_id = -1;

View File

@@ -18,21 +18,21 @@ CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
指定文件的 ACL。\n\
/E 編輯 ACL 而不替換。\n\
/C 在出現拒絕訪問錯誤時繼續。\n\
/G user:perm 賦予指定用戶訪問權限。\n\
/G user:perm 賦予指定使用者訪問權限。\n\
Perm 可以是: R 讀取\n\
W 寫入\n\
C 更改(寫入)\n\
F 完全控制\n\
/R user 撤銷指定用戶的訪問權限(僅在与 /E 一起使用時合法)。\n\
/P user:perm 替換指定用戶的訪問權限。\n\
/R user 撤銷指定使用者的訪問權限(僅在与 /E 一起使用時合法)。\n\
/P user:perm 替換指定使用者的訪問權限。\n\
Perm 可以是: N 無\n\
R 讀取\n\
W 寫入\n\
C 更改(寫入) \n\
F 完全控制 \n\
/D user 拒絕指定用戶的訪問。\n\
/D user 拒絕指定使用者的訪問。\n\
在命令中可以使用通配符指定多個文件。\n\
您也可以在命令中指定多個用戶。\n\n\
您也可以在命令中指定多個使用者。\n\n\
縮寫: \n\
CI - 容器繼承。\n\
ACE會由目錄繼承。\n\

View File

@@ -3,10 +3,12 @@ add_definitions(-DDISABLE_HTMLHELP_SUPPORT=1)
list(APPEND SOURCE
convert.c
function.c
rpn.c
utl.c
fun_ieee.c
rpn_ieee.c
utl_ieee.c
winmain.c
htmlhelp.c
theme.c
calc.h)
file(GLOB calc_rc_deps res/*.*)

View File

@@ -1,16 +1,24 @@
#ifndef _CALC_H
#define _CALC_H
#ifndef __CALC_H__
#define __CALC_H__
#include <stdarg.h>
#include <windef.h>
#include <winuser.h>
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <tchar.h>
#include <commctrl.h>
#include <shellapi.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <float.h>
#include <malloc.h>
#ifndef DISABLE_HTMLHELP_SUPPORT
#include <htmlhelp.h>
#endif
#include <limits.h>
/* RESOURCES */
#include "resource.h"
/* Messages reserved for the main dialog */
#define WM_CLOSE_STATS (WM_APP+1)
@@ -21,8 +29,9 @@
#define WM_HANDLE_FROM (WM_APP+6)
#define WM_HANDLE_TO (WM_APP+7)
/* GNU MULTI-PRECISION LIBRARY support */
#ifdef ENABLE_MULTI_PRECISION
#include <mpfr.h>
#include "mpfr.h"
#ifndef MPFR_DEFAULT_RND
#define MPFR_DEFAULT_RND mpfr_get_default_rounding_mode ()
@@ -35,14 +44,54 @@
#endif
#include "resource.h"
#ifndef IDC_STATIC
#define IDC_STATIC ((DWORD)-1)
#endif
#define CALC_VERSION _T("1.12")
#define MAX_CALC_SIZE 256
/* HTMLHELP SUPPORT */
typedef HWND (WINAPI* type_HtmlHelpA)(HWND, LPCSTR, UINT, DWORD);
typedef HWND (WINAPI* type_HtmlHelpW)(HWND, LPCWSTR, UINT, DWORD);
extern type_HtmlHelpA calc_HtmlHelpA;
extern type_HtmlHelpW calc_HtmlHelpW;
#ifndef UNICODE
#define calc_HtmlHelp calc_HtmlHelpA
#else
#define calc_HtmlHelp calc_HtmlHelpW
#endif
void HtmlHelp_Start(HINSTANCE hInstance);
void HtmlHelp_Stop(void);
/* THEMING SUPPORT */
#if (_WIN32_WINNT >= 0x0600)
#include <vssym32.h>
#include <vsstyle.h>
#else
#include <tmschema.h>
#endif
#include <uxtheme.h>
void Theme_Start(HINSTANCE hInstance);
void Theme_Stop(void);
typedef HTHEME (WINAPI* type_OpenThemeData)(HWND,const WCHAR*);
typedef HRESULT (WINAPI* type_CloseThemeData)(HTHEME);
typedef HRESULT (WINAPI* type_DrawThemeBackground)(HTHEME,HDC,int,int,const RECT*,const RECT*);
typedef BOOL (WINAPI* type_IsAppThemed)(void);
typedef BOOL (WINAPI* type_IsThemeActive)(void);
typedef BOOL (WINAPI* type_IsThemeBackgroundPartiallyTransparent)(HTHEME, int, int);
typedef HRESULT (WINAPI* type_DrawThemeParentBackground)(HWND, HDC, RECT *);
extern type_OpenThemeData calc_OpenThemeData;
extern type_CloseThemeData calc_CloseThemeData;
extern type_DrawThemeBackground calc_DrawThemeBackground;
extern type_IsAppThemed calc_IsAppThemed;
extern type_IsThemeActive calc_IsThemeActive;
extern type_IsThemeBackgroundPartiallyTransparent calc_IsThemeBackgroundPartiallyTransparent;
extern type_DrawThemeParentBackground calc_DrawThemeParentBackground;
/*#define USE_KEYBOARD_HOOK*/
#define SIZEOF(_ar) (sizeof(_ar)/sizeof(_ar[1]))
@@ -120,6 +169,8 @@ typedef struct {
HHOOK hKeyboardHook;
#endif
HWND hWnd;
HICON hBgIcon;
HICON hSmIcon;
DWORD layout;
TCHAR buffer[MAX_CALC_SIZE];
TCHAR source[MAX_CALC_SIZE];
@@ -155,11 +206,11 @@ typedef struct {
extern calc_t calc;
#define CALC_E 2.7182818284590452354
#define CALC_PI_2 1.57079632679489661923
#define CALC_PI 3.14159265358979323846
#define CALC_3_PI_2 4.71238898038468985769
/* IEEE constants */
#define CALC_E 2.718281828459045235360
#define CALC_PI_2 1.570796326794896619231
#define CALC_PI 3.141592653589793238462
#define CALC_3_PI_2 4.712388980384689857694
#define CALC_2_PI 6.283185307179586476925
#define MODIFIER_INV 0x01
@@ -167,14 +218,9 @@ extern calc_t calc;
#define NO_CHAIN 0x04
void apply_int_mask(calc_number_t *a);
#ifdef ENABLE_MULTI_PRECISION
void validate_rad2angle(calc_number_t *c);
void validate_angle2rad(calc_number_t *c);
#else
#ifndef ENABLE_MULTI_PRECISION
__int64 logic_dbl2int(calc_number_t *a);
double logic_int2dbl(calc_number_t *a);
double validate_rad2angle(double a);
double validate_angle2rad(calc_number_t *c);
#endif
void rpn_sin(calc_number_t *c);
void rpn_cos(calc_number_t *c);
@@ -206,7 +252,9 @@ void rpn_exp10(calc_number_t *c);
void rpn_ln(calc_number_t *c);
void rpn_log(calc_number_t *c);
void rpn_ave(calc_number_t *c);
void rpn_ave2(calc_number_t *c);
void rpn_sum(calc_number_t *c);
void rpn_sum2(calc_number_t *c);
void rpn_s(calc_number_t *c);
void rpn_s_m1(calc_number_t *c);
void rpn_dms2dec(calc_number_t *c);
@@ -217,14 +265,20 @@ int rpn_is_zero(calc_number_t *c);
void rpn_alloc(calc_number_t *c);
void rpn_free(calc_number_t *c);
//
void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base);
void convert_text2number_2(calc_number_t *a);
void convert_real_integer(unsigned int base);
//
INT_PTR CALLBACK AboutDlgProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp);
//
void ConvExecute(HWND hWnd);
void ConvAdjust(HWND hWnd, int n_cat);
void ConvInit(HWND hWnd);
#endif /* _CALC_H */
#endif /* __CALC_H__ */

View File

@@ -1,3 +1,23 @@
/*
* ReactOS Calc (Unit conversion engine)
*
* Copyright 2007-2017, Carlo Bramini
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "calc.h"
/*
@@ -44,13 +64,17 @@ typedef struct {
{ 0, NULL, NULL },
/*
1 gradian = 0.9 deg
1 radian = 57.29577951308233 deg
1 arcminute ....... = 1/60 deg
1 arcsecond ....... = 1/3600 deg
1 gradian ......... = 0.9 deg
1 radian .......... = 57.29577951308233 deg
*/
static const conv_t conv_ANGLE[] = {
DECLARE_CONV_UNIT(ANGLE, DEGREES, "$", "$")
DECLARE_CONV_UNIT(ANGLE, GRADIANS, "$*0.9", "$/0.9")
DECLARE_CONV_UNIT(ANGLE, RADIANS, "$/P*180", "$*P/180")
DECLARE_CONV_UNIT(ANGLE, ARCMINUTES, "$/60", "$*60")
DECLARE_CONV_UNIT(ANGLE, ARCSECONDS, "$/3600", "$*3600")
DECLARE_CONV_UNIT(ANGLE, DEGREES, "$", "$")
DECLARE_CONV_UNIT(ANGLE, GRADIANS, "$*0.9", "$/0.9")
DECLARE_CONV_UNIT(ANGLE, RADIANS, "$/P*180", "$*P/180")
DECLARE_CONV_END
};
@@ -62,13 +86,13 @@ static const conv_t conv_ANGLE[] = {
1 acre us ............. = 4840*(36/39.37)^2 m = 6272640/1549.9969 m
1 are ................. = 100 mq
1 chou ................ = 108000*(10/33)^2 mq
1 danbo ............... =
1 danbo ............... = 991.74 mq
1 ha .................. = 10000 mq
1 jeongbo ............. =
1 morgen hungary ...... =
1 jeongbo ............. = 9917.4 mq
1 morgen hungary ...... = 5754.642 mq
1 mu .................. = 2000/3 mq
1 ping ................ =
1 pyeong .............. =
1 pyeong .............. = 400/121 mq
1 pyeongbangja ........ =
1 rai ................. = 1600 mq
1 se .................. = 1080*(10/33)^2 mq
@@ -84,7 +108,7 @@ static const conv_t conv_ANGLE[] = {
1 square mm ........... = 0,000001 mq
1 square shaku ........ = (10/33)^2 mq
1 square tsuen ........ =
1 square va ........... =
1 square va ........... = 4 mq
1 square yard ......... = 0,83612736 mq
1 tan ................. = 10800*(10/33)^2 mq
1 tsubo ............... = 36*(10/33)^2 mq
@@ -97,15 +121,15 @@ static const conv_t conv_AREA[] = {
DECLARE_CONV_UNIT(AREA, ACRES_SCOTS, "$*5000", "$/5000")
DECLARE_CONV_UNIT(AREA, ARES, "$*100", "$/100")
DECLARE_CONV_UNIT(AREA, CHOU, "$*10800000/1089", "$*1089/10800000")
// DECLARE_CONV_UNIT(AREA, DANBO, "$", "$")
DECLARE_CONV_UNIT(AREA, DANBO, "$*991.74", "$/991.74")
DECLARE_CONV_UNIT(AREA, HECTARES, "$*10000", "$/10000")
// DECLARE_CONV_UNIT(AREA, JEONGBO, "$", "$")
DECLARE_CONV_UNIT(AREA, JEONGBO, "$*9917.4", "$/9917.4")
// DECLARE_CONV_UNIT(AREA, MORGEN_HUNGARY, "$", "$")
DECLARE_CONV_UNIT(AREA, MU, "$*(2000/3)", "$/(2000/3)")
DECLARE_CONV_UNIT(AREA, MU, "$*(2000/3)", "$/(2000/3)")
// DECLARE_CONV_UNIT(AREA, PING, "$", "$")
// DECLARE_CONV_UNIT(AREA, PYEONG, "$", "$")
DECLARE_CONV_UNIT(AREA, PYEONG, "$*400/121", "$*121/400")
// DECLARE_CONV_UNIT(AREA, PYEONGBANGJA, "$", "$")
DECLARE_CONV_UNIT(AREA, RAI, "$*1600", "$/1600")
DECLARE_CONV_UNIT(AREA, RAI, "$*1600", "$/1600")
DECLARE_CONV_UNIT(AREA, SE, "$*108000/1089", "$*1089/108000")
DECLARE_CONV_UNIT(AREA, SQUARE_CENTIMETERS, "$*0,0001", "$/0,0001")
// DECLARE_CONV_UNIT(AREA, SQUARE_CHR, "$", "$")
@@ -120,7 +144,7 @@ static const conv_t conv_AREA[] = {
DECLARE_CONV_UNIT(AREA, SQUARE_MILLIMETERS, "$*1000000", "$/1000000")
DECLARE_CONV_UNIT(AREA, SQUARE_SHAKU, "$*100/1089", "$/1089*100")
// DECLARE_CONV_UNIT(AREA, SQUARE_TSUEN, "$", "$")
// DECLARE_CONV_UNIT(AREA, SQUARE_VA, "$", "$")
DECLARE_CONV_UNIT(AREA, SQUARE_VA, "$*4", "$/4")
DECLARE_CONV_UNIT(AREA, SQUARE_YARD, "$*0,83612736", "$/0,83612736")
DECLARE_CONV_UNIT(AREA, TAN, "$*1080000/1089", "$*1089/1080000")
DECLARE_CONV_UNIT(AREA, TSUBO, "$*1188/1089", "$*1089/1188")
@@ -168,7 +192,7 @@ static const conv_t conv_CURRENCY[] = {
1 cal15 .... = 4.1855 J
1 BTU ...... = 1055.056 J
1 ERG ...... = 0.0000001 J
1 EV ....... = 0.000000000000000000160217653 J
1 eV ....... = 0.000000000000000000160217653 J
1 Foot-Pound = 1.3558179483314004 J
1 IT calorie = 4.1868 J
1 KCa ...... = 4186.8 J
@@ -181,7 +205,7 @@ static const conv_t conv_ENERGY[] = {
DECLARE_CONV_UNIT(ENERGY, 15_C_CALORIES, "$*4.1855", "$/4.1855")
DECLARE_CONV_UNIT(ENERGY, BTUS, "$*1055.056", "$/1055.056")
DECLARE_CONV_UNIT(ENERGY, ERGS, "$*.0000001", "$/.0000001")
DECLARE_CONV_UNIT(ENERGY, EVS, "$*.000000000000000000160217653", "$/.000000000000000000160217653")
DECLARE_CONV_UNIT(ENERGY, EVS, "$*1.60217653/1X19", "$/1.60217653*1X19")
DECLARE_CONV_UNIT(ENERGY, FOOT_POUNDS, "$*1.3558179483314004", "$/1.3558179483314004")
DECLARE_CONV_UNIT(ENERGY, IT_CALORIES, "$*4.1868", "$/4.1868")
DECLARE_CONV_UNIT(ENERGY, IT_KILOCALORIES, "$*4186.8", "$/4186.8")
@@ -209,13 +233,13 @@ static const conv_t conv_ENERGY[] = {
1 furlong ........ = 10 chains = 220*0.9144 m
1 gan ............ =
1 hand ........... = 4 inches = 0.9144/9 m
1 hunh ........... =
1 hunh ........... = 1/8 nieu = 9.144/3456 m
1 inch ........... = yard/36 = 0.9144/36 m
1 ja ............. =
1 jeong .......... =
1 kabiet ......... =
1 kabiet ......... = 1/4 nieu = 9.144/1728 m
1 ken ............ = 60/33 m
1 keub ........... =
1 keub ........... = 12 nieu = 10 inch = 9.144/36 m
1 km ............. = 1000 m
1 lar ............ =
1 light year ..... = 9460730472580800 m
@@ -224,25 +248,25 @@ static const conv_t conv_ENERGY[] = {
1 mile ........... = 1760 yards = 1609.344 m
1 millimeter ..... = 1/1000 m
1 nautical mile .. = 1852 m
1 nieu ........... =
1 nieu ........... = 10/12 inch = 9.144/432 m
1 parsec ......... = 30856800000000000 m
1 pica ........... = yard/216 = 0.9144/216 m
1 ri japan ....... =
1 ri korea ....... =
1 ri japan ....... = 129600/33 m
1 ri korea ....... = 12960/33 m
1 rod ............ = 5.0292 m
1 sawk ........... =
1 sen ............ =
1 sawk ........... = 2 keub = 20 inch = 9.144/18 m
1 sen ............ = 20 va = 40.64 m
1 shaku .......... = 10/33 m
1 span ........... = 9 inches = 0.9144/4 m
1 sun ............ = 1/33 m
1 tsuen .......... =
1 va ............. =
1 va ............. = 4 sawk = 80 inch = 2.032 m
1 yard ........... = 0.9144 m
1 yote ........... =
1 zhang .......... =
1 yote ........... = 400 sen = 16256 m
1 zhang .......... = 3+1/3 m = 10/3 m
*/
static const conv_t conv_LENGTH[] = {
DECLARE_CONV_UNIT(LENGTH, ANGSTROMS, "$*0.0000000001", "$/0.0000000001")
DECLARE_CONV_UNIT(LENGTH, ANGSTROMS, "$/1X10", "$*1X10")
DECLARE_CONV_UNIT(LENGTH, ASTRONOMICAL_UNITS, "$*149598000000", "$/149598000000")
DECLARE_CONV_UNIT(LENGTH, BARLEYCORNS, "$*0.9144/108", "$/0.9144*108")
DECLARE_CONV_UNIT(LENGTH, CENTIMETERS, "$/100", "$*100")
@@ -257,13 +281,13 @@ static const conv_t conv_LENGTH[] = {
DECLARE_CONV_UNIT(LENGTH, FURLONGS, "$*201.168", "$/201.168")
// DECLARE_CONV_UNIT(LENGTH, GAN, "$", "$")
DECLARE_CONV_UNIT(LENGTH, HANDS, "$*0,1016", "$/0,1016")
// DECLARE_CONV_UNIT(LENGTH, HUNH, "$", "$")
DECLARE_CONV_UNIT(LENGTH, HUNH, "$*9.144/3456", "$/9.144*3456")
DECLARE_CONV_UNIT(LENGTH, INCHES, "$*0.0254", "$/0.0254")
// DECLARE_CONV_UNIT(LENGTH, JA, "$", "$")
// DECLARE_CONV_UNIT(LENGTH, JEONG, "$", "$")
// DECLARE_CONV_UNIT(LENGTH, KABIET, "$", "$")
DECLARE_CONV_UNIT(LENGTH, KABIET, "$*9.144/1728", "$/9.144*1728")
DECLARE_CONV_UNIT(LENGTH, KEN, "$*60/33", "$*33/60")
// DECLARE_CONV_UNIT(LENGTH, KEUB, "$", "$")
DECLARE_CONV_UNIT(LENGTH, KEUB, "$*9.144/36", "$/9.144*36")
DECLARE_CONV_UNIT(LENGTH, KILOMETERS, "$*1000", "$/1000")
// DECLARE_CONV_UNIT(LENGTH, LAR, "$", "$")
DECLARE_CONV_UNIT(LENGTH, LIGHT_YEARS, "$*9460730472580800", "$/9460730472580800")
@@ -273,22 +297,22 @@ static const conv_t conv_LENGTH[] = {
DECLARE_CONV_UNIT(LENGTH, MILES, "$*1609.344", "$/1609.344")
DECLARE_CONV_UNIT(LENGTH, MILLIMETERS, "$/1000", "$*1000")
DECLARE_CONV_UNIT(LENGTH, NAUTICAL_MILES, "$*1852", "$/1852")
// DECLARE_CONV_UNIT(LENGTH, NIEU, "$", "$")
DECLARE_CONV_UNIT(LENGTH, PARSECS, "$*30856800000000000", "$/30856800000000000")
DECLARE_CONV_UNIT(LENGTH, NIEU, "$*9.144/432", "$/9.144*432")
DECLARE_CONV_UNIT(LENGTH, PARSECS, "$*3.085678X16", "$/3.085678X16")
DECLARE_CONV_UNIT(LENGTH, PICAS, "$*0.9144/216", "$/0.9144*216")
DECLARE_CONV_UNIT(LENGTH, RODS, "$*5.0292", "$/5.0292")
// DECLARE_CONV_UNIT(LENGTH, RI_JAPAN, "$", "$")
// DECLARE_CONV_UNIT(LENGTH, RI_KOREA, "$", "$")
// DECLARE_CONV_UNIT(LENGTH, SAWK, "$", "$")
// DECLARE_CONV_UNIT(LENGTH, SEN, "$", "$")
DECLARE_CONV_UNIT(LENGTH, RI_JAPAN, "$*129600/33", "$*33/129600")
DECLARE_CONV_UNIT(LENGTH, RI_KOREA, "$*12960/33", "$*33/12960")
DECLARE_CONV_UNIT(LENGTH, SAWK, "$*9.144/18", "$/9.144*18")
DECLARE_CONV_UNIT(LENGTH, SEN, "$*40.64", "$/40.64")
DECLARE_CONV_UNIT(LENGTH, SHAKU, "$*10/33", "$*33/10")
DECLARE_CONV_UNIT(LENGTH, SPAN, "$*0.9144/4", "$*4/0.9144")
DECLARE_CONV_UNIT(LENGTH, SUN, "$*1/33", "$*33")
// DECLARE_CONV_UNIT(LENGTH, TSUEN, "$", "$")
// DECLARE_CONV_UNIT(LENGTH, VA, "$", "$")
DECLARE_CONV_UNIT(LENGTH, VA, "$*2.032", "$/2.032")
DECLARE_CONV_UNIT(LENGTH, YARDS, "$*0.9144", "$/0.9144")
// DECLARE_CONV_UNIT(LENGTH, YOTE, "$", "$")
// DECLARE_CONV_UNIT(LENGTH, ZHANG, "$", "$")
DECLARE_CONV_UNIT(LENGTH, YOTE, "$*16256", "$/16256")
DECLARE_CONV_UNIT(LENGTH, ZHANG, "$/0.3", "$*0.3")
DECLARE_CONV_END
};
@@ -387,7 +411,7 @@ static const conv_t conv_VELOCITY[] = {
/*
1 barrel uk ...... = 163.65924 l
1 barrel oil ..... = 158.987295 l
1 bun ............ =
1 bun ............ = 1000 l
1 bushel uk ...... = 36.36872 l
1 bushel us ...... = 35.23907017 l
1 cubic cm ...... = 0.001 l
@@ -404,7 +428,7 @@ static const conv_t conv_VELOCITY[] = {
1 gou ............ = 0.1809 l
1 hop ............ =
1 icce ........... =
1 kwian .......... =
1 kwian .......... = 2000 l
1 mal ............ =
1 milliliter ..... = 0.001 l
1 pint uk ........ = 0.56826125 l
@@ -415,14 +439,14 @@ static const conv_t conv_VELOCITY[] = {
1 quart liquid us = 0.946352946 l
1 seki ........... =
1 syou ........... =
1 tananloung ..... =
1 tang ........... =
1 tananloung ..... = 1 l
1 tang ........... = 20 l
1 to ............. = 18040 l
*/
static const conv_t conv_VOLUME[] = {
DECLARE_CONV_UNIT(VOLUME, BARRELS_UK, "$*163.65924", "$/163.65924")
DECLARE_CONV_UNIT(VOLUME, BARRELS_OIL, "$*158.987295", "$/158.987295")
// DECLARE_CONV_UNIT(VOLUME, BUN, "$", "$")
DECLARE_CONV_UNIT(VOLUME, BUN, "$*1000", "$/1000")
DECLARE_CONV_UNIT(VOLUME, BUSHELS_UK, "$*36.36872", "$/36.36872")
DECLARE_CONV_UNIT(VOLUME, BUSHELS_US, "$*35.23907017", "$/35.23907017")
DECLARE_CONV_UNIT(VOLUME, CUBIC_CENTIMETERS, "$*0.001", "$/0.001")
@@ -439,7 +463,7 @@ static const conv_t conv_VOLUME[] = {
DECLARE_CONV_UNIT(VOLUME, GOU, "$*0.1809", "$/0.1809")
// DECLARE_CONV_UNIT(VOLUME, HOP, "$", "$")
// DECLARE_CONV_UNIT(VOLUME, ICCE, "$", "$")
// DECLARE_CONV_UNIT(VOLUME, KWIAN, "$", "$")
DECLARE_CONV_UNIT(VOLUME, KWIAN, "$*2000", "$/2000")
DECLARE_CONV_UNIT(VOLUME, LITERS, "$", "$")
// DECLARE_CONV_UNIT(VOLUME, MAL, "$", "$")
DECLARE_CONV_UNIT(VOLUME, MILLILITERS, "$*0.001", "$/0.001")
@@ -451,8 +475,8 @@ static const conv_t conv_VOLUME[] = {
DECLARE_CONV_UNIT(VOLUME, QUARTS_LIQUID_US, "$*0.946352946", "$/0.946352946")
// DECLARE_CONV_UNIT(VOLUME, SEKI, "$", "$")
// DECLARE_CONV_UNIT(VOLUME, SYOU, "$", "$")
// DECLARE_CONV_UNIT(VOLUME, TANANLOUNG, "$", "$")
// DECLARE_CONV_UNIT(VOLUME, TANG, "$", "$")
DECLARE_CONV_UNIT(VOLUME, TANANLOUNG, "$", "$")
DECLARE_CONV_UNIT(VOLUME, TANG, "$*20", "$/20")
DECLARE_CONV_UNIT(VOLUME, TO, "$*18040", "$/18040")
DECLARE_CONV_END
};
@@ -484,6 +508,17 @@ static const conv_t conv_VOLUME[] = {
1 ton uk .......... = 1016046.9088 g // long ton
1 ton us .......... = 907184.74 g // short ton
*/
/*
1 chang = 20 tamlung
1 tamlung = 4 baht
1 baht = 4 saloung
1 saloung =
1 chang = 6/5 kg = 1200 g
1 tamlung = 1/20 chang = 60 g
1 baht = 1/4 tamlung = 15 g
1 saloung = 1/4 bath = 15/4 g
*/
static const conv_t conv_WEIGHT[] = {
DECLARE_CONV_UNIT(WEIGHT, BAHT, "$*12.244", "$/12.244")
DECLARE_CONV_UNIT(WEIGHT, CARATS, "$*0.2", "$/0.2")

View File

@@ -1,6 +1,27 @@
/*
* ReactOS Calc (Math functions, IEEE-754 engine)
*
* Copyright 2007-2017, Carlo Bramini
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "calc.h"
#include <limits.h>
static double validate_rad2angle(double a);
static double validate_angle2rad(calc_number_t *c);
void apply_int_mask(calc_number_t *r)
{
@@ -47,7 +68,7 @@ double atanh(double x)
return log((1.0+x)/(1.0-x))/2.0;
}
double validate_rad2angle(double a)
static double validate_rad2angle(double a)
{
switch (calc.degr) {
case IDC_RADIO_DEG:
@@ -62,7 +83,7 @@ double validate_rad2angle(double a)
return a;
}
double validate_angle2rad(calc_number_t *c)
static double validate_angle2rad(calc_number_t *c)
{
switch (calc.degr) {
case IDC_RADIO_DEG:
@@ -250,6 +271,7 @@ __int64 logic_dbl2int(calc_number_t *a)
}
return (__int64)int_part;
}
double logic_int2dbl(calc_number_t *a)
{
return (double)a->i;
@@ -315,9 +337,9 @@ static unsigned __int64 sqrti(unsigned __int64 number)
unsigned __int64 n, n1;
#ifdef __GNUC__
if (number == 0xffffffffffffffffLL)
if (number == 0xffffffffffffffffULL)
#else
if (number == 0xffffffffffffffff)
if (number == 0xffffffffffffffffUI64)
#endif
return 0xffffffff;
@@ -427,6 +449,21 @@ static double stat_sum(void)
return sum;
}
static double stat_sum2(void)
{
double sum = 0;
statistic_t *p = calc.stat;
while (p != NULL) {
if (p->base == IDC_RADIO_DEC)
sum += p->num.f * p->num.f;
else
sum += (double)p->num.i * (double)p->num.i;
p = (statistic_t *)(p->next);
}
return sum;
}
void rpn_ave(calc_number_t *c)
{
double ave = 0;
@@ -443,6 +480,22 @@ void rpn_ave(calc_number_t *c)
c->i = (__int64)ave;
}
void rpn_ave2(calc_number_t *c)
{
double ave = 0;
int n;
ave = stat_sum2();
n = SendDlgItemMessage(calc.hStatWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0);
if (n)
ave = ave / (double)n;
if (calc.base == IDC_RADIO_DEC)
c->f = ave;
else
c->i = (__int64)ave;
}
void rpn_sum(calc_number_t *c)
{
double sum = stat_sum();
@@ -453,6 +506,16 @@ void rpn_sum(calc_number_t *c)
c->i = (__int64)sum;
}
void rpn_sum2(calc_number_t *c)
{
double sum = stat_sum2();
if (calc.base == IDC_RADIO_DEC)
c->f = sum;
else
c->i = (__int64)sum;
}
static void rpn_s_ex(calc_number_t *c, int pop_type)
{
double ave = 0;

View File

@@ -1,5 +1,28 @@
/*
* ReactOS Calc (Math functions, GMP/MPFR engine)
*
* Copyright 2007-2017, Carlo Bramini
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "calc.h"
static void validate_rad2angle(calc_number_t *c);
static void validate_angle2rad(calc_number_t *c);
void apply_int_mask(calc_number_t *r)
{
mpz_t a, mask;
@@ -28,7 +51,7 @@ void apply_int_mask(calc_number_t *r)
mpz_clear(mask);
}
void validate_rad2angle(calc_number_t *r)
static void validate_rad2angle(calc_number_t *r)
{
mpfr_t mult, divs;
@@ -55,7 +78,7 @@ void validate_rad2angle(calc_number_t *r)
mpfr_clear(divs);
}
void validate_angle2rad(calc_number_t *r)
static void validate_angle2rad(calc_number_t *r)
{
mpfr_t mult, divs;
@@ -341,6 +364,21 @@ static void stat_sum(mpfr_t sum)
}
}
static void stat_sum2(mpfr_t sum)
{
statistic_t *p = calc.stat;
mpfr_t sqr;
mpfr_init(sqr);
mpfr_set_ui(sum, 0, MPFR_DEFAULT_RND);
while (p != NULL) {
mpfr_mul(sqr, p->num.mf, p->num.mf, MPFR_DEFAULT_RND);
mpfr_add(sum, sum, sqr, MPFR_DEFAULT_RND);
p = (statistic_t *)(p->next);
}
mpfr_clear(sqr);
}
void rpn_ave(calc_number_t *c)
{
int n;
@@ -355,6 +393,20 @@ void rpn_ave(calc_number_t *c)
mpfr_trunc(c->mf, c->mf);
}
void rpn_ave2(calc_number_t *c)
{
int n;
stat_sum2(c->mf);
n = SendDlgItemMessage(calc.hStatWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0);
if (n)
mpfr_div_ui(c->mf, c->mf, n, MPFR_DEFAULT_RND);
if (calc.base != IDC_RADIO_DEC)
mpfr_trunc(c->mf, c->mf);
}
void rpn_sum(calc_number_t *c)
{
stat_sum(c->mf);
@@ -363,6 +415,14 @@ void rpn_sum(calc_number_t *c)
mpfr_trunc(c->mf, c->mf);
}
void rpn_sum2(calc_number_t *c)
{
stat_sum2(c->mf);
if (calc.base != IDC_RADIO_DEC)
mpfr_trunc(c->mf, c->mf);
}
static void rpn_s_ex(calc_number_t *c, int pop_type)
{
mpfr_t dev;

View File

@@ -204,10 +204,16 @@ It deletes all numbers currently stored into the list.
While the statistical window is shown, four additional buttons are enabled:
[Ave]
It calculates the arithmetic average of the numbers stored into the list.
[Ave] + [Inv]
It calculates the arithmetic average of the squares of the numbers stored into the list.
[Sum]
It calculates the sum of all numbers stored into the list.
[Sum] + [Inv]
It calculates the sum of the squares of all numbers stored into the list.
[s]
It calculates the population standard deviations of the numbers stored into the list.
It calculates the population standard deviations with base 'n-1' of the numbers stored into the list.
[s] + [Inv]
It calculates the population standard deviations with base 'n' of the numbers stored into the list.
[Dat]
It inserts the number shown into the output display into the list.
@@ -483,10 +489,12 @@ Shortcut from keyboard: CTRL-S
Ave
It calculates the arithmetic average of the numbers stored into the statistical box.
When used with [Inv] modifier it calculates the average of squares.
Shortcut from keyboard: CTRL-A
Sum
It calculates the sum of the numbers stored into the statistical box.
When used with [Inv] modifier it calculates the summation of squares.
Shortcut from keyboard: CTRL-T
s

View File

@@ -0,0 +1,67 @@
/*
* ReactOS Calc (HtmlHelp support)
*
* Copyright 2007-2017, Carlo Bramini
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "calc.h"
#define GET_CB(name) \
calc_##name = (type_##name)GetProcAddress(hHtmlHelp, #name); \
if (calc_##name == NULL) calc_##name = dummy_##name;
static HWND WINAPI
dummy_HtmlHelpA(HWND hWnd, LPCSTR pszFile, UINT uCommand, DWORD dwData);
static HWND WINAPI
dummy_HtmlHelpW(HWND hWnd, LPCWSTR pszFile, UINT uCommand, DWORD dwData);
type_HtmlHelpA calc_HtmlHelpA = dummy_HtmlHelpA;
type_HtmlHelpW calc_HtmlHelpW = dummy_HtmlHelpW;
static HMODULE hHtmlHelp;
static HWND WINAPI
dummy_HtmlHelpA(HWND hWnd, LPCSTR pszFile, UINT uCommand, DWORD dwData)
{
return NULL;
}
static HWND WINAPI
dummy_HtmlHelpW(HWND hWnd, LPCWSTR pszFile, UINT uCommand, DWORD dwData)
{
return NULL;
}
void HtmlHelp_Start(HINSTANCE hInstance)
{
hHtmlHelp = LoadLibrary(_T("HTMLHELP"));
if (hHtmlHelp == NULL)
return;
GET_CB(HtmlHelpW)
GET_CB(HtmlHelpA)
}
void HtmlHelp_Stop(void)
{
if(hHtmlHelp == NULL)
return;
FreeLibrary(hHtmlHelp);
hHtmlHelp = NULL;
}

View File

@@ -435,6 +435,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Градуси"
IDS_ANGLE_GRADIANS "Гради"
IDS_ANGLE_RADIANS "Радиани"

View File

@@ -434,6 +434,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Stupně"
IDS_ANGLE_GRADIANS "Grady"
IDS_ANGLE_RADIANS "Radiány"

View File

@@ -429,6 +429,8 @@ END
/* Winkeltypen */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Grad"
IDS_ANGLE_GRADIANS "Gon"
IDS_ANGLE_RADIANS "Radiant"

View File

@@ -429,6 +429,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Βαθμοί"
IDS_ANGLE_GRADIANS "Ακτίνια"
IDS_ANGLE_RADIANS "Μοίρες"

View File

@@ -429,6 +429,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Degrees"
IDS_ANGLE_GRADIANS "Gradians"
IDS_ANGLE_RADIANS "Radians"

View File

@@ -435,6 +435,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Grados"
IDS_ANGLE_GRADIANS "Gradianes"
IDS_ANGLE_RADIANS "Radianes"

View File

@@ -144,7 +144,7 @@ BEGIN
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Retour arrière", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
PUSHBUTTON "Retour arrière", IDC_BUTTON_BACK, 166, 38, 54, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
@@ -156,11 +156,11 @@ CAPTION "Calculatrice ReactOS"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "C", IDC_BUTTON_CANC, 128, 23, 36, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "CE", IDC_BUTTON_CE, 90, 23, 36, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Retour arrière", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "Retour arrière", IDC_BUTTON_BACK, 36, 23, 52, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
@@ -232,11 +232,11 @@ BEGIN
WS_TABSTOP | CBS_SORT
LTEXT "Convertir en :", IDC_STATIC, 5, 76, 56, 8
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 280, 24, 36, 17
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 242, 24, 36, 17
CONTROL "Retour arrière", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 52, 17
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 48, 24, 18
@@ -429,6 +429,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Degrés"
IDS_ANGLE_GRADIANS "Grades"
IDS_ANGLE_RADIANS "Radians"

View File

@@ -435,6 +435,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "מעלות"
IDS_ANGLE_GRADIANS "גרדיאנים"
IDS_ANGLE_RADIANS "רדיאנים"

View File

@@ -437,6 +437,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Fok"
IDS_ANGLE_GRADIANS "Gradián"
IDS_ANGLE_RADIANS "Radián"

View File

@@ -429,6 +429,8 @@ END
/* Tipi di angoli */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minuti d'arco"
IDS_ANGLE_ARCSECONDS "Secondi d'arco"
IDS_ANGLE_DEGREES "Sessagesimali"
IDS_ANGLE_GRADIANS "Centesimali (Gradienti)"
IDS_ANGLE_RADIANS "Radianti"

View File

@@ -429,6 +429,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Degrees"
IDS_ANGLE_GRADIANS "Gradians"
IDS_ANGLE_RADIANS "Radians"

View File

@@ -431,6 +431,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Degrees"
IDS_ANGLE_GRADIANS "Gradians"
IDS_ANGLE_RADIANS "Radians"

View File

@@ -429,6 +429,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Graden"
IDS_ANGLE_GRADIANS "Gradiënten"
IDS_ANGLE_RADIANS "Radialen"

View File

@@ -429,6 +429,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Grader"
IDS_ANGLE_GRADIANS "Gradianer"
IDS_ANGLE_RADIANS "Radianer"

View File

@@ -438,6 +438,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minuty kątowe"
IDS_ANGLE_ARCSECONDS "Sekundy kątowe"
IDS_ANGLE_DEGREES "Stopnie"
IDS_ANGLE_GRADIANS "Gradiany"
IDS_ANGLE_RADIANS "Radiany"
@@ -500,15 +502,15 @@ BEGIN
IDS_CURRENCY_CZECH_KORUNA "Czeska korona"
IDS_CURRENCY_DEUTSCHE_MARK "Niemiecka marka"
IDS_CURRENCY_DUTCH_GUILDER "Holenderki gulden"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_ESTONIAN_KROON "Estońska korona"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Fińska marka"
IDS_CURRENCY_FRENCH_FRANC "Francuski frank"
IDS_CURRENCY_GREEK_DRACHMA "Grecka drachma"
IDS_CURRENCY_IRISH_POUND "Irlandzki funt"
IDS_CURRENCY_ITALIAN_LIRA "Włoskie liry"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LATVIAN_LATS "Łotewski łat"
IDS_CURRENCY_LITHUANIAN_LITAS "Litewski lit"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luksemburski frank"
IDS_CURRENCY_MALTESE_LIRA "Maltańskie liry"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugalskie escudo"
@@ -521,7 +523,7 @@ END
STRINGTABLE
BEGIN
IDS_ENERGY_15_C_CALORIES "15 °C kalorie"
IDS_ENERGY_BTUS "British Thermal Unit"
IDS_ENERGY_BTUS "Jednostki BTU"
IDS_ENERGY_ERGS "Ergi"
IDS_ENERGY_EVS "Elektronowolty"
IDS_ENERGY_FOOT_POUNDS "Stopo-funty"
@@ -541,7 +543,7 @@ BEGIN
IDS_LENGTH_ASTRONOMICAL_UNITS "Jednostki Astronomiczne"
IDS_LENGTH_BARLEYCORNS "Palce"
IDS_LENGTH_CENTIMETERS "Centymetry"
IDS_LENGTH_CHAINS_UK "Chains (UK)"
IDS_LENGTH_CHAINS_UK "Łańcuchy (UK)"
IDS_LENGTH_CHI "Chi"
IDS_LENGTH_CHOU "Chou"
IDS_LENGTH_CHR "Chr"
@@ -549,7 +551,7 @@ BEGIN
IDS_LENGTH_FATHOMS "Sążnie"
IDS_LENGTH_FATHOMS_HUNGARY "Sążnie (Węgry)"
IDS_LENGTH_FEET "Stopy"
IDS_LENGTH_FURLONGS "Furlongs"
IDS_LENGTH_FURLONGS "Furlongi"
IDS_LENGTH_GAN "Gan"
IDS_LENGTH_HANDS "Dłonie"
IDS_LENGTH_HUNH "Hunh"
@@ -562,7 +564,7 @@ BEGIN
IDS_LENGTH_KILOMETERS "Kilometry"
IDS_LENGTH_LAR "Lar"
IDS_LENGTH_LIGHT_YEARS "Lata świetlne"
IDS_LENGTH_LINKS_UK "Links (UK)"
IDS_LENGTH_LINKS_UK "Linki (UK)"
IDS_LENGTH_METERS "Metry"
IDS_LENGTH_MICRONS "Mikrometry"
IDS_LENGTH_MILES "Mile"
@@ -571,13 +573,13 @@ BEGIN
IDS_LENGTH_NIEU "Nieu"
IDS_LENGTH_PARSECS "Parseki"
IDS_LENGTH_PICAS "Picas"
IDS_LENGTH_RI_JAPAN "Ri (Japan)"
IDS_LENGTH_RI_JAPAN "Ri (Japonia)"
IDS_LENGTH_RI_KOREA "Ri (Korea)"
IDS_LENGTH_RODS "Rods"
IDS_LENGTH_RODS "Pręty"
IDS_LENGTH_SAWK "Sawk"
IDS_LENGTH_SEN "Sen"
IDS_LENGTH_SHAKU "Shaku"
IDS_LENGTH_SPAN "Span"
IDS_LENGTH_SPAN "Piędź"
IDS_LENGTH_SUN "Sun"
IDS_LENGTH_TSUEN "Tsuen"
IDS_LENGTH_VA "Va"
@@ -695,22 +697,22 @@ BEGIN
IDS_WEIGHT_GRAMS "Gramy"
IDS_WEIGHT_GWAN "Gwan"
IDS_WEIGHT_HARB "Harb"
IDS_WEIGHT_JIN_CHINA "Jin (China)"
IDS_WEIGHT_JIN_TAIWAN "Jin (Taiwan)"
IDS_WEIGHT_JIN_CHINA "Jin (Chiny)"
IDS_WEIGHT_JIN_TAIWAN "Jin (Tajwan)"
IDS_WEIGHT_KAN "Kan"
IDS_WEIGHT_KILOGRAMS "Kilogramy"
IDS_WEIGHT_KIN "Kin"
IDS_WEIGHT_LIANG_CHINA "Liang (China)"
IDS_WEIGHT_LIANG_TAIWAN "Liang (Taiwan)"
IDS_WEIGHT_LIANG_CHINA "Liang (Chiny)"
IDS_WEIGHT_LIANG_TAIWAN "Liang (Tajwan)"
IDS_WEIGHT_MONME "Monme"
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Uncje, avoirdupois"
IDS_WEIGHT_OUNCES_TROY "Uncje, aptekarskie"
IDS_WEIGHT_POUNDS "Funty"
IDS_WEIGHT_QUINTAL_METRIC "Kwintale"
IDS_WEIGHT_SALOUNG "Saloung"
IDS_WEIGHT_STONES "Kamieni"
IDS_WEIGHT_STONES "Kamienie"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "Ton"
IDS_WEIGHT_TONS_UK "Ton (UK)"
IDS_WEIGHT_TONS_US "Ton (US)"
IDS_WEIGHT_TONNES "Tony"
IDS_WEIGHT_TONS_UK "Tony (UK)"
IDS_WEIGHT_TONS_US "Tony (US)"
END

View File

@@ -431,6 +431,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Graus"
IDS_ANGLE_GRADIANS "Grados"
IDS_ANGLE_RADIANS "Radianos"

View File

@@ -434,6 +434,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Grade"
IDS_ANGLE_GRADIANS "Gradiani"
IDS_ANGLE_RADIANS "Radiani"

View File

@@ -429,6 +429,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "градус"
IDS_ANGLE_GRADIANS "град"
IDS_ANGLE_RADIANS "радиан"

View File

@@ -436,6 +436,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Stupne"
IDS_ANGLE_GRADIANS "Grady"
IDS_ANGLE_RADIANS "Radiány"

View File

@@ -433,6 +433,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Gradë"
IDS_ANGLE_GRADIANS "Gradian"
IDS_ANGLE_RADIANS "Radians"

View File

@@ -436,6 +436,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Grader"
IDS_ANGLE_GRADIANS "Gradianer"
IDS_ANGLE_RADIANS "Radianer"

View File

@@ -429,6 +429,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "องศา"
IDS_ANGLE_GRADIANS "เกรเดียน"
IDS_ANGLE_RADIANS "เรเดียน"

View File

@@ -431,6 +431,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Derece"
IDS_ANGLE_GRADIANS "Gradyan"
IDS_ANGLE_RADIANS "Radyan"

View File

@@ -437,6 +437,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Градус"
IDS_ANGLE_GRADIANS "Град"
IDS_ANGLE_RADIANS "Радіан"

View File

@@ -431,6 +431,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "角度"
IDS_ANGLE_GRADIANS "梯度"
IDS_ANGLE_RADIANS "弧度"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -1,126 +1,136 @@
#pragma once
#define IDS_CALC_NAME 1
#define IDS_MATH_ERROR 2
#define IDS_QUICKHELP 3
#define IDS_AUTHOR 4
#define IDD_DIALOG_SCIENTIFIC 101
#define IDD_DIALOG_STANDARD 102
#define IDD_DIALOG_STAT 104
#define IDD_DIALOG_CONVERSION 105
#define IDR_MENU_SCIENTIFIC_1 106
#define IDR_MENU_SCIENTIFIC_2 107
#define IDR_MENU_STANDARD 108
#define IDI_CALC_BIG 110
#define IDI_CALC_SMALL 111
#define IDC_RADIO_HEX 1002
#define IDC_RADIO_DEC 1003
#define IDC_RADIO_OCT 1004
#define IDC_RADIO_BIN 1005
#define IDC_CHECK_INV 1006
#define IDC_CHECK_HYP 1007
#define IDC_BUTTON_STA 1009
#define IDC_BUTTON_AVE 1010
#define IDC_BUTTON_SUM 1011
#define IDC_BUTTON_S 1012
#define IDC_BUTTON_DAT 1013
#define IDC_BUTTON_FE 1014
#define IDC_BUTTON_DMS 1015
#define IDC_BUTTON_SIN 1016
#define IDC_BUTTON_COS 1017
#define IDC_BUTTON_TAN 1018
#define IDC_BUTTON_LEFTPAR 1019
#define IDC_BUTTON_EXP 1020
#define IDC_BUTTON_XeY 1021
#define IDC_BUTTON_Xe2 1022
#define IDC_BUTTON_Xe3 1023
#define IDC_BUTTON_RIGHTPAR 1024
#define IDC_BUTTON_LN 1025
#define IDC_BUTTON_LOG 1026
#define IDC_BUTTON_NF 1027
#define IDC_BUTTON_RX 1028
#define IDC_BUTTON_MC 1029
#define IDC_BUTTON_MR 1030
#define IDC_BUTTON_MS 1031
#define IDC_BUTTON_MP 1032
#define IDC_BUTTON_PI 1033
#define IDC_BUTTON_7 1034
#define IDC_BUTTON_4 1035
#define IDC_BUTTON_1 1036
#define IDC_BUTTON_0 1037
#define IDC_BUTTON_A 1038
#define IDC_BUTTON_8 1039
#define IDC_BUTTON_5 1040
#define IDC_BUTTON_2 1041
#define IDC_BUTTON_SIGN 1042
#define IDC_BUTTON_B 1043
#define IDC_BUTTON_9 1044
#define IDC_BUTTON_6 1045
#define IDC_BUTTON_3 1046
#define IDC_BUTTON_DOT 1047
#define IDC_BUTTON_C 1048
#define IDC_BUTTON_DIV 1049
#define IDC_BUTTON_MULT 1050
#define IDC_BUTTON_SUB 1051
#define IDC_BUTTON_ADD 1052
#define IDC_BUTTON_D 1053
#define IDC_BUTTON_MOD 1054
#define IDC_BUTTON_OR 1055
#define IDC_BUTTON_LSH 1056
#define IDC_BUTTON_EQU 1057
#define IDC_BUTTON_E 1058
#define IDC_BUTTON_AND 1059
#define IDC_BUTTON_XOR 1060
#define IDC_BUTTON_NOT 1061
#define IDC_BUTTON_INT 1062
#define IDC_BUTTON_F 1063
#define IDC_RADIO_QWORD 1064
#define IDC_RADIO_DWORD 1065
#define IDC_RADIO_WORD 1066
#define IDC_RADIO_BYTE 1067
#define IDC_RADIO_DEG 1068
#define IDC_RADIO_RAD 1069
#define IDC_RADIO_GRAD 1070
#define IDC_BUTTON_CANC 1071
#define IDC_BUTTON_CE 1072
#define IDC_BUTTON_BACK 1073
#define IDC_TEXT_OUTPUT 1074
#define IDC_TEXT_PARENT 1075
#define IDC_TEXT_MEMORY 1076
#define IDC_LIST_STAT 1079
#define IDC_BUTTON_RET 1080
#define IDC_BUTTON_LOAD 1081
#define IDC_BUTTON_CD 1082
#define IDC_BUTTON_CAD 1083
#define IDC_TEXT_NITEMS 1084
#define IDC_BUTTON_SQRT 1085
#define IDC_BUTTON_PERCENT 1086
#define IDC_BUTTON_CONVERT 1087
#define IDC_BUTTON_FOCUS 1089
#define IDC_COMBO_CATEGORY 1090
#define IDC_COMBO_FROM 1091
#define IDC_COMBO_TO 1092
#define IDC_BUTTON_RSH 1093
#ifndef IDC_STATIC
#define IDC_STATIC -1
#endif
#define IDS_CALC_NAME 1
#define IDS_MATH_ERROR 2
#define IDS_QUICKHELP 3
#define IDS_AUTHOR 4
#define IDD_DIALOG_SCIENTIFIC 101
#define IDD_DIALOG_STANDARD 102
// #define IDD_DIALOG_ABOUT 103
#define IDD_DIALOG_STAT 104
#define IDD_DIALOG_CONVERSION 105
#define IDR_MENU_SCIENTIFIC_1 106
#define IDR_MENU_SCIENTIFIC_2 107
#define IDR_MENU_STANDARD 108
// #define IDB_BITMAP_ROS 109
#define IDI_CALC 110
#define IDC_RADIO_HEX 1002
#define IDC_RADIO_DEC 1003
#define IDC_RADIO_OCT 1004
#define IDC_RADIO_BIN 1005
#define IDC_CHECK_INV 1006
#define IDC_CHECK_HYP 1007
#define IDC_BUTTON_STA 1009
#define IDC_BUTTON_AVE 1010
#define IDC_BUTTON_SUM 1011
#define IDC_BUTTON_S 1012
#define IDC_BUTTON_DAT 1013
#define IDC_BUTTON_FE 1014
#define IDC_BUTTON_DMS 1015
#define IDC_BUTTON_SIN 1016
#define IDC_BUTTON_COS 1017
#define IDC_BUTTON_TAN 1018
#define IDC_BUTTON_LEFTPAR 1019
#define IDC_BUTTON_EXP 1020
#define IDC_BUTTON_XeY 1021
#define IDC_BUTTON_Xe2 1022
#define IDC_BUTTON_Xe3 1023
#define IDC_BUTTON_RIGHTPAR 1024
#define IDC_BUTTON_LN 1025
#define IDC_BUTTON_LOG 1026
#define IDC_BUTTON_NF 1027
#define IDC_BUTTON_RX 1028
#define IDC_BUTTON_MC 1029
#define IDC_BUTTON_MR 1030
#define IDC_BUTTON_MS 1031
#define IDC_BUTTON_MP 1032
#define IDC_BUTTON_PI 1033
#define IDC_BUTTON_7 1034
#define IDC_BUTTON_4 1035
#define IDC_BUTTON_1 1036
#define IDC_BUTTON_0 1037
#define IDC_BUTTON_A 1038
#define IDC_BUTTON_8 1039
#define IDC_BUTTON_5 1040
#define IDC_BUTTON_2 1041
#define IDC_BUTTON_SIGN 1042
#define IDC_BUTTON_B 1043
#define IDC_BUTTON_9 1044
#define IDC_BUTTON_6 1045
#define IDC_BUTTON_3 1046
#define IDC_BUTTON_DOT 1047
#define IDC_BUTTON_C 1048
#define IDC_BUTTON_DIV 1049
#define IDC_BUTTON_MULT 1050
#define IDC_BUTTON_SUB 1051
#define IDC_BUTTON_ADD 1052
#define IDC_BUTTON_D 1053
#define IDC_BUTTON_MOD 1054
#define IDC_BUTTON_OR 1055
#define IDC_BUTTON_LSH 1056
#define IDC_BUTTON_EQU 1057
#define IDC_BUTTON_E 1058
#define IDC_BUTTON_AND 1059
#define IDC_BUTTON_XOR 1060
#define IDC_BUTTON_NOT 1061
#define IDC_BUTTON_INT 1062
#define IDC_BUTTON_F 1063
#define IDC_RADIO_QWORD 1064
#define IDC_RADIO_DWORD 1065
#define IDC_RADIO_WORD 1066
#define IDC_RADIO_BYTE 1067
#define IDC_RADIO_DEG 1068
#define IDC_RADIO_RAD 1069
#define IDC_RADIO_GRAD 1070
#define IDC_BUTTON_CANC 1071
#define IDC_BUTTON_CE 1072
#define IDC_BUTTON_BACK 1073
#define IDC_TEXT_OUTPUT 1074
#define IDC_TEXT_PARENT 1075
#define IDC_TEXT_MEMORY 1076
// #define IDC_EDIT_LICENSE 1078
#define IDC_LIST_STAT 1079
#define IDC_BUTTON_RET 1080
#define IDC_BUTTON_LOAD 1081
#define IDC_BUTTON_CD 1082
#define IDC_BUTTON_CAD 1083
#define IDC_TEXT_NITEMS 1084
#define IDC_BUTTON_SQRT 1085
#define IDC_BUTTON_PERCENT 1086
#define IDC_BUTTON_CONVERT 1087
// #define IDC_TEXT_VERSION 1088
#define IDC_BUTTON_FOCUS 1089
#define IDC_COMBO_CATEGORY 1090
#define IDC_COMBO_FROM 1091
#define IDC_COMBO_TO 1092
#define IDC_BUTTON_RSH 1093
#define IDC_BUTTON_XrY 1094
/* TYPES OF CONVERSIONS */
#define IDS_CONV_ANGLE 2000
#define IDS_CONV_AREA 2001
#define IDS_CONV_CONSUMPTION 2002
#define IDS_CONV_CURRENCY 2003
#define IDS_CONV_ENERGY 2004
#define IDS_CONV_LENGTH 2005
#define IDS_CONV_POWER 2006
#define IDS_CONV_PRESSURE 2007
#define IDS_CONV_TEMPERATURE 2008
#define IDS_CONV_TIME 2009
#define IDS_CONV_VELOCITY 2010
#define IDS_CONV_VOLUME 2011
#define IDS_CONV_WEIGHT 2012
#define IDS_CONV_ANGLE 2000
#define IDS_CONV_AREA 2001
#define IDS_CONV_CONSUMPTION 2002
#define IDS_CONV_CURRENCY 2003
#define IDS_CONV_ENERGY 2004
#define IDS_CONV_LENGTH 2005
#define IDS_CONV_POWER 2006
#define IDS_CONV_PRESSURE 2007
#define IDS_CONV_TEMPERATURE 2008
#define IDS_CONV_TIME 2009
#define IDS_CONV_VELOCITY 2010
#define IDS_CONV_VOLUME 2011
#define IDS_CONV_WEIGHT 2012
/* TYPES OF ANGLES */
#define IDS_ANGLE_DEGREES 2100
#define IDS_ANGLE_GRADIANS 2101
#define IDS_ANGLE_RADIANS 2102
#define IDS_ANGLE_ARCMINUTES 2100
#define IDS_ANGLE_ARCSECONDS 2101
#define IDS_ANGLE_DEGREES 2102
#define IDS_ANGLE_GRADIANS 2103
#define IDS_ANGLE_RADIANS 2104
/* TYPES OF AREAS */
#define IDS_AREA_ACRES 2200
@@ -188,193 +198,193 @@
#define IDS_CURRENCY_SPANISH_PESETA 2420
/* TYPES OF ENERGIES */
#define IDS_ENERGY_15_C_CALORIES 2500
#define IDS_ENERGY_BTUS 2501
#define IDS_ENERGY_ERGS 2502
#define IDS_ENERGY_EVS 2503
#define IDS_ENERGY_FOOT_POUNDS 2504
#define IDS_ENERGY_IT_CALORIES 2505
#define IDS_ENERGY_IT_KILOCALORIES 2506
#define IDS_ENERGY_JOULES 2507
#define IDS_ENERGY_KILOJOULES 2508
#define IDS_ENERGY_KILOWATT_HOURS 2509
#define IDS_ENERGY_NUTRITION_CALORIES 2510
#define IDS_ENERGY_TH_CALORIES 2511
#define IDS_ENERGY_15_C_CALORIES 2500
#define IDS_ENERGY_BTUS 2501
#define IDS_ENERGY_ERGS 2502
#define IDS_ENERGY_EVS 2503
#define IDS_ENERGY_FOOT_POUNDS 2504
#define IDS_ENERGY_IT_CALORIES 2505
#define IDS_ENERGY_IT_KILOCALORIES 2506
#define IDS_ENERGY_JOULES 2507
#define IDS_ENERGY_KILOJOULES 2508
#define IDS_ENERGY_KILOWATT_HOURS 2509
#define IDS_ENERGY_NUTRITION_CALORIES 2510
#define IDS_ENERGY_TH_CALORIES 2511
/* TYPES OF LENGTHS */
#define IDS_LENGTH_ANGSTROMS 2600
#define IDS_LENGTH_ASTRONOMICAL_UNITS 2601
#define IDS_LENGTH_BARLEYCORNS 2602
#define IDS_LENGTH_CENTIMETERS 2603
#define IDS_LENGTH_CHAINS_UK 2604
#define IDS_LENGTH_CHI 2605
#define IDS_LENGTH_CHOU 2606
#define IDS_LENGTH_CHR 2607
#define IDS_LENGTH_CUN 2608
#define IDS_LENGTH_FATHOMS 2609
#define IDS_LENGTH_FATHOMS_HUNGARY 2610
#define IDS_LENGTH_FEET 2611
#define IDS_LENGTH_FURLONGS 2612
#define IDS_LENGTH_GAN 2613
#define IDS_LENGTH_HANDS 2614
#define IDS_LENGTH_HUNH 2615
#define IDS_LENGTH_INCHES 2616
#define IDS_LENGTH_JA 2617
#define IDS_LENGTH_JEONG 2618
#define IDS_LENGTH_KABIET 2619
#define IDS_LENGTH_KEN 2620
#define IDS_LENGTH_KEUB 2621
#define IDS_LENGTH_KILOMETERS 2622
#define IDS_LENGTH_LAR 2623
#define IDS_LENGTH_LIGHT_YEARS 2624
#define IDS_LENGTH_LINKS_UK 2625
#define IDS_LENGTH_METERS 2626
#define IDS_LENGTH_MICRONS 2627
#define IDS_LENGTH_MILES 2628
#define IDS_LENGTH_MILLIMETERS 2629
#define IDS_LENGTH_NAUTICAL_MILES 2630
#define IDS_LENGTH_NIEU 2631
#define IDS_LENGTH_PARSECS 2632
#define IDS_LENGTH_PICAS 2633
#define IDS_LENGTH_RODS 2634
#define IDS_LENGTH_RI_JAPAN 2635
#define IDS_LENGTH_RI_KOREA 2636
#define IDS_LENGTH_SAWK 2637
#define IDS_LENGTH_SEN 2638
#define IDS_LENGTH_SHAKU 2639
#define IDS_LENGTH_SPAN 2640
#define IDS_LENGTH_SUN 2641
#define IDS_LENGTH_TSUEN 2642
#define IDS_LENGTH_VA 2643
#define IDS_LENGTH_YARDS 2644
#define IDS_LENGTH_YOTE 2645
#define IDS_LENGTH_ZHANG 2646
#define IDS_LENGTH_ANGSTROMS 2600
#define IDS_LENGTH_ASTRONOMICAL_UNITS 2601
#define IDS_LENGTH_BARLEYCORNS 2602
#define IDS_LENGTH_CENTIMETERS 2603
#define IDS_LENGTH_CHAINS_UK 2604
#define IDS_LENGTH_CHI 2605
#define IDS_LENGTH_CHOU 2606
#define IDS_LENGTH_CHR 2607
#define IDS_LENGTH_CUN 2608
#define IDS_LENGTH_FATHOMS 2609
#define IDS_LENGTH_FATHOMS_HUNGARY 2610
#define IDS_LENGTH_FEET 2611
#define IDS_LENGTH_FURLONGS 2612
#define IDS_LENGTH_GAN 2613
#define IDS_LENGTH_HANDS 2614
#define IDS_LENGTH_HUNH 2615
#define IDS_LENGTH_INCHES 2616
#define IDS_LENGTH_JA 2617
#define IDS_LENGTH_JEONG 2618
#define IDS_LENGTH_KABIET 2619
#define IDS_LENGTH_KEN 2620
#define IDS_LENGTH_KEUB 2621
#define IDS_LENGTH_KILOMETERS 2622
#define IDS_LENGTH_LAR 2623
#define IDS_LENGTH_LIGHT_YEARS 2624
#define IDS_LENGTH_LINKS_UK 2625
#define IDS_LENGTH_METERS 2626
#define IDS_LENGTH_MICRONS 2627
#define IDS_LENGTH_MILES 2628
#define IDS_LENGTH_MILLIMETERS 2629
#define IDS_LENGTH_NAUTICAL_MILES 2630
#define IDS_LENGTH_NIEU 2631
#define IDS_LENGTH_PARSECS 2632
#define IDS_LENGTH_PICAS 2633
#define IDS_LENGTH_RODS 2634
#define IDS_LENGTH_RI_JAPAN 2635
#define IDS_LENGTH_RI_KOREA 2636
#define IDS_LENGTH_SAWK 2637
#define IDS_LENGTH_SEN 2638
#define IDS_LENGTH_SHAKU 2639
#define IDS_LENGTH_SPAN 2640
#define IDS_LENGTH_SUN 2641
#define IDS_LENGTH_TSUEN 2642
#define IDS_LENGTH_VA 2643
#define IDS_LENGTH_YARDS 2644
#define IDS_LENGTH_YOTE 2645
#define IDS_LENGTH_ZHANG 2646
/* TYPES OF POWERS */
#define IDS_POWER_BTUS_PER_MINUTE 2700
#define IDS_POWER_FPS_PER_MINUTE 2701
#define IDS_POWER_HORSEPOWER 2702
#define IDS_POWER_KILOWATTS 2703
#define IDS_POWER_MEGAWATTS 2704
#define IDS_POWER_WATTS 2705
#define IDS_POWER_BTUS_PER_MINUTE 2700
#define IDS_POWER_FPS_PER_MINUTE 2701
#define IDS_POWER_HORSEPOWER 2702
#define IDS_POWER_KILOWATTS 2703
#define IDS_POWER_MEGAWATTS 2704
#define IDS_POWER_WATTS 2705
/* TYPE OF PRESSURES */
#define IDS_PRESSURE_ATMOSPHERES 2800
#define IDS_PRESSURE_BARS 2801
#define IDS_PRESSURE_HECTOPASCALS 2802
#define IDS_PRESSURE_KILOPASCALS 2803
#define IDS_PRESSURE_MM_OF_MERCURY 2804
#define IDS_PRESSURE_PASCALS 2805
#define IDS_PRESSURE_PSI 2806
#define IDS_PRESSURE_ATMOSPHERES 2800
#define IDS_PRESSURE_BARS 2801
#define IDS_PRESSURE_HECTOPASCALS 2802
#define IDS_PRESSURE_KILOPASCALS 2803
#define IDS_PRESSURE_MM_OF_MERCURY 2804
#define IDS_PRESSURE_PASCALS 2805
#define IDS_PRESSURE_PSI 2806
/* TYPES OF TEMPERATURES */
#define IDS_TEMPERATURE_CELSIUS 2900
#define IDS_TEMPERATURE_FAHRENHEIT 2901
#define IDS_TEMPERATURE_KELVIN 2902
#define IDS_TEMPERATURE_RANKINE 2903
#define IDS_TEMPERATURE_CELSIUS 2900
#define IDS_TEMPERATURE_FAHRENHEIT 2901
#define IDS_TEMPERATURE_KELVIN 2902
#define IDS_TEMPERATURE_RANKINE 2903
/* TYPE OF TIME */
#define IDS_TIME_DAYS 3001
#define IDS_TIME_HOURS 3002
#define IDS_TIME_MICROSECONDS 3003
#define IDS_TIME_MILLISECONDS 3004
#define IDS_TIME_NANOSECONDS 3005
#define IDS_TIME_MINUTES 3006
#define IDS_TIME_SECONDS 3007
#define IDS_TIME_WEEKS 3008
#define IDS_TIME_YEARS 3009
#define IDS_TIME_DAYS 3001
#define IDS_TIME_HOURS 3002
#define IDS_TIME_MICROSECONDS 3003
#define IDS_TIME_MILLISECONDS 3004
#define IDS_TIME_NANOSECONDS 3005
#define IDS_TIME_MINUTES 3006
#define IDS_TIME_SECONDS 3007
#define IDS_TIME_WEEKS 3008
#define IDS_TIME_YEARS 3009
/* TYPES OF VELOCITIES */
#define IDS_VELOCITY_CMS_SECOND 3100
#define IDS_VELOCITY_FEET_SECOND 3101
#define IDS_VELOCITY_FEET_HOUR 3102
#define IDS_VELOCITY_KILOMETERS_HOUR 3103
#define IDS_VELOCITY_KNOTS 3104
#define IDS_VELOCITY_MACH 3105
#define IDS_VELOCITY_METERS_SECOND 3106
#define IDS_VELOCITY_MILES_HOUR 3107
#define IDS_VELOCITY_CMS_SECOND 3100
#define IDS_VELOCITY_FEET_SECOND 3101
#define IDS_VELOCITY_FEET_HOUR 3102
#define IDS_VELOCITY_KILOMETERS_HOUR 3103
#define IDS_VELOCITY_KNOTS 3104
#define IDS_VELOCITY_MACH 3105
#define IDS_VELOCITY_METERS_SECOND 3106
#define IDS_VELOCITY_MILES_HOUR 3107
/* TYPES OF VOLUMES */
#define IDS_VOLUME_BARRELS_UK 3200
#define IDS_VOLUME_BARRELS_OIL 3201
#define IDS_VOLUME_BUN 3202
#define IDS_VOLUME_BUSHELS_UK 3203
#define IDS_VOLUME_BUSHELS_US 3204
#define IDS_VOLUME_CUBIC_CENTIMETERS 3205
#define IDS_VOLUME_CUBIC_FEET 3206
#define IDS_VOLUME_CUBIC_INCHES 3207
#define IDS_VOLUME_CUBIC_METERS 3208
#define IDS_VOLUME_CUBIC_YARDS 3209
#define IDS_VOLUME_DOE 3210
#define IDS_VOLUME_FLUID_OUNCES_UK 3211
#define IDS_VOLUME_FLUID_OUNCES_US 3212
#define IDS_VOLUME_GALLONS_UK 3213
#define IDS_VOLUME_GALLONS_DRY_US 3214
#define IDS_VOLUME_GALLONS_LIQUID_US 3215
#define IDS_VOLUME_GOU 3216
#define IDS_VOLUME_HOP 3217
#define IDS_VOLUME_ICCE 3218
#define IDS_VOLUME_KWIAN 3219
#define IDS_VOLUME_LITERS 3220
#define IDS_VOLUME_MAL 3221
#define IDS_VOLUME_MILLILITERS 3222
#define IDS_VOLUME_PINTS_UK 3223
#define IDS_VOLUME_PINTS_DRY_US 3224
#define IDS_VOLUME_PINTS_LIQUID_US 3225
#define IDS_VOLUME_QUARTS_UK 3226
#define IDS_VOLUME_QUARTS_DRY_US 3227
#define IDS_VOLUME_QUARTS_LIQUID_US 3228
#define IDS_VOLUME_SEKI 3229
#define IDS_VOLUME_SYOU 3230
#define IDS_VOLUME_TANANLOUNG 3231
#define IDS_VOLUME_TANG 3232
#define IDS_VOLUME_TO 3233
#define IDS_VOLUME_BARRELS_UK 3200
#define IDS_VOLUME_BARRELS_OIL 3201
#define IDS_VOLUME_BUN 3202
#define IDS_VOLUME_BUSHELS_UK 3203
#define IDS_VOLUME_BUSHELS_US 3204
#define IDS_VOLUME_CUBIC_CENTIMETERS 3205
#define IDS_VOLUME_CUBIC_FEET 3206
#define IDS_VOLUME_CUBIC_INCHES 3207
#define IDS_VOLUME_CUBIC_METERS 3208
#define IDS_VOLUME_CUBIC_YARDS 3209
#define IDS_VOLUME_DOE 3210
#define IDS_VOLUME_FLUID_OUNCES_UK 3211
#define IDS_VOLUME_FLUID_OUNCES_US 3212
#define IDS_VOLUME_GALLONS_UK 3213
#define IDS_VOLUME_GALLONS_DRY_US 3214
#define IDS_VOLUME_GALLONS_LIQUID_US 3215
#define IDS_VOLUME_GOU 3216
#define IDS_VOLUME_HOP 3217
#define IDS_VOLUME_ICCE 3218
#define IDS_VOLUME_KWIAN 3219
#define IDS_VOLUME_LITERS 3220
#define IDS_VOLUME_MAL 3221
#define IDS_VOLUME_MILLILITERS 3222
#define IDS_VOLUME_PINTS_UK 3223
#define IDS_VOLUME_PINTS_DRY_US 3224
#define IDS_VOLUME_PINTS_LIQUID_US 3225
#define IDS_VOLUME_QUARTS_UK 3226
#define IDS_VOLUME_QUARTS_DRY_US 3227
#define IDS_VOLUME_QUARTS_LIQUID_US 3228
#define IDS_VOLUME_SEKI 3229
#define IDS_VOLUME_SYOU 3230
#define IDS_VOLUME_TANANLOUNG 3231
#define IDS_VOLUME_TANG 3232
#define IDS_VOLUME_TO 3233
/* TYPES OF WEIGHTS */
#define IDS_WEIGHT_BAHT 3300
#define IDS_WEIGHT_CARATS 3301
#define IDS_WEIGHT_CHUNG 3302
#define IDS_WEIGHT_DON 3303
#define IDS_WEIGHT_GEUN 3304
#define IDS_WEIGHT_GRAMS 3305
#define IDS_WEIGHT_GWAN 3306
#define IDS_WEIGHT_HARB 3307
#define IDS_WEIGHT_JIN_CHINA 3308
#define IDS_WEIGHT_JIN_TAIWAN 3309
#define IDS_WEIGHT_KAN 3310
#define IDS_WEIGHT_KILOGRAMS 3311
#define IDS_WEIGHT_KIN 3312
#define IDS_WEIGHT_LIANG_CHINA 3313
#define IDS_WEIGHT_LIANG_TAIWAN 3314
#define IDS_WEIGHT_MONME 3315
#define IDS_WEIGHT_OUNCES_AVOIRDUPOIS 3316
#define IDS_WEIGHT_OUNCES_TROY 3317
#define IDS_WEIGHT_POUNDS 3318
#define IDS_WEIGHT_QUINTAL_METRIC 3319
#define IDS_WEIGHT_SALOUNG 3320
#define IDS_WEIGHT_STONES 3321
#define IDS_WEIGHT_TAMLUNG 3322
#define IDS_WEIGHT_TONNES 3323
#define IDS_WEIGHT_TONS_UK 3324
#define IDS_WEIGHT_TONS_US 3325
#define IDS_WEIGHT_BAHT 3300
#define IDS_WEIGHT_CARATS 3301
#define IDS_WEIGHT_CHUNG 3302
#define IDS_WEIGHT_DON 3303
#define IDS_WEIGHT_GEUN 3304
#define IDS_WEIGHT_GRAMS 3305
#define IDS_WEIGHT_GWAN 3306
#define IDS_WEIGHT_HARB 3307
#define IDS_WEIGHT_JIN_CHINA 3308
#define IDS_WEIGHT_JIN_TAIWAN 3309
#define IDS_WEIGHT_KAN 3310
#define IDS_WEIGHT_KILOGRAMS 3311
#define IDS_WEIGHT_KIN 3312
#define IDS_WEIGHT_LIANG_CHINA 3313
#define IDS_WEIGHT_LIANG_TAIWAN 3314
#define IDS_WEIGHT_MONME 3315
#define IDS_WEIGHT_OUNCES_AVOIRDUPOIS 3316
#define IDS_WEIGHT_OUNCES_TROY 3317
#define IDS_WEIGHT_POUNDS 3318
#define IDS_WEIGHT_QUINTAL_METRIC 3319
#define IDS_WEIGHT_SALOUNG 3320
#define IDS_WEIGHT_STONES 3321
#define IDS_WEIGHT_TAMLUNG 3322
#define IDS_WEIGHT_TONNES 3323
#define IDS_WEIGHT_TONS_UK 3324
#define IDS_WEIGHT_TONS_US 3325
/* MENU */
#define IDM_EDIT_COPY 40002
#define IDM_EDIT_PASTE 40003
#define IDM_VIEW_STANDARD 40004
#define IDM_VIEW_SCIENTIFIC 40005
#define IDM_VIEW_HEX 40006
#define IDM_VIEW_DEC 40007
#define IDM_VIEW_OCT 40008
#define IDM_VIEW_BIN 40009
#define IDM_VIEW_DEG 40010
#define IDM_VIEW_RAD 40011
#define IDM_VIEW_GRAD 40012
#define IDM_VIEW_GROUP 40013
#define IDM_HELP_HELP 40014
#define IDM_HELP_ABOUT 40015
#define IDM_VIEW_QWORD 40016
#define IDM_VIEW_WORD 40017
#define IDM_VIEW_BYTE 40018
#define IDM_VIEW_DWORD 40019
#define IDM_VIEW_CONVERSION 40020
#define IDM_EDIT_COPY 40002
#define IDM_EDIT_PASTE 40003
#define IDM_VIEW_STANDARD 40004
#define IDM_VIEW_SCIENTIFIC 40005
#define IDM_VIEW_HEX 40006
#define IDM_VIEW_DEC 40007
#define IDM_VIEW_OCT 40008
#define IDM_VIEW_BIN 40009
#define IDM_VIEW_DEG 40010
#define IDM_VIEW_RAD 40011
#define IDM_VIEW_GRAD 40012
#define IDM_VIEW_GROUP 40013
#define IDM_HELP_HELP 40014
#define IDM_HELP_ABOUT 40015
#define IDM_VIEW_QWORD 40016
#define IDM_VIEW_WORD 40017
#define IDM_VIEW_BYTE 40018
#define IDM_VIEW_DWORD 40019
#define IDM_VIEW_CONVERSION 40020

View File

@@ -1,8 +1,21 @@
/*
* PROJECT: ReactOS Calc
* LICENSE: LGPL - See COPYING.LIB in the top level directory
* FILE: base/applications/calc/resource.rc
* PURPOSE: Global resource file
* ReactOS Calc (global resource file)
*
* Copyright 2007, Carlo Bramini
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <windef.h>
@@ -10,18 +23,14 @@
#include "resource.h"
#ifndef IDC_STATIC
#define IDC_STATIC -1
#endif
/* Common resources */
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
/* Icons */
IDI_CALC_BIG ICON "res/calc.ico"
IDI_CALC_SMALL ICON "res/calc_sm.ico"
IDI_CALC ICON DISCARDABLE "res/calc.ico"
/* Manifest */
#include <reactos/manifest_exe.rc>
/* UTF-8 */

View File

@@ -1,3 +1,23 @@
/*
* ReactOS Calc (RPN encoder/decoder for IEEE-754 engine)
*
* Copyright 2007-2017, Carlo Bramini
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "calc.h"
typedef struct {
@@ -15,7 +35,7 @@ typedef struct {
} calc_operator_t;
static stack_node_t *stack;
static stack_node_t temp;
static calc_node_t temp;
static BOOL percent_mode;
static void rpn_add_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
@@ -67,14 +87,20 @@ static const calc_operator_t operator_list[] = {
{ 7, rpn_sqr_f, NULL, NULL, }, // RPN_OPERATOR_SQR
};
static stack_node_t *pop(void)
static calc_node_t *pop(void)
{
void *next;
if (stack == NULL)
return NULL;
temp = *stack;
/* copy the node */
temp = stack->node;
next = stack->next;
/* free the node */
free(stack);
stack = temp.next;
stack = next;
return &temp;
}
@@ -84,11 +110,11 @@ static int is_stack_empty(void)
return (stack == NULL);
}
static void push(stack_node_t *op)
static void push(calc_node_t *op)
{
stack_node_t *z = (stack_node_t *)malloc(sizeof(stack_node_t));
*z = *op;
z->node = *op;
z->next = stack;
stack = z;
}
@@ -330,20 +356,20 @@ void run_operator(calc_node_t *result,
static void evalStack(calc_number_t *number)
{
stack_node_t *op, ip;
calc_node_t *op, ip;
unsigned int prec;
op = pop();
ip = *op;
prec = operator_list[ip.node.operation].prec;
prec = operator_list[ip.operation].prec;
while (!is_stack_empty()) {
op = pop();
if (prec <= operator_list[op->node.operation].prec) {
if (op->node.operation == RPN_OPERATOR_PARENT) continue;
if (prec <= operator_list[op->operation].prec) {
if (op->operation == RPN_OPERATOR_PARENT) continue;
calc.prev = ip.node.number;
run_operator(&ip.node, &op->node, &ip.node, op->node.operation);
calc.prev = ip.number;
run_operator(&ip, op, &ip, op->operation);
if (calc.is_nan) {
flush_postfix();
return;
@@ -354,17 +380,17 @@ static void evalStack(calc_number_t *number)
}
}
if(ip.node.operation != RPN_OPERATOR_EQUAL && ip.node.operation != RPN_OPERATOR_PERCENT)
if (ip.operation != RPN_OPERATOR_EQUAL && ip.operation != RPN_OPERATOR_PERCENT)
push(&ip);
calc.prev_operator = op->node.operation;
calc.prev_operator = op->operation;
*number = ip.node.number;
*number = ip.number;
}
int exec_infix2postfix(calc_number_t *number, unsigned int func)
{
stack_node_t tmp;
calc_node_t tmp;
if (is_stack_empty() && func == RPN_OPERATOR_EQUAL) {
/* if a number has been entered with exponential */
@@ -377,10 +403,9 @@ int exec_infix2postfix(calc_number_t *number, unsigned int func)
if (func == RPN_OPERATOR_PERCENT)
percent_mode = TRUE;
tmp.node.number = *number;
tmp.node.base = calc.base;
tmp.node.operation = func;
tmp.next = NULL;
tmp.number = *number;
tmp.base = calc.base;
tmp.operation = func;
push(&tmp);
@@ -410,23 +435,23 @@ void exec_change_infix(void)
void exec_closeparent(calc_number_t *number)
{
stack_node_t *op, ip;
calc_node_t *op, ip;
ip.node.number = *number;
ip.node.base = calc.base;
ip.number = *number;
ip.base = calc.base;
while (!is_stack_empty()) {
op = pop();
if (op->node.operation == RPN_OPERATOR_PARENT)
if (op->operation == RPN_OPERATOR_PARENT)
break;
run_operator(&ip.node, &op->node, &ip.node, op->node.operation);
run_operator(&ip, op, &ip, op->operation);
if (calc.is_nan) {
flush_postfix();
return;
}
}
*number = ip.node.number;
*number = ip.number;
}
int eval_parent_count(void)
@@ -442,7 +467,7 @@ int eval_parent_count(void)
return n;
}
void flush_postfix()
void flush_postfix(void)
{
while (!is_stack_empty())
pop();
@@ -459,4 +484,3 @@ void start_rpn_engine(void)
void stop_rpn_engine(void)
{
}

View File

@@ -1,3 +1,23 @@
/*
* ReactOS Calc (RPN encoder/decoder for GMP/MPFR engine)
*
* Copyright 2007-2017, Carlo Bramini
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "calc.h"
typedef struct {
@@ -15,7 +35,7 @@ typedef struct {
} calc_operator_t;
static stack_node_t *stack;
static stack_node_t temp;
static calc_node_t temp;
static BOOL percent_mode;
static void rpn_add_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
@@ -61,25 +81,27 @@ static const calc_operator_t operator_list[] = {
{ 7, rpn_sqr_f, NULL, NULL, }, // RPN_OPERATOR_SQR
};
static void node_copy(stack_node_t *dst, stack_node_t *src)
static void node_copy(calc_node_t *dst, calc_node_t *src)
{
mpfr_set(dst->node.number.mf,src->node.number.mf,MPFR_DEFAULT_RND);
dst->node.operation = src->node.operation;
dst->next = src->next;
mpfr_set(dst->number.mf, src->number.mf, MPFR_DEFAULT_RND);
dst->operation = src->operation;
}
static stack_node_t *pop()
static calc_node_t *pop(void)
{
void *next;
if (stack == NULL)
return NULL;
/* copy the node */
node_copy(&temp, stack);
node_copy(&temp, &stack->node);
next = stack->next;
/* free the node */
mpfr_clear(stack->node.number.mf);
free(stack);
stack = temp.next;
stack = next;
return &temp;
}
@@ -89,12 +111,12 @@ static int is_stack_empty(void)
return (stack == NULL);
}
static void push(stack_node_t *op)
static void push(calc_node_t *op)
{
stack_node_t *z = (stack_node_t *)malloc(sizeof(stack_node_t));
mpfr_init_set(z->node.number.mf,op->node.number.mf,MPFR_DEFAULT_RND);
z->node.operation = op->node.operation;
mpfr_init_set(z->node.number.mf, op->number.mf, MPFR_DEFAULT_RND);
z->node.operation = op->operation;
z->next = stack;
stack = z;
}
@@ -109,8 +131,7 @@ static unsigned int get_prec(unsigned int opc)
}
*/
typedef
__GMP_DECLSPEC void (*exec_call_t)
typedef void (*exec_call_t)
__GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
static void rpn_exec_int(calc_number_t *r, calc_number_t *a, calc_number_t *b, exec_call_t cb)
@@ -286,7 +307,6 @@ static void rpn_div_p(calc_number_t *r, calc_number_t *a, calc_number_t *b)
}
}
void run_operator(calc_node_t *result,
calc_node_t *a,
calc_node_t *b,
@@ -307,44 +327,44 @@ void run_operator(calc_node_t *result,
static void evalStack(calc_number_t *number)
{
stack_node_t *op, ip;
calc_node_t *op, ip;
unsigned int prec;
mpfr_init(ip.node.number.mf);
mpfr_init(ip.number.mf);
op = pop();
node_copy(&ip, op);
prec = operator_list[ip.node.operation].prec;
prec = operator_list[ip.operation].prec;
while (!is_stack_empty()) {
op = pop();
if (prec <= operator_list[op->node.operation].prec) {
if (op->node.operation == RPN_OPERATOR_PARENT) continue;
if (prec <= operator_list[op->operation].prec) {
if (op->operation == RPN_OPERATOR_PARENT) continue;
rpn_copy(&calc.prev, &ip.node.number);
run_operator(&ip.node, &op->node, &ip.node, op->node.operation);
rpn_copy(&calc.prev, &ip.number);
run_operator(&ip, op, &ip, op->operation);
if (calc.is_nan) {
flush_postfix();
mpfr_clear(ip.node.number.mf);
mpfr_clear(ip.number.mf);
return;
}
} else {
push(op);
break;
}
}
}
if(ip.node.operation != RPN_OPERATOR_EQUAL && ip.node.operation != RPN_OPERATOR_PERCENT)
if (ip.operation != RPN_OPERATOR_EQUAL && ip.operation != RPN_OPERATOR_PERCENT)
push(&ip);
calc.prev_operator = op->node.operation;
calc.prev_operator = op->operation;
rpn_copy(number, &ip.node.number);
mpfr_clear(ip.node.number.mf);
rpn_copy(number, &ip.number);
mpfr_clear(ip.number.mf);
}
int exec_infix2postfix(calc_number_t *number, unsigned int func)
{
stack_node_t tmp;
calc_node_t tmp;
if (is_stack_empty() && func == RPN_OPERATOR_EQUAL) {
/* if a number has been entered with exponential */
@@ -357,12 +377,12 @@ int exec_infix2postfix(calc_number_t *number, unsigned int func)
if (func == RPN_OPERATOR_PERCENT)
percent_mode = TRUE;
mpfr_init(tmp.node.number.mf);
rpn_copy(&tmp.node.number, number);
tmp.node.operation = func;
mpfr_init(tmp.number.mf);
rpn_copy(&tmp.number, number);
tmp.operation = func;
push(&tmp);
mpfr_clear(tmp.node.number.mf);
mpfr_clear(tmp.number.mf);
if (func == RPN_OPERATOR_NONE)
return 0;
@@ -390,24 +410,24 @@ void exec_change_infix(void)
void exec_closeparent(calc_number_t *number)
{
stack_node_t *op, ip;
calc_node_t *op, ip;
rpn_alloc(&ip.node.number);
rpn_copy(&ip.node.number, number);
rpn_alloc(&ip.number);
rpn_copy(&ip.number, number);
while (!is_stack_empty()) {
op = pop();
if (op->node.operation == RPN_OPERATOR_PARENT)
if (op->operation == RPN_OPERATOR_PARENT)
break;
run_operator(&ip.node, &op->node, &ip.node, op->node.operation);
run_operator(&ip, op, &ip, op->operation);
if (calc.is_nan) {
flush_postfix();
return;
}
}
rpn_copy(number, &ip.node.number);
rpn_free(&ip.node.number);
rpn_copy(number, &ip.number);
rpn_free(&ip.number);
}
int eval_parent_count(void)
@@ -423,12 +443,12 @@ int eval_parent_count(void)
return n;
}
void flush_postfix()
void flush_postfix(void)
{
while (!is_stack_empty())
pop();
/* clear prev and last typed operators */
calc.prev_operator =
calc.prev_operator =
calc.last_operator = 0;
}
@@ -440,7 +460,7 @@ void start_rpn_engine(void)
mpfr_init(calc.code.mf);
mpfr_init(calc.prev.mf);
mpfr_init(calc.memory.number.mf);
mpfr_init(temp.node.number.mf);
mpfr_init(temp.number.mf);
rpn_zero(&calc.memory.number);
}
@@ -449,5 +469,5 @@ void stop_rpn_engine(void)
mpfr_clear(calc.code.mf);
mpfr_clear(calc.prev.mf);
mpfr_clear(calc.memory.number.mf);
mpfr_clear(temp.node.number.mf);
mpfr_clear(temp.number.mf);
}

View File

@@ -0,0 +1,127 @@
/*
* ReactOS Calc (Theming support)
*
* Copyright 2007-2017, Carlo Bramini
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "calc.h"
#define GET_CB(name) \
calc_##name = (type_##name)GetProcAddress(hUxTheme, #name); \
if (calc_##name == NULL) calc_##name = dummy_##name;
static HTHEME WINAPI
dummy_OpenThemeData(HWND hwnd, const WCHAR *pszClassList);
static HRESULT WINAPI
dummy_CloseThemeData(HTHEME hTheme);
static HRESULT WINAPI
dummy_DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId,
const RECT *prc, const RECT *prcClip);
static BOOL WINAPI
dummy_IsAppThemed(void);
static BOOL WINAPI
dummy_IsThemeActive(void);
static BOOL WINAPI
dummy_IsThemeBackgroundPartiallyTransparent(HTHEME hTheme, int iPartId, int iStateId);
static HRESULT WINAPI
dummy_DrawThemeParentBackground(HWND hWnd, HDC hdc, RECT *prc);
type_OpenThemeData calc_OpenThemeData = dummy_OpenThemeData;
type_CloseThemeData calc_CloseThemeData = dummy_CloseThemeData;
type_DrawThemeBackground calc_DrawThemeBackground = dummy_DrawThemeBackground;
type_IsAppThemed calc_IsAppThemed = dummy_IsAppThemed;
type_IsThemeActive calc_IsThemeActive = dummy_IsThemeActive;
type_IsThemeBackgroundPartiallyTransparent calc_IsThemeBackgroundPartiallyTransparent = \
dummy_IsThemeBackgroundPartiallyTransparent;
type_DrawThemeParentBackground calc_DrawThemeParentBackground = \
dummy_DrawThemeParentBackground;
static HMODULE hUxTheme;
static HTHEME WINAPI
dummy_OpenThemeData(HWND hwnd, const WCHAR* pszClassList)
{
return NULL;
}
static HRESULT WINAPI
dummy_CloseThemeData(HTHEME hTheme)
{
return E_NOTIMPL;
}
static HRESULT WINAPI
dummy_DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId,
const RECT* prc, const RECT* prcClip)
{
return E_NOTIMPL;
}
static BOOL WINAPI
dummy_IsAppThemed(void)
{
return FALSE;
}
static BOOL WINAPI
dummy_IsThemeActive(void)
{
return FALSE;
}
static BOOL WINAPI
dummy_IsThemeBackgroundPartiallyTransparent(HTHEME hTheme, int iPartId, int iStateId)
{
return FALSE;
}
static HRESULT WINAPI
dummy_DrawThemeParentBackground(HWND hWnd, HDC hdc, RECT *prc)
{
return E_NOTIMPL;
}
void Theme_Start(HINSTANCE hInstance)
{
hUxTheme = LoadLibrary(_T("UXTHEME"));
if (hUxTheme == NULL)
return;
GET_CB(OpenThemeData)
GET_CB(CloseThemeData)
GET_CB(DrawThemeBackground)
GET_CB(IsAppThemed)
GET_CB(IsThemeActive)
GET_CB(IsThemeBackgroundPartiallyTransparent)
GET_CB(DrawThemeParentBackground)
}
void Theme_Stop(void)
{
if(hUxTheme == NULL)
return;
FreeLibrary(hUxTheme);
hUxTheme = NULL;
}

View File

@@ -1,3 +1,23 @@
/*
* ReactOS Calc (Utility functions for IEEE-754 engine)
*
* Copyright 2007-2017, Carlo Bramini
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "calc.h"
void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
@@ -7,7 +27,7 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
switch (base) {
case IDC_RADIO_HEX:
_stprintf(buffer, TEXT("%I64X"), rpn->i);
_stprintf(buffer, _T("%I64X"), rpn->i);
break;
case IDC_RADIO_DEC:
/*
@@ -19,44 +39,44 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
#define MAX_LD_WIDTH 16
/* calculate the width of integer number */
width = (rpn->f==0) ? 1 : (int)log10(fabs(rpn->f))+1;
if ((calc.sci_out != FALSE) || (width > MAX_LD_WIDTH) || (width < -MAX_LD_WIDTH))
_stprintf(buffer, TEXT("%#e"), rpn->f);
if (calc.sci_out == TRUE || width > MAX_LD_WIDTH || width < -MAX_LD_WIDTH)
_stprintf(buffer, _T("%#.*e"), MAX_LD_WIDTH-1, rpn->f);
else {
TCHAR *ptr, *dst;
ptr = buffer + _stprintf(buffer, TEXT("%#*.*f"), width, ((MAX_LD_WIDTH-width-1)>=0) ? MAX_LD_WIDTH-width-1 : 0, rpn->f);
ptr = buffer + _stprintf(buffer, _T("%#*.*f"), width, ((MAX_LD_WIDTH-width-1)>=0) ? MAX_LD_WIDTH-width-1 : 0, rpn->f);
/* format string ensures there is a '.': */
dst = _tcschr(buffer, TEXT('.'));
dst = _tcschr(buffer, _T('.'));
while (--ptr > dst)
if (*ptr != TEXT('0'))
if (*ptr != _T('0'))
break;
/* put the string terminator for removing the final '0' (if any) */
ptr[1] = TEXT('\0');
ptr[1] = _T('\0');
/* check if the number finishes with '.' */
if (ptr == dst)
/* remove the dot (it will be re-added later) */
ptr[0] = TEXT('\0');
ptr[0] = _T('\0');
}
#undef MAX_LD_WIDTH
break;
case IDC_RADIO_OCT:
_stprintf(buffer, TEXT("%I64o"), rpn->i);
_stprintf(buffer, _T("%I64o"), rpn->i);
break;
case IDC_RADIO_BIN:
if (rpn->i == 0) {
buffer[0] = TEXT('0');
buffer[1] = TEXT('\0');
buffer[0] = _T('0');
buffer[1] = _T('\0');
break;
}
tmp = *rpn;
buffer[0] = TEXT('\0');
buffer[0] = _T('\0');
while (tmp.u) {
memmove(buffer+1, buffer, (size-1)*sizeof(TCHAR));
if (tmp.u & 1)
calc.buffer[0] = TEXT('1');
buffer[0] = _T('1');
else
calc.buffer[0] = TEXT('0');
buffer[0] = _T('0');
tmp.u >>= 1;
}
break;
@@ -69,20 +89,20 @@ void convert_text2number_2(calc_number_t *a)
switch (calc.base) {
case IDC_RADIO_HEX:
_stscanf(calc.buffer, TEXT("%I64X"), &(a->i));
_stscanf(calc.buffer, _T("%I64X"), &(a->i));
break;
case IDC_RADIO_DEC:
_stscanf(calc.buffer, TEXT("%lf"), &(a->f));
_stscanf(calc.buffer, _T("%lf"), &(a->f));
break;
case IDC_RADIO_OCT:
_stscanf(calc.buffer, TEXT("%I64o"), &(a->i));
_stscanf(calc.buffer, _T("%I64o"), &(a->i));
break;
case IDC_RADIO_BIN:
ptr = calc.buffer;
a->i = 0;
while (*ptr != TEXT('\0')) {
while (*ptr != _T('\0')) {
a->i <<= 1;
if (*ptr++ == TEXT('1'))
if (*ptr++ == _T('1'))
a->i |= 1;
}
break;

View File

@@ -1,3 +1,23 @@
/*
* ReactOS Calc (Utility functions for GMP/MPFR engine)
*
* Copyright 2007-2017, Carlo Bramini
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "calc.h"
void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
@@ -39,7 +59,7 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
width = 1 + mpfr_get_si(t, MPFR_DEFAULT_RND);
mpfr_clear(t);
}
if ((calc.sci_out != FALSE) || (width > max_ld_width) || (width < -max_ld_width))
if (calc.sci_out == TRUE || width > max_ld_width || width < -max_ld_width)
ptr = temp + gmp_sprintf(temp, "%*.*#Fe", 1, max_ld_width, ff);
else {
ptr = temp + gmp_sprintf(temp, "%#*.*Ff", width, ((max_ld_width-width-1)>=0) ? max_ld_width-width-1 : 0, ff);
@@ -62,8 +82,8 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
case IDC_RADIO_BIN:
/* if the number is zero, just write 0 ;) */
if (rpn_is_zero(rpn)) {
temp[0] = TEXT('0');
temp[1] = TEXT('\0');
temp[0] = _T('0');
temp[1] = _T('\0');
break;
}
/* repeat until a bit set to '1' is found */
@@ -78,8 +98,8 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
} while (1);
/* now revert the string into TCHAR buffer */
for (q=0; q<n; q++)
buffer[n-q-1] = (temp[q] == '1') ? TEXT('1') : TEXT('0');
buffer[n] = TEXT('\0');
buffer[n-q-1] = (temp[q] == '1') ? _T('1') : _T('0');
buffer[n] = _T('\0');
mpz_clear(zz);
mpf_clear(ff);
@@ -87,7 +107,7 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
}
mpz_clear(zz);
mpf_clear(ff);
_sntprintf(buffer, SIZEOF(calc.buffer), TEXT("%s"), temp);
_sntprintf(buffer, SIZEOF(calc.buffer), _T("%hs"), temp);
}
void convert_text2number_2(calc_number_t *a)
@@ -135,4 +155,3 @@ void convert_real_integer(unsigned int base)
break;
}
}

View File

@@ -1,4 +1,33 @@
1.11 (20080813)
1.12 (20181104)
=======================
* Fixed bug 12.37 13/06/2009 into multiprecision display (unicode only).
* Added support for average of squares and mean of squares into statistical functions.
* pop() and push() functions in RPN engines now work with nodes instead of stack units.
* Updated translations from ReactOS' repository.
* Added support for new conversion units:
- ANGLE: 'minute of arc', 'second of arc'.
- AREA: 'mu', 'rai'.
- LENGTH: 'chi', 'cun'. 'sun' optimized.
- TIME: 'nanoseconds'.
- WEIGHT: 'Kan', 'Kin'.
* Added support for thailand measure system:
Invaluable help from this page:
http://www.eppo.go.th/ref/UNIT-ALL.html
* Moved the POW and SQR operations near the operators.
* Rewritten some units formula by using scientific notation.
* Improved precision of parsec unit conversion formula.
* Fixed bug when calculator was closed with statistics dialog open.
* Do not append decimal separator if "ERROR" messages are printed.
* Improve code readability by using SetDlgItemText and GetDlgItemText functions
* Colours are now declared though RGB() macro.
* Remove call to _tcslen() and use return value of GetDlgItemText() where possible.
* Added theming support. Requires Windows XP or later.
* Configuration is read from WIN.INI under W32S/Win9x/Me and from the registry for all NT platforms.
* Removed safe DS_SHELLFONT declaration.
1.11 (20090404)
=======================
* Updated translations (thanks to the friends at ReactOS' community).
* Added DS_SHELLFONT to some dialogs into various translations (sometimes it was specified, sometimes it was not).
@@ -16,7 +45,7 @@
* Fixed some unsignaled overflow errors.
* Fixed conversion method, now scientific notation is recognized too.
* Added compilation for UNICODE executables.
* Plain MINGW toolchain do not support wWinMain function, so I switched to old WinMain if it is not under ReactOS' build tree.
* Plain MINGW toolchain does not support wWinMain function, so I switched to old WinMain if it is not under ReactOS' build tree.
* Detect error if UNICODE version is launched into Win9x (avoid the lock).
1.09 (20080630)
@@ -103,7 +132,7 @@
* The version number of the programme has been moved from the resource files to ABOUT.C.
* "DOT" function can be used for starting a number (integer part will be zero).
* Added repeat function.
* If the number is grater than maximum resolution, it will be displayed with exponential notation.
* If the number is greater than maximum resolution, it will be displayed with exponential notation.
* Removed mouse and keyboard focuses from displayed buttons.
* Added normal and small icons.

File diff suppressed because it is too large Load Diff

View File

@@ -16,7 +16,7 @@ list(APPEND SOURCE
MainWindow.cpp
)
add_library(charmap SHARED
add_library(charmap MODULE
${SOURCE}
charmap.rc)

View File

@@ -24,9 +24,9 @@ BEGIN
BEGIN
MENUITEM "自動(&A)", CMD_AUTOMATIC
END
POPUP "幫助(&H)"
POPUP "說明(&H)"
BEGIN
MENUITEM "幫助主題(&H)", CMD_HELP
MENUITEM "說明主題(&H)", CMD_HELP
MENUITEM SEPARATOR
MENUITEM "關於(&A)", CMD_ABOUT
END

View File

@@ -31,6 +31,7 @@ id Порядковый номер запланированно
IDS_CONFIRM_YES "Y"
IDS_CONFIRM_NO "N"
IDS_DELETE_ALL "This operation will delete all scheduled jobs.\n"
IDS_NEW_JOB "Добавлено новое задание с ID = %lu\n"
IDS_JOBS_LIST "Статус ID День Время Команда\n"
IDS_NO_ENTRIES "В списке нет запланированных задач.\n"

View File

@@ -11,5 +11,5 @@ BEGIN
/N 從 1 開始為顯示的行編號\n\
/V 輸出不包含該指定字串的行"
IDS_NO_SUCH_FILE "FIND: %s: 沒有這個檔\n"
IDS_CANNOT_OPEN "FIND: %s: 無法開檔\n"
IDS_CANNOT_OPEN "FIND: %s: 無法開檔\n"
END

View File

@@ -30,7 +30,7 @@ COPY 將一個或多個檔案複製到另一個位置。\n\
DATE 顯示或設置日期。\n\
DELETE 刪除一個或多個檔。\n\
DIR 顯示一個目錄中的檔案清單和子目錄。\n\
ECHO 顯示消息,或開/關閉命令回顯。\n\
ECHO 顯示消息,或開/關閉命令回顯。\n\
ERASE 刪除一個或多個檔。\n\
EXIT 退出 CMD.EXE 程式 (命令直譯器)。\n\
FOR 為一組檔中的每一個檔執行指定命令。\n\
@@ -47,7 +47,7 @@ MOVE 將一個或多個檔從一個資料夾移動到另一個資料夾。\n
PATH 顯示或設置可執行檔的搜索路徑。\n\
PAUSE 掛起批次檔的執行並顯示一條消息。\n\
POPD 恢復由 PUSHD 存儲的前一個目前的目錄的值。\n\
PROMPT 更改命令提示。\n\
PROMPT 更改命令提示字元。\n\
PUSHD 保存目前的目錄然後更改。\n\
RD 刪除一個目錄。\n\
REM 在批次檔中記錄注釋 (評論)。\n\

View File

@@ -11,7 +11,7 @@ STRINGTABLE
STRING_SUCCESS, "操作已成功完成\n"
STRING_INVALID_KEY, "錯誤: 無效的金鑰名稱\n"
STRING_INVALID_CMDLINE, "錯誤: 無效的命令列參數\n"
STRING_NO_REMOTE, "錯誤: 無法訪問遠端計算機\n"
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"

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE
{
STRING_USAGE, "用法: taskkill [/?] [/f] [/im 進程名稱 | /pid 進程 ID]\n"
STRING_USAGE, "用法: taskkill [/?] [/f] [/im 處理序名稱 | /pid 處理序 ID]\n"
STRING_INVALID_OPTION, "錯誤: 未知或不正確命令列選項指定。\n"
STRING_INVALID_PARAM, "錯誤: 不正確命令列參數指定。\n"
STRING_MISSING_OPTION, "錯誤: 選項 /im 或 /pid 之一必須指定。\n"
@@ -14,8 +14,8 @@ STRINGTABLE
STRING_CLOSE_PROC_SRCH, "關閉消息發送到頂級視窗的過程 ""%1"" 與 PID %2!u!.\n"
STRING_TERM_PID_SEARCH, "過程與 PID %1!u! 被強行終止。\n"
STRING_TERM_PROC_SEARCH, " ""%1"" 過程與 PID %2!u! 被強行終止。\n"
STRING_SEARCH_FAILED, "錯誤: 找不到進程 ""%1""。\n"
STRING_ENUM_FAILED, "錯誤: 無法枚舉進程清單。\n"
STRING_TERMINATE_FAILED, "錯誤: 無法終止進程 ""%1""。\n"
STRING_SELF_TERMINATION, "錯誤: 不允許自我終止的進程。\n"
STRING_SEARCH_FAILED, "錯誤: 找不到處理序 ""%1""。\n"
STRING_ENUM_FAILED, "錯誤: 無法枚舉處理序清單。\n"
STRING_TERMINATE_FAILED, "錯誤: 無法終止處理序 ""%1""。\n"
STRING_SELF_TERMINATION, "錯誤: 不允許自我終止的處理序。\n"
}

View File

@@ -121,45 +121,55 @@ static WCHAR *find_prop( IWbemClassObject *class, const WCHAR *prop )
return ret;
}
static int output_string( const WCHAR *msg, ... )
static int output_string( HANDLE handle, const WCHAR *msg, ... )
{
va_list va_args;
int wlen;
DWORD count, ret;
int len;
DWORD count;
WCHAR buffer[8192];
va_start( va_args, msg );
vsprintfW( buffer, msg, va_args );
len = vsnprintfW( buffer, ARRAY_SIZE(buffer), msg, va_args );
va_end( va_args );
wlen = strlenW( buffer );
ret = WriteConsoleW( GetStdHandle(STD_OUTPUT_HANDLE), buffer, wlen, &count, NULL );
if (!ret)
{
DWORD len;
char *msgA;
if (!WriteConsoleW( handle, buffer, len, &count, NULL ))
WriteFile( handle, buffer, len * sizeof(WCHAR), &count, FALSE );
/* On Windows WriteConsoleW() fails if the output is redirected. So fall
* back to WriteFile(), assuming the console encoding is still the right
* one in that case.
*/
len = WideCharToMultiByte( GetConsoleOutputCP(), 0, buffer, wlen, NULL, 0, NULL, NULL );
if (!(msgA = HeapAlloc( GetProcessHeap(), 0, len * sizeof(char) ))) return 0;
WideCharToMultiByte( GetConsoleOutputCP(), 0, buffer, wlen, msgA, len, NULL, NULL );
WriteFile( GetStdHandle(STD_OUTPUT_HANDLE), msgA, len, &count, FALSE );
HeapFree( GetProcessHeap(), 0, msgA );
}
return count;
}
static int output_message( int msg )
static int output_error( int msg )
{
static const WCHAR fmtW[] = {'%','s',0};
WCHAR buffer[8192];
LoadStringW( GetModuleHandleW(NULL), msg, buffer, ARRAY_SIZE(buffer));
return output_string( fmtW, buffer );
return output_string( GetStdHandle(STD_ERROR_HANDLE), fmtW, buffer );
}
static int output_header( const WCHAR *prop, ULONG column_width )
{
static const WCHAR bomW[] = {0xfeff}, fmtW[] = {'%','-','*','s','\r','\n',0};
int len;
DWORD count;
WCHAR buffer[8192];
len = snprintfW( buffer, ARRAY_SIZE(buffer), fmtW, column_width, prop );
if (!WriteConsoleW( GetStdHandle(STD_OUTPUT_HANDLE), buffer, len, &count, NULL )) /* redirected */
{
WriteFile( GetStdHandle(STD_OUTPUT_HANDLE), bomW, sizeof(bomW), &count, FALSE );
WriteFile( GetStdHandle(STD_OUTPUT_HANDLE), buffer, len * sizeof(WCHAR), &count, FALSE );
count += sizeof(bomW);
}
return count;
}
static int output_line( const WCHAR *str, ULONG column_width )
{
static const WCHAR fmtW[] = {'%','-','*','s','\r','\n',0};
return output_string( GetStdHandle(STD_OUTPUT_HANDLE), fmtW, column_width, str );
}
static int query_prop( const WCHAR *class, const WCHAR *propname )
@@ -167,8 +177,6 @@ static int query_prop( const WCHAR *class, const WCHAR *propname )
static const WCHAR select_allW[] = {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',0};
static const WCHAR cimv2W[] = {'R','O','O','T','\\','C','I','M','V','2',0};
static const WCHAR wqlW[] = {'W','Q','L',0};
static const WCHAR newlineW[] = {'\n',0};
static const WCHAR fmtW[] = {'%','s','\n',0};
HRESULT hr;
IWbemLocator *locator = NULL;
IWbemServices *services = NULL;
@@ -178,6 +186,9 @@ static int query_prop( const WCHAR *class, const WCHAR *propname )
WCHAR *prop = NULL;
BOOL first = TRUE;
int len, ret = -1;
IWbemClassObject *obj;
ULONG count, width = 0;
VARIANT v;
WINE_TRACE("%s, %s\n", debugstr_w(class), debugstr_w(propname));
@@ -202,34 +213,45 @@ static int query_prop( const WCHAR *class, const WCHAR *propname )
hr = IWbemServices_ExecQuery( services, wql, query, flags, NULL, &result );
if (hr != S_OK) goto done;
for (;;) /* get column width */
{
IEnumWbemClassObject_Next( result, WBEM_INFINITE, 1, &obj, &count );
if (!count) break;
if (!prop && !(prop = find_prop( obj, propname )))
{
output_error( STRING_INVALID_QUERY );
goto done;
}
if (IWbemClassObject_Get( obj, prop, 0, &v, NULL, NULL ) == WBEM_S_NO_ERROR)
{
VariantChangeType( &v, &v, 0, VT_BSTR );
width = max( strlenW( V_BSTR( &v ) ), width );
VariantClear( &v );
}
IWbemClassObject_Release( obj );
}
width += 2;
IEnumWbemClassObject_Reset( result );
for (;;)
{
IWbemClassObject *obj;
ULONG count;
VARIANT v;
IEnumWbemClassObject_Next( result, WBEM_INFINITE, 1, &obj, &count );
if (!count) break;
if (first)
{
if (!(prop = find_prop( obj, propname )))
{
output_message( STRING_INVALID_QUERY );
goto done;
}
output_string( fmtW, prop );
output_header( prop, width );
first = FALSE;
}
if (IWbemClassObject_Get( obj, prop, 0, &v, NULL, NULL ) == WBEM_S_NO_ERROR)
{
VariantChangeType( &v, &v, 0, VT_BSTR );
output_string( fmtW, V_BSTR( &v ) );
output_line( V_BSTR( &v ), width );
VariantClear( &v );
}
IWbemClassObject_Release( obj );
}
output_string( newlineW );
ret = 0;
done:
@@ -278,7 +300,7 @@ int wmain(int argc, WCHAR *argv[])
{
if (++i >= argc)
{
output_message( STRING_INVALID_PATH );
output_error( STRING_INVALID_PATH );
return 1;
}
class = argv[i];
@@ -288,7 +310,7 @@ int wmain(int argc, WCHAR *argv[])
class = find_class( argv[i] );
if (!class)
{
output_message( STRING_ALIAS_NOT_FOUND );
output_error( STRING_ALIAS_NOT_FOUND );
return 1;
}
}
@@ -305,6 +327,6 @@ int wmain(int argc, WCHAR *argv[])
}
not_supported:
output_message( STRING_CMDLINE_NOT_SUPPORTED );
output_error( STRING_CMDLINE_NOT_SUPPORTED );
return 1;
}

View File

@@ -49,7 +49,7 @@ XCOPY sursă [destinație] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
[/A] Copiază numai fișierele cu atributul de arhivă activat.\n\
[/M] Copiază numai fișierele cu atributul de arhivă activat, dezactivează\n\
\tapoi atributul.\n\
[/K] Copy file attributes, without this attributes are not preserved.\n\
[/K] Copiază atributele de fișier, altfel acestea sunt desconsiderate.\n\
[/D | /D:m-d-y] Copiază fișierele noi sau pe cele modificate după data\n\
\t\tspecificată. Dacă nu este specificată nici o dată, copiază\n\
\t\tnumai dacă fișierul destinație este mai vechi decât fișierul\n\

View File

@@ -59,8 +59,20 @@ void PrintSystemInfo(FILE* output, DumpData& data)
xfprintf(output, " When: %d/%d/%d @ %02d:%02d:%02d.%d" NEWLINE,
LocalTime.wDay, LocalTime.wMonth, LocalTime.wYear,
LocalTime.wHour, LocalTime.wMinute, LocalTime.wSecond, LocalTime.wMilliseconds);
DWORD ExceptionCode = data.ExceptionInfo.ExceptionRecord.ExceptionCode;
xfprintf(output, " Exception number: 0x%8x (%s)" NEWLINE, ExceptionCode, Exception2Str(ExceptionCode));
xfprintf(output, " First chance: %u" NEWLINE, data.ExceptionInfo.dwFirstChance);
EXCEPTION_RECORD& Record = data.ExceptionInfo.ExceptionRecord;
xfprintf(output, " Exception number: 0x%08x (%s)" NEWLINE, Record.ExceptionCode, Exception2Str(Record.ExceptionCode));
xfprintf(output, " Exception flags: 0x%08x" NEWLINE, Record.ExceptionFlags);
xfprintf(output, " Exception address: %p" NEWLINE, Record.ExceptionAddress);
if (Record.NumberParameters)
{
xfprintf(output, " Exception parameters: %u" NEWLINE, Record.NumberParameters);
for (DWORD n = 0; n < std::min<DWORD>(EXCEPTION_MAXIMUM_PARAMETERS, Record.NumberParameters); ++n)
{
xfprintf(output, " Parameter %u: 0x%p" NEWLINE, n, Record.ExceptionInformation[n]);
}
}
char Buffer[MAX_PATH];
DWORD count = sizeof(Buffer);

View File

@@ -1,4 +1,5 @@
add_definitions(-D__WINESRC__)
add_executable(extrac32 extrac32.c)
target_link_libraries(extrac32 wine)
set_module_type(extrac32 win32gui UNICODE)

View File

@@ -118,7 +118,7 @@ static void copy_file(LPCWSTR source, LPCWSTR destination)
static const WCHAR overwriteMsg[] = {'O','v','e','r','w','r','i','t','e',' ','"','%','s','"','?',0};
static const WCHAR titleMsg[] = {'E','x','t','r','a','c','t',0};
WCHAR msg[MAX_PATH+100];
snprintfW(msg, sizeof(msg)/sizeof(msg[0]), overwriteMsg, destination);
snprintfW(msg, ARRAY_SIZE(msg), overwriteMsg, destination);
if (MessageBoxW(NULL, msg, titleMsg, MB_YESNO | MB_ICONWARNING) != IDYES)
return;
}

View File

@@ -17,5 +17,5 @@ BEGIN
/N 顯示的行編號 (由 1 開始)\n\
/V 輸出不包含該指定字串的行"
IDS_NO_SUCH_FILE "FINDSTR: %s: 沒有這個檔案\n"
IDS_CANNOT_OPEN "FINDSTR: %s: 無法開檔案\n"
IDS_CANNOT_OPEN "FINDSTR: %s: 無法開檔案\n"
END

View File

@@ -5,17 +5,20 @@ BEGIN
IDS_USAGE "\nValid commands :\n\
load Loads a Filter driver\n\
unload Unloads a Filter driver\n\
filters Lists the Filters currently registered in the system\n\n"
filters Lists the Filters currently registered in the system\n\n\
volumes Lists all volumes\n\n"
IDS_USAGE_LOAD "Loads a filter driver\n"
IDS_USAGE_UNLOAD "Unloads a filter driver\n"
IDS_USAGE_FILTERS "Lists all registered filters\n"
IDS_USAGE_VOLUMES "Lists all volumes\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "Filter Name Num Instances Altitude Frame\n"
IDS_DISPLAY_FILTERS2 "Filter Name Num Instances Frame\n"
IDS_DISPLAY_VOLUMES "Dos Name Volume Name FileSystem Status\n"
END
STRINGTABLE
@@ -24,4 +27,5 @@ BEGIN
IDS_ERROR_FILTERS "Failed to list the filters (0x%X)\n"
IDS_ERROR_LOAD "Failed to load the filter (0x%X)\n"
IDS_ERROR_UNLOAD "Failed to unload the filter (0x%X)\n"
IDS_ERROR_VOLUMES "Failed to list the volumes (0x%X)\n"
END

View File

@@ -5,17 +5,20 @@ BEGIN
IDS_USAGE "\nValid commands :\n\
load Loads a Filter driver\n\
unload Unloads a Filter driver\n\
filters Lists the Filters currently registered in the system\n\n"
filters Lists the Filters currently registered in the system\n\n\
volumes Lists all volumes\n\n"
IDS_USAGE_LOAD "Loads a filter driver\n"
IDS_USAGE_UNLOAD "Unloads a filter driver\n"
IDS_USAGE_FILTERS "Lists all registered filters\n"
IDS_USAGE_VOLUMES "Lists all volumes\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "Filter Name Num Instances Altitude Frame\n"
IDS_DISPLAY_FILTERS2 "Filter Name Num Instances Frame\n"
IDS_DISPLAY_VOLUMES "Dos Name Volume Name FileSystem Status\n"
END
STRINGTABLE
@@ -24,4 +27,5 @@ BEGIN
IDS_ERROR_FILTERS "Failed to list the filters (0x%X)\n"
IDS_ERROR_LOAD "Failed to load the filter (0x%X)\n"
IDS_ERROR_UNLOAD "Failed to unload the filter (0x%X)\n"
IDS_ERROR_VOLUMES "Failed to list the volumes (0x%X)\n"
END

View File

@@ -5,17 +5,20 @@ BEGIN
IDS_USAGE "\nValid commands :\n\
load Loads a Filter driver\n\
unload Unloads a Filter driver\n\
filters Lists the Filters currently registered in the system\n\n"
filters Lists the Filters currently registered in the system\n\n\
volumes Lists all volumes\n\n"
IDS_USAGE_LOAD "Loads a filter driver\n"
IDS_USAGE_UNLOAD "Unloads a filter driver\n"
IDS_USAGE_FILTERS "Lists all registered filters\n"
IDS_USAGE_VOLUMES "Lists all volumes\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "Filter Name Num Instances Altitude Frame\n"
IDS_DISPLAY_FILTERS2 "Filter Name Num Instances Frame\n"
IDS_DISPLAY_VOLUMES "Dos Name Volume Name FileSystem Status\n"
END
STRINGTABLE
@@ -24,4 +27,5 @@ BEGIN
IDS_ERROR_FILTERS "Failed to list the filters (0x%X)\n"
IDS_ERROR_LOAD "Failed to load the filter (0x%X)\n"
IDS_ERROR_UNLOAD "Failed to unload the filter (0x%X)\n"
IDS_ERROR_VOLUMES "Failed to list the volumes (0x%X)\n"
END

View File

@@ -7,7 +7,6 @@ BEGIN
unload Unloads a Filter driver\n\
filters Lists the Filters currently registered in the system\n\
volumes Lists all volumes\n\n"
IDS_USAGE_LOAD "Loads a filter driver\n"
IDS_USAGE_UNLOAD "Unloads a filter driver\n"

View File

@@ -5,17 +5,20 @@ BEGIN
IDS_USAGE "\nValid commands :\n\
load Loads a Filter driver\n\
unload Unloads a Filter driver\n\
filters Lists the Filters currently registered in the system\n\n"
filters Lists the Filters currently registered in the system\n\n\
volumes Lists all volumes\n\n"
IDS_USAGE_LOAD "Loads a filter driver\n"
IDS_USAGE_UNLOAD "Unloads a filter driver\n"
IDS_USAGE_FILTERS "Lists all registered filters\n"
IDS_USAGE_VOLUMES "Lists all volumes\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "Filter Name Num Instances Altitude Frame\n"
IDS_DISPLAY_FILTERS2 "Filter Name Num Instances Frame\n"
IDS_DISPLAY_VOLUMES "Dos Name Volume Name FileSystem Status\n"
END
STRINGTABLE
@@ -24,4 +27,5 @@ BEGIN
IDS_ERROR_FILTERS "Failed to list the filters (0x%X)\n"
IDS_ERROR_LOAD "Failed to load the filter (0x%X)\n"
IDS_ERROR_UNLOAD "Failed to unload the filter (0x%X)\n"
IDS_ERROR_VOLUMES "Failed to list the volumes (0x%X)\n"
END

View File

@@ -5,17 +5,20 @@ BEGIN
IDS_USAGE "\nValid commands :\n\
load Loads a Filter driver\n\
unload Unloads a Filter driver\n\
filters Lists the Filters currently registered in the system\n\n"
filters Lists the Filters currently registered in the system\n\n\
volumes Lists all volumes\n\n"
IDS_USAGE_LOAD "Loads a filter driver\n"
IDS_USAGE_UNLOAD "Unloads a filter driver\n"
IDS_USAGE_FILTERS "Lists all registered filters\n"
IDS_USAGE_VOLUMES "Lists all volumes\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "Filter Name Num Instances Altitude Frame\n"
IDS_DISPLAY_FILTERS2 "Filter Name Num Instances Frame\n"
IDS_DISPLAY_VOLUMES "Dos Name Volume Name FileSystem Status\n"
END
STRINGTABLE
@@ -24,4 +27,5 @@ BEGIN
IDS_ERROR_FILTERS "Failed to list the filters (0x%X)\n"
IDS_ERROR_LOAD "Failed to load the filter (0x%X)\n"
IDS_ERROR_UNLOAD "Failed to unload the filter (0x%X)\n"
IDS_ERROR_VOLUMES "Failed to list the volumes (0x%X)\n"
END

View File

@@ -5,17 +5,20 @@ BEGIN
IDS_USAGE "\nValid commands :\n\
load Loads a Filter driver\n\
unload Unloads a Filter driver\n\
filters Lists the Filters currently registered in the system\n\n"
filters Lists the Filters currently registered in the system\n\n\
volumes Lists all volumes\n\n"
IDS_USAGE_LOAD "Loads a filter driver\n"
IDS_USAGE_UNLOAD "Unloads a filter driver\n"
IDS_USAGE_FILTERS "Lists all registered filters\n"
IDS_USAGE_VOLUMES "Lists all volumes\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "Filter Name Num Instances Altitude Frame\n"
IDS_DISPLAY_FILTERS2 "Filter Name Num Instances Frame\n"
IDS_DISPLAY_VOLUMES "Dos Name Volume Name FileSystem Status\n"
END
STRINGTABLE
@@ -24,4 +27,5 @@ BEGIN
IDS_ERROR_FILTERS "Failed to list the filters (0x%X)\n"
IDS_ERROR_LOAD "Failed to load the filter (0x%X)\n"
IDS_ERROR_UNLOAD "Failed to unload the filter (0x%X)\n"
IDS_ERROR_VOLUMES "Failed to list the volumes (0x%X)\n"
END

View File

@@ -3,25 +3,29 @@ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "\nPrawidłowe polecenia:\n\
load Ładuje sterownik filtra\n\
unload Wyładowuje sterownik filtra\n\
filters Wyświetla listę aktualnie zarejestrowanych filtrów\n\n"
load Ładuje sterownik filtru\n\
unload Zwalnia sterownik filtru\n\
filters Wyświetla listę aktualnie zarejestrowanych filtrów\n\n\
volumes Wyświetla listę wszystkich woluminów\n\n"
IDS_USAGE_LOAD "Ładuje sterownik filtra\n"
IDS_USAGE_UNLOAD "Wyładowuje sterownik filtra\n"
IDS_USAGE_LOAD "Ładuje sterownik filtru\n"
IDS_USAGE_UNLOAD "Zwalnia sterownik filtru\n"
IDS_USAGE_FILTERS "Wyświetla listę zarejestrowanych filtrów\n"
IDS_USAGE_VOLUMES "Wyświetla listę wszystkich woluminów\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "Nazwa filtra Liczba wystąpień Wysokość Ramka\n"
IDS_DISPLAY_FILTERS2 "Nazwa filtra Liczba wystąpień Ramka\n"
IDS_DISPLAY_FILTERS1 "Nazwa filtru Liczba wystąpień Wysokość Ramka\n"
IDS_DISPLAY_FILTERS2 "Nazwa filtru Liczba wystąpień Ramka\n"
IDS_DISPLAY_VOLUMES "Nazwa systemu DOS Nazwa woluminu System plików Stan\n"
END
STRINGTABLE
BEGIN
IDS_ERROR_PRIV "Nie udało się ustawić uprawnienia do załadowania sterownika (0x%X)\n"
IDS_ERROR_FILTERS "Nie udało się wyświetlić listy filtrów (0x%X)\n"
IDS_ERROR_LOAD "Nie udało się załadować filtra (0x%X)\n"
IDS_ERROR_UNLOAD "Nie udało się wyładować filtra (0x%X)\n"
IDS_ERROR_LOAD "Nie udało się załadować filtru (0x%X)\n"
IDS_ERROR_UNLOAD "Nie udało się zwolnić filtru (0x%X)\n"
IDS_ERROR_VOLUMES "Nie udało się wyświetlić listy woluminów (0x%X)\n"
END

View File

@@ -7,17 +7,20 @@ BEGIN
IDS_USAGE "\nComenzi valide:\n\
load Încarcă un modul-pilot de tip filtru\n\
unload Descarcă un modul-pilot de tip filtru\n\
filters Afișează filtrele înregistrate acum în sistem\n\n"
filters Afișează filtrele înregistrate acum în sistem\n\n\
volumes Afișează toate volumele\n\n"
IDS_USAGE_LOAD "Încarcă un modul-pilot de tip filtru\n"
IDS_USAGE_UNLOAD "Descarcă un modul-pilot de tip filtru\n"
IDS_USAGE_FILTERS "Afișează toate filtrele înregistrate\n"
IDS_USAGE_VOLUMES "Afișează toate volumele\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "Nume de filtru Num Instanțe Altitudine Cadru\n"
IDS_DISPLAY_FILTERS2 "Nume de filtru Num Instanțe Cadru\n"
IDS_DISPLAY_VOLUMES "Nume DOS Nume de volum Sist.fișr. Stare\n"
END
STRINGTABLE
@@ -26,4 +29,5 @@ BEGIN
IDS_ERROR_FILTERS "Eșec la afișarea filtrelor (0x%X)\n"
IDS_ERROR_LOAD "Eșec la încărcarea filtrului (0x%X)\n"
IDS_ERROR_UNLOAD "Eșec la descărcarea filtrului (0x%X)\n"
IDS_ERROR_VOLUMES "Eșec la afișarea volumelor (0x%X)\n"
END

View File

@@ -5,17 +5,20 @@ BEGIN
IDS_USAGE "\nДопустимые команды :\n\
load Загрузить драйвер фильтра\n\
unload Выгрузить драйвер фильтра\n\
filters Список фильтров, зарегистрированных в системе\n\n"
filters Список фильтров, зарегистрированных в системе\n\n\
volumes Lists all volumes\n\n"
IDS_USAGE_LOAD "Загружает драйвер фильтра\n"
IDS_USAGE_UNLOAD "Выгружает драйвер фильтра\n"
IDS_USAGE_FILTERS "Выводит список всех зарегистрированных фильтров\n"
IDS_USAGE_VOLUMES "Lists all volumes\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "Filter Name Num Instances Altitude Frame\n"
IDS_DISPLAY_FILTERS2 "Filter Name Num Instances Frame\n"
IDS_DISPLAY_VOLUMES "Dos Name Volume Name FileSystem Status\n"
END
STRINGTABLE
@@ -24,4 +27,5 @@ BEGIN
IDS_ERROR_FILTERS "Не удалось получить список фильтров (0x%X)\n"
IDS_ERROR_LOAD "Не удалось загрузить фильтр (0x%X)\n"
IDS_ERROR_UNLOAD "Не удалось выгрузить фильтр (0x%X)\n"
IDS_ERROR_VOLUMES "Failed to list the volumes (0x%X)\n"
END

View File

@@ -5,17 +5,20 @@ BEGIN
IDS_USAGE "\nValid commands :\n\
load Loads a Filter driver\n\
unload Unloads a Filter driver\n\
filters Lists the Filters currently registered in the system\n\n"
filters Lists the Filters currently registered in the system\n\n\
volumes Lists all volumes\n\n"
IDS_USAGE_LOAD "Loads a filter driver\n"
IDS_USAGE_UNLOAD "Unloads a filter driver\n"
IDS_USAGE_FILTERS "Lists all registered filters\n"
IDS_USAGE_VOLUMES "Lists all volumes\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "Filter Name Num Instances Altitude Frame\n"
IDS_DISPLAY_FILTERS2 "Filter Name Num Instances Frame\n"
IDS_DISPLAY_VOLUMES "Dos Name Volume Name FileSystem Status\n"
END
STRINGTABLE
@@ -24,4 +27,5 @@ BEGIN
IDS_ERROR_FILTERS "Failed to list the filters (0x%X)\n"
IDS_ERROR_LOAD "Failed to load the filter (0x%X)\n"
IDS_ERROR_UNLOAD "Failed to unload the filter (0x%X)\n"
IDS_ERROR_VOLUMES "Failed to list the volumes (0x%X)\n"
END

View File

@@ -5,17 +5,20 @@ BEGIN
IDS_USAGE "\nValid commands :\n\
load Loads a Filter driver\n\
unload Unloads a Filter driver\n\
filters Lists the Filters currently registered in the system\n\n"
filters Lists the Filters currently registered in the system\n\n\
volumes Lists all volumes\n\n"
IDS_USAGE_LOAD "Loads a filter driver\n"
IDS_USAGE_UNLOAD "Unloads a filter driver\n"
IDS_USAGE_FILTERS "Lists all registered filters\n"
IDS_USAGE_VOLUMES "Lists all volumes\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "Filter Name Num Instances Altitude Frame\n"
IDS_DISPLAY_FILTERS2 "Filter Name Num Instances Frame\n"
IDS_DISPLAY_VOLUMES "Dos Name Volume Name FileSystem Status\n"
END
STRINGTABLE
@@ -24,4 +27,5 @@ BEGIN
IDS_ERROR_FILTERS "Failed to list the filters (0x%X)\n"
IDS_ERROR_LOAD "Failed to load the filter (0x%X)\n"
IDS_ERROR_UNLOAD "Failed to unload the filter (0x%X)\n"
IDS_ERROR_VOLUMES "Failed to list the volumes (0x%X)\n"
END

View File

@@ -7,17 +7,20 @@ BEGIN
IDS_USAGE "\nGeçerli komutlar:\n\
load Bir süzgeç sürücüsünü yükler\n\
unload Bir süzgeç sürücüsünü kaldırır\n\
filters Dizgede şimdilik kayıtlı süzgeçleri dizelgeler\n\n"
filters Dizgede şimdilik kayıtlı süzgeçleri dizelgeler\n\n\
volumes Lists all volumes\n\n"
IDS_USAGE_LOAD "Bir süzgeç sürücüsünü yükler\n"
IDS_USAGE_UNLOAD "Bir süzgeç sürücüsünü kaldırır\n"
IDS_USAGE_FILTERS "Kayıtlı tüm süzgeçleri dizelgeler\n"
IDS_USAGE_VOLUMES "Lists all volumes\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "Süzgeç Adı Örnek Sayısı Yükseklik Kare\n"
IDS_DISPLAY_FILTERS2 "Süzgeç Adı Örnek Sayısı Kare\n"
IDS_DISPLAY_VOLUMES "Dos Name Volume Name FileSystem Status\n"
END
STRINGTABLE
@@ -26,4 +29,5 @@ BEGIN
IDS_ERROR_FILTERS "Süzgeçleri dizelgeleme başarısız (0x%X)\n"
IDS_ERROR_LOAD "Süzgeçleri yükleme başarısız (0x%X)\n"
IDS_ERROR_UNLOAD "Süzgeçleri kaldırma başarısız (0x%X)\n"
IDS_ERROR_VOLUMES "Failed to list the volumes (0x%X)\n"
END

View File

@@ -5,17 +5,20 @@ BEGIN
IDS_USAGE "\nValid commands :\n\
load Loads a Filter driver\n\
unload Unloads a Filter driver\n\
filters Lists the Filters currently registered in the system\n\n"
filters Lists the Filters currently registered in the system\n\n\
volumes Lists all volumes\n\n"
IDS_USAGE_LOAD "Loads a filter driver\n"
IDS_USAGE_UNLOAD "Unloads a filter driver\n"
IDS_USAGE_FILTERS "Lists all registered filters\n"
IDS_USAGE_VOLUMES "Lists all volumes\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "Filter Name Num Instances Altitude Frame\n"
IDS_DISPLAY_FILTERS2 "Filter Name Num Instances Frame\n"
IDS_DISPLAY_VOLUMES "Dos Name Volume Name FileSystem Status\n"
END
STRINGTABLE
@@ -24,4 +27,5 @@ BEGIN
IDS_ERROR_FILTERS "Failed to list the filters (0x%X)\n"
IDS_ERROR_LOAD "Failed to load the filter (0x%X)\n"
IDS_ERROR_UNLOAD "Failed to unload the filter (0x%X)\n"
IDS_ERROR_VOLUMES "Failed to list the volumes (0x%X)\n"
END

View File

@@ -5,17 +5,20 @@ BEGIN
IDS_USAGE "\n有效的命令 :\n\
load 加载一个过滤驱动\n\
unload 卸载一个过滤驱动\n\
filters 显示已在系统中注册的过滤驱动列表\n\n"
filters 显示已在系统中注册的过滤驱动列表\n\n\
volumes Lists all volumes\n\n"
IDS_USAGE_LOAD "加载一个过滤驱动\n"
IDS_USAGE_UNLOAD "卸载一个过滤驱动\n"
IDS_USAGE_FILTERS "显示已在系统中注册的过滤驱动列表\n"
IDS_USAGE_VOLUMES "Lists all volumes\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "过滤驱动名称 数目 实例 权值 帧\n"
IDS_DISPLAY_FILTERS2 "过滤驱动名称 数目 实例 帧\n"
IDS_DISPLAY_VOLUMES "Dos Name Volume Name FileSystem Status\n"
END
STRINGTABLE
@@ -24,4 +27,5 @@ BEGIN
IDS_ERROR_FILTERS "无法列举过滤驱动列表 (0x%X)\n"
IDS_ERROR_LOAD "无法加载过滤驱动 (0x%X)\n"
IDS_ERROR_UNLOAD "无法卸载过滤驱动 (0x%X)\n"
IDS_ERROR_VOLUMES "Failed to list the volumes (0x%X)\n"
END

View File

@@ -5,17 +5,20 @@ BEGIN
IDS_USAGE "\nValid commands :\n\
load Loads a Filter driver\n\
unload Unloads a Filter driver\n\
filters Lists the Filters currently registered in the system\n\n"
filters Lists the Filters currently registered in the system\n\n\
volumes Lists all volumes\n\n"
IDS_USAGE_LOAD "Loads a filter driver\n"
IDS_USAGE_UNLOAD "Unloads a filter driver\n"
IDS_USAGE_FILTERS "Lists all registered filters\n"
IDS_USAGE_VOLUMES "Lists all volumes\n"
END
STRINGTABLE
BEGIN
IDS_DISPLAY_FILTERS1 "Filter Name Num Instances Altitude Frame\n"
IDS_DISPLAY_FILTERS2 "Filter Name Num Instances Frame\n"
IDS_DISPLAY_VOLUMES "Dos Name Volume Name FileSystem Status\n"
END
STRINGTABLE
@@ -24,4 +27,5 @@ BEGIN
IDS_ERROR_FILTERS "Failed to list the filters (0x%X)\n"
IDS_ERROR_LOAD "Failed to load the filter (0x%X)\n"
IDS_ERROR_UNLOAD "Failed to unload the filter (0x%X)\n"
IDS_ERROR_VOLUMES "Failed to list the volumes (0x%X)\n"
END

View File

@@ -12,19 +12,19 @@ STRINGTABLE
BEGIN
IDS_INSTALL "安裝"
IDS_PRINT "列印"
IDS_STRING "ReactOS 給所有人一個自由的操作系統! 1234567890"
IDS_OPEN "打開字體..."
IDS_STRING "路曼曼其脩遠兮,吾將上下而求索。1234567890"
IDS_OPEN "開啟字型..."
IDS_ERROR "錯誤"
IDS_ERROR_NOMEM "沒有足夠的記憶體來完成操作。"
IDS_ERROR_NOFONT "%1 不是一個有效的字體檔案。"
IDS_ERROR_NOCLASS "窗無法初始化。"
IDS_FILTER_LIST "所有支援的字 (*.fon;*.fnt;*.ttf;*.ttc;*.otf;*.otc)\0*.fon;*.fnt;*.ttf;*.ttc;*.otf;*.otc\0\
體檔 (*.fon;*.fnt)\0*.fon;*.fnt\0\
TrueType 字 (*.ttf)\0*.ttf\0\
TrueType Font Collection (*.ttc)\0*.ttc\0\
OpenType 字 (*.otf)\0*.otf\0\
OpenType Font Collection (*.otc)\0*.otc\0\
IDS_ERROR_NOCLASS "窗無法初始化。"
IDS_FILTER_LIST "所有支援的字 (*.fon;*.fnt;*.ttf;*.ttc;*.otf;*.otc)\0*.fon;*.fnt;*.ttf;*.ttc;*.otf;*.otc\0\
型檔案 (*.fon;*.fnt)\0*.fon;*.fnt\0\
TrueType 字 (*.ttf)\0*.ttf\0\
TrueType 字型集合 (*.ttc)\0*.ttc\0\
OpenType 字 (*.otf)\0*.otf\0\
OpenType 字型集合 (*.otc)\0*.otc\0\
所有檔 (*.*)\0*.*\0"
IDS_PREVIOUS "< P&revious"
IDS_NEXT "&Next >"
IDS_PREVIOUS "< 上一步(&R)"
IDS_NEXT "下一步(&N) >"
END

View File

@@ -76,7 +76,7 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "結束(&X)", IDM_GAME_EXIT
END
POPUP "幫助(&H)"
POPUP "說明(&H)"
BEGIN
MENUITEM "目錄(&C)\tF1", IDM_HELP_CONTENTS
MENUITEM "關於接龍(&A)", IDM_HELP_ABOUT

View File

@@ -6,7 +6,7 @@ list(APPEND SOURCE
kbsdll.rc
${CMAKE_CURRENT_BINARY_DIR}/kbsdll.def)
add_library(kbsdll SHARED ${SOURCE})
add_library(kbsdll MODULE ${SOURCE})
set_module_type(kbsdll win32dll UNICODE)
add_importlibs(kbsdll user32 comctl32 msvcrt kernel32)
add_cd_file(TARGET kbsdll DESTINATION reactos/system32 FOR all)

View File

@@ -68,8 +68,8 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "OK", IDOK, 193, 76, 50, 14
ICON IDI_ICON, IDC_STATIC, 7, 17, 20, 20
LTEXT "Lupa ma za zadanie dostarczyć podstawowy poziom funkcjonalności dla osób z niewielkimi problemami ze wzrokiem. Użytkownicy ze znaczniejszymi problemami ze wzrokiem mogą być zmuszeni użyć bardziej zaawansowanego narzędzia.", IDC_STATIC, 36, 7, 207, 33
CONTROL "Nie pokazuj więcej tej wiadomości", IDC_SHOWWARNINGCHECK, "Button",
LTEXT "Lupa ma za zadanie zapewnić podstawowy poziom funkcjonalności dla osób z niewielkimi problemami ze wzrokiem. Użytkownicy ze znaczniejszymi problemami ze wzrokiem mogą potrzebować bardziej zaawansowanego narzędzia.", IDC_STATIC, 36, 7, 207, 33
CONTROL "Nie pokazuj więcej tego komunikatu", IDC_SHOWWARNINGCHECK, "Button",
BS_AUTOCHECKBOX | WS_TABSTOP, 43, 80, 137, 10
END

View File

@@ -14,7 +14,7 @@ BEGIN
MENUITEM "נגינה/&השהייה\tCtrl+P", IDC_PLAY
MENUITEM "&עצירה\tCtrl+S", IDC_STOP
MENUITEM SEPARATOR
MENUITEM "&חזרה\tCtrl+T", IDM_REPEAT
MENUITEM "&ניגון חוזר\tCtrl+T", IDM_REPEAT
END
POPUP "&תצוגה"
BEGIN

View File

@@ -53,7 +53,7 @@ END
STRINGTABLE
BEGIN
IDS_MODE_UNKNOWN "未知"
IDS_MODE_OPEN "已開"
IDS_MODE_OPEN "已開"
IDS_MODE_STOP "已停止"
IDS_MODE_PLAY "播放中"
IDS_MODE_PAUSE "已暫停"

View File

@@ -12,6 +12,12 @@
#define MAIN_WINDOW_MIN_WIDTH 250
#define MAX_MCISTR 256
#ifdef UNICODE
#define argv __wargv
#else
#define argv __argv
#endif
HINSTANCE hInstance = NULL;
HWND hTrackBar = NULL;
HWND hToolBar = NULL;
@@ -1537,7 +1543,14 @@ _tWinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPTSTR lpCmdLine, INT nCmdShow)
ShowWindow(hwnd, SW_SHOW);
UpdateWindow(hwnd);
OpenMediaFile(hwnd, lpCmdLine, NULL);
if (*lpCmdLine == _T('"'))
{
OpenMediaFile(hwnd, argv[1], NULL);
}
else
{
OpenMediaFile(hwnd, lpCmdLine, NULL);
}
/* Message Loop */
while (GetMessage(&msg, NULL, 0, 0))

View File

@@ -153,7 +153,7 @@ BEGIN
IDS_TOOLS_INFO_DESCR "顯示版本訊息。"
IDS_TOOLS_INFO_CMD "winver.exe"
IDS_TOOLS_REGEDIT_NAME "登錄表編輯器"
IDS_TOOLS_REGEDIT_DESCR "開登錄表編輯器。"
IDS_TOOLS_REGEDIT_DESCR "開登錄表編輯器。"
IDS_TOOLS_REGEDIT_CMD "regedit.exe"
IDS_TOOLS_SYSDM_NAME "系統內容"
IDS_TOOLS_SYSDM_DESCR "顯示這台電腦的內容"

View File

@@ -21,7 +21,8 @@ HINSTANCE hInst = 0;
HWND hMainWnd; /* Main Window */
HWND hTabWnd; /* Tab Control Window */
UINT uXIcon = 0, uYIcon = 0; /* Icon sizes */
HICON hDialogIcon = NULL;
HICON hDialogIconBig = NULL;
HICON hDialogIconSmall = NULL;
void MsConfig_OnTabWndSelChange(void);
@@ -203,18 +204,25 @@ static
VOID
SetDialogIcon(HWND hDlg)
{
if (hDialogIcon) DestroyIcon(hDialogIcon);
if (hDialogIconBig) DestroyIcon(hDialogIconBig);
if (hDialogIconSmall) DestroyIcon(hDialogIconSmall);
hDialogIcon = LoadImage(GetModuleHandle(NULL),
MAKEINTRESOURCE(IDI_APPICON),
IMAGE_ICON,
uXIcon,
uYIcon,
0);
hDialogIconBig = LoadIconW(GetModuleHandle(NULL),
MAKEINTRESOURCE(IDI_APPICON));
hDialogIconSmall = LoadImage(GetModuleHandle(NULL),
MAKEINTRESOURCE(IDI_APPICON),
IMAGE_ICON,
uXIcon,
uYIcon,
0);
SendMessage(hDlg,
WM_SETICON,
ICON_BIG,
(LPARAM)hDialogIconBig);
SendMessage(hDlg,
WM_SETICON,
ICON_SMALL,
(LPARAM)hDialogIcon);
(LPARAM)hDialogIconSmall);
}
@@ -292,8 +300,10 @@ MsConfigWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
DestroyWindow(hFreeLdrPage);
if (hSystemPage)
DestroyWindow(hSystemPage);
if (hDialogIcon)
DestroyIcon(hDialogIcon);
if (hDialogIconBig)
DestroyIcon(hDialogIconBig);
if (hDialogIconSmall)
DestroyIcon(hDialogIconSmall);
return DefWindowProc(hDlg, message, wParam, lParam);
}

View File

@@ -10,10 +10,6 @@
#define __COMCTL32SUPP_H__
#include <windowsx.h>
/*
#define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp))
#define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp))
*/
#define Button_IsEnabled(hwndCtl) IsWindowEnabled((hwndCtl))

View File

@@ -84,7 +84,7 @@ BEGIN
LTEXT "secunde", IDC_STATIC, 330, 104, 31, 10
CONTROL "&Permanenizează configurația de inițializare", 292,
"Button", BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP, 295, 121, 66, 49
PUSHBUTTON "Ș&terge", IDC_BTN_DELETE, 295, 68, 66, 14
PUSHBUTTON "Șt&erge", IDC_BTN_DELETE, 295, 68, 66, 14
END
IDD_SERVICES_PAGE DIALOGEX 0, 0, 366, 175

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

@@ -314,7 +314,7 @@ BEGIN
IDS_HINT_EDIT " 編輯選定服務的屬性。"
IDS_HINT_CREATE " 創建一個新的服務。"
IDS_HINT_DELETE " 刪除選定的服務。"
IDS_HINT_PROP " 為當前選擇專案開屬性頁。"
IDS_HINT_PROP " 為當前選擇專案開屬性頁。"
IDS_HINT_LARGE " 用大圖示顯示條目。"
IDS_HINT_SMALL " 用小圖示顯示條目。"
IDS_HINT_LIST " 用清單顯示條目。"

View File

@@ -218,6 +218,6 @@ BEGIN
IDS_INTNUMBERS, "Please enter integral numbers only!"
IDS_PERCENTAGE, "The percentage must be between 1 and 500."
IDS_ANGLE, "The angle must be between -89 and 89."
IDS_LOADERRORTEXT, "The file %s could not be loaded."
IDS_LOADERRORTEXT, ".%s לא היה ניתן לטעון את הקובץ"
IDS_ENLARGEPROMPTTEXT "The image in the clipboard is larger than the bitmap.\nWould you like the bitmap enlarged?"
END

View File

@@ -57,7 +57,7 @@ BEGIN
MENUITEM SEPARATOR
POPUP "縮放"
BEGIN
POPUP "用戶自定義"
POPUP "使用者自訂"
BEGIN
MENUITEM "12.5%", IDM_VIEWZOOM125
MENUITEM "25%", IDM_VIEWZOOM25

View File

@@ -16,7 +16,7 @@ BEGIN
ICON "", IDC_LOGONICON, 15, 19, 20, 20
LTEXT "輸入伺服器地址", IDC_STATIC, 47, 24, 81, 8
LTEXT "伺服器:", IDC_STATIC, 47, 41, 25, 8
LTEXT "用戶名", IDC_STATIC, 47, 58, 38, 8
LTEXT "使用者名稱", IDC_STATIC, 47, 58, 38, 8
COMBOBOX IDC_SERVERCOMBO, 79, 39, 141, 13, CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_NAMEEDIT, 79, 55, 141, 14, WS_TABSTOP | ES_AUTOHSCROLL
PUSHBUTTON "儲存", IDC_SAVE, 67, 139, 50, 14

View File

@@ -6,9 +6,11 @@ include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/conutils)
list(APPEND SOURCE
main.c
cmdAccounts.c
cmdComputer.c
cmdConfig.c
cmdContinue.c
cmdGroup.c
cmdHelp.c
cmdHelpMsg.c
cmdLocalGroup.c
cmdPause.c
@@ -17,12 +19,12 @@ list(APPEND SOURCE
cmdStop.c
cmdUse.c
cmdUser.c
help.c
net.h)
add_executable(net ${SOURCE} net.rc)
set_module_type(net win32cui UNICODE)
target_link_libraries(net conutils ${PSEH_LIB})
add_dependencies(net net_msg)
add_importlibs(net advapi32 netapi32 mpr msvcrt kernel32 ntdll)
add_pch(net net.h SOURCE)
add_cd_file(TARGET net DESTINATION reactos/system32 FOR all)

View File

@@ -37,7 +37,7 @@ cmdAccounts(
{
/* Print short syntax help */
ConResPuts(StdOut, IDS_GENERIC_SYNTAX);
ConResPuts(StdOut, IDS_ACCOUNTS_SYNTAX);
PrintNetMessage(MSG_ACCOUNTS_SYNTAX);
return 0;
}
@@ -45,18 +45,8 @@ cmdAccounts(
{
/* Print full help text*/
ConResPuts(StdOut, IDS_GENERIC_SYNTAX);
ConResPuts(StdOut, IDS_ACCOUNTS_SYNTAX);
ConResPuts(StdOut, IDS_ACCOUNTS_HELP_1);
ConResPuts(StdOut, IDS_ACCOUNTS_HELP_2);
ConResPuts(StdOut, IDS_ACCOUNTS_HELP_3);
ConResPuts(StdOut, IDS_ACCOUNTS_HELP_4);
ConResPuts(StdOut, IDS_ACCOUNTS_HELP_5);
ConResPuts(StdOut, IDS_ACCOUNTS_HELP_6);
ConResPuts(StdOut, IDS_ACCOUNTS_HELP_7);
ConResPuts(StdOut, IDS_ACCOUNTS_HELP_8);
ConResPuts(StdOut, IDS_ACCOUNTS_HELP_9);
ConResPuts(StdOut, IDS_ACCOUNTS_HELP_10);
ConResPuts(StdOut, IDS_GENERIC_PAGE);
PrintNetMessage(MSG_ACCOUNTS_SYNTAX);
PrintNetMessage(MSG_ACCOUNTS_HELP);
return 0;
}
@@ -189,36 +179,36 @@ cmdAccounts(
ConResPrintf(StdOut, IDS_ACCOUNTS_LOGOFF_SECONDS, Info0->usrmod0_force_logoff);
ConPuts(StdOut, L"\n");
PrintPaddedResourceString(IDS_ACCOUNTS_MIN_PW_AGE, nPaddedLength);
PrintPaddedMessageString(4572, nPaddedLength);
ConPrintf(StdOut, L"%lu\n", Info0->usrmod0_min_passwd_age / 86400);
PrintPaddedResourceString(IDS_ACCOUNTS_MAX_PW_AGE, nPaddedLength);
PrintPaddedMessageString(4573, nPaddedLength);
ConPrintf(StdOut, L"%lu\n", Info0->usrmod0_max_passwd_age / 86400);
PrintPaddedResourceString(IDS_ACCOUNTS_MIN_PW_LENGTH, nPaddedLength);
PrintPaddedMessageString(4574, nPaddedLength);
ConPrintf(StdOut, L"%lu\n", Info0->usrmod0_min_passwd_len);
PrintPaddedResourceString(IDS_ACCOUNTS_PW_HIST_LENGTH, nPaddedLength);
PrintPaddedMessageString(4575, nPaddedLength);
if (Info0->usrmod0_password_hist_len == 0)
ConResPuts(StdOut, IDS_GENERIC_NONE);
else
ConPrintf(StdOut, L"%lu", Info0->usrmod0_password_hist_len);
ConPuts(StdOut, L"\n");
PrintPaddedResourceString(IDS_ACCOUNTS_LOCKOUT_THRESHOLD, nPaddedLength);
PrintPaddedMessageString(4578, nPaddedLength);
if (Info3->usrmod3_lockout_threshold == 0)
ConResPuts(StdOut, IDS_GENERIC_NEVER);
else
ConPrintf(StdOut, L"%lu", Info3->usrmod3_lockout_threshold);
ConPuts(StdOut, L"\n");
PrintPaddedResourceString(IDS_ACCOUNTS_LOCKOUT_DURATION, nPaddedLength);
PrintPaddedMessageString(4579, nPaddedLength);
ConPrintf(StdOut, L"%lu\n", Info3->usrmod3_lockout_duration / 60);
PrintPaddedResourceString(IDS_ACCOUNTS_LOCKOUT_WINDOW, nPaddedLength);
PrintPaddedMessageString(4580, nPaddedLength);
ConPrintf(StdOut, L"%lu\n", Info3->usrmod3_lockout_observation_window / 60);
PrintPaddedResourceString(IDS_ACCOUNTS_COMPUTER_ROLE, nPaddedLength);
PrintPaddedMessageString(4576, nPaddedLength);
if (Info1->usrmod1_role == UAS_ROLE_PRIMARY)
{
if (ProductType == NtProductLanManNt)

View File

@@ -0,0 +1,146 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS net command
* FILE: base/applications/network/net/cmdComputer.c
* PROGRAMMERS: Eric Kohl <eric.kohl@reactos.org>
*/
#include "net.h"
INT
cmdComputer(
INT argc,
WCHAR **argv)
{
WCHAR ComputerAccountName[MAX_PATH + 2];
WCHAR ComputerPassword[LM20_PWLEN + 1];
USER_INFO_1 UserInfo;
INT i, result = 0;
BOOL bAdd = FALSE;
BOOL bDelete = FALSE;
PWSTR pComputerName = NULL;
NET_API_STATUS Status = NERR_Success;
/*
OSVERSIONINFOEX VersionInfo;
VersionInfo.dwOSVersionInfoSize = sizeof(VersionInfo);
if (!GetVersionEx((LPOSVERSIONINFO)&VersionInfo))
{
PrintErrorMessage(GetLastError());
return 1;
}
if (VersionInfo.wProductType != VER_NT_DOMAIN_CONTROLLER)
{
PrintErrorMessage(3515);
return 1;
}
*/
i = 2;
if (argc > 2 && argv[i][0] == L'\\' && argv[i][1] == L'\\')
{
pComputerName = argv[i];
i++;
}
for (; i < argc; i++)
{
if (_wcsicmp(argv[i], L"help") == 0)
{
/* Print short syntax help */
ConResPuts(StdOut, IDS_GENERIC_SYNTAX);
PrintNetMessage(MSG_COMPUTER_SYNTAX);
return 0;
}
if (_wcsicmp(argv[i], L"/help") == 0)
{
/* Print full help text*/
ConResPuts(StdOut, IDS_GENERIC_SYNTAX);
PrintNetMessage(MSG_COMPUTER_SYNTAX);
PrintNetMessage(MSG_COMPUTER_HELP);
return 0;
}
if (_wcsicmp(argv[i], L"/add") == 0)
{
bAdd = TRUE;
continue;
}
else if (_wcsicmp(argv[i], L"/del") == 0)
{
bDelete = TRUE;
continue;
}
else
{
PrintErrorMessage(3506/*, argv[i]*/);
return 1;
}
}
if (pComputerName == NULL ||
(bAdd == FALSE && bDelete == FALSE) ||
(bAdd == TRUE && bDelete == TRUE))
{
ConResPuts(StdOut, IDS_GENERIC_SYNTAX);
PrintNetMessage(MSG_COMPUTER_SYNTAX);
return 1;
}
/*
* Create the computer account name:
* Skip the leading '\\' and appand a '$'.
*/
wcscpy(ComputerAccountName, &pComputerName[2]);
wcscat(ComputerAccountName, L"$");
if (bAdd)
{
/*
* Create the computer password:
* Skip the leading '\\', shorten to a maximum of 14 characters
* and convert to lower case
*/
wcsncpy(ComputerPassword, &pComputerName[2], LM20_PWLEN);
ComputerPassword[LM20_PWLEN] = UNICODE_NULL;
_wcslwr(ComputerPassword);
/* Set the account data */
UserInfo.usri1_name = ComputerAccountName;
UserInfo.usri1_password = ComputerPassword;
UserInfo.usri1_password_age = 0;
UserInfo.usri1_priv = USER_PRIV_USER;
UserInfo.usri1_home_dir = NULL;
UserInfo.usri1_comment = NULL;
UserInfo.usri1_flags = UF_SCRIPT | UF_WORKSTATION_TRUST_ACCOUNT;
UserInfo.usri1_script_path = NULL;
/* Add the computer account */
Status = NetUserAdd(NULL,
1,
(LPBYTE)&UserInfo,
NULL);
}
else if (bDelete)
{
/* Delete the coputer account */
Status = NetUserDel(NULL,
ComputerAccountName);
}
if (Status == NERR_Success)
{
PrintErrorMessage(ERROR_SUCCESS);
}
else
{
PrintErrorMessage(Status);
result = 1;
}
return result;
}
/* EOF */

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