Commit graph

83721 commits

Author SHA1 Message Date
Stanislav Motylkov 89ecf32e0b [MSPAINT] Improve wording of IDS_CANTPASTE message
Follow-up of #5349 (9f56e67). CORE-18867
2023-06-18 19:16:17 +03:00
Stanislav Motylkov d614d62b09 [EXPLORER] Update copyright headers 2023-06-18 18:52:02 +03:00
Stanislav Motylkov 21f0095cc4 [IPCONFIG] Update copyright headers 2023-06-18 18:34:39 +03:00
Katayama Hirofumi MZ 8ba330ead2 [MSPAINT] Follow-up of #5349 (9f56e67); Avoid assertion failure
CORE-18867
2023-06-18 20:34:49 +09:00
Katayama Hirofumi MZ 9f56e67bc2
[MSPAINT] Use CF_DIB instead of CF_BITMAP (#5349)
CF_BITMAP is not recommended format for copying. In fact, Win10 won't accept it.
- Use CF_DIB clipboard format instead of CF_BITMAP in copying.
- Use CF_ENHMETAFILE, CF_DIB, or CF_BITMAP in pasting.
- Add BitmapToClipboardDIB, BitmapFromClipboardDIB, and BitmapFromHEMF helper functions to dib.cpp.
- Re-enable paste by fixing the bug that is embugged in the previous commit.
- Enable Cut, Copy, Paste, and Delete on text editing box by modifying OnInitMenuPopup.
- Add IDS_CANTPASTE resource string to show message on paste failure.
CORE-18867
2023-06-18 19:48:20 +09:00
Eric Kohl aaa0cb6724 [IPCONFIG] Use conutils and replace hardcoded strings 2023-06-17 15:23:18 +02:00
Katayama Hirofumi MZ e8c7e30030
[MSPAINT] Establish Undo/Redo management (#5347)
- Painting the canvas is done by overlaying the multiple layers.
- Drawing each overlay is implemented as polymorphism of OOP.
- Refine the Undo/Redo mechanism.
- Some adjustments.
CORE-17969
2023-06-17 21:15:35 +09:00
Thamatip Chitpong b7071f67a8
[TASKMGR] Remove CRTDBG (#5348)
taskmgr doesn't use any CRT allocation. I don't see the point of using it.

This reverts commit 2441e86 .

CORE-18991
2023-06-17 03:33:29 +09:00
Katayama Hirofumi MZ 2f856f6f0d [MSPAINT] Add CachedBufferDIB function and use it
We do caching on buffering paint.
This will improve performance a little.
CORE-18867
2023-06-16 08:05:23 +09:00
Hermès Bélusca-Maïto c706222f3f
[TASKMGR] Fix the license. Turns out it's LGPL-2.1-or-later from the texts.
Caught by Stanislav. Sorry for the oversight!
2023-06-15 19:45:23 +02:00
Hermès Bélusca-Maïto f4735ccc9b
[TASKMGR] Re-include StringSafe usage in trayicon.c (see e.g. 99fb812be) 2023-06-15 13:28:16 +02:00
Hermès Bélusca-Maïto 434798e312
[TASKMGR] Move strsafe.h into precompiled header. 2023-06-15 13:26:32 +02:00
Hermès Bélusca-Maïto 9927163455
[TASKMGR] Reorder page controls to have natural TAB-ordering. 2023-06-15 12:55:27 +02:00
Hermès Bélusca-Maïto 3bdc062fb9
[PSDK][NDK] Update SYSTEM_PERFORMANCE_INFORMATION definition with Win7+ members.
See https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ex/sysinfo/performance.htm
for more information.
2023-06-15 12:55:08 +02:00
Hermès Bélusca-Maïto d5707eefe2
[TASKMGR] High speed update is twice per second, and not every second.
And honour what is also told by the info in the status bar.
2023-06-15 12:45:08 +02:00
Hermès Bélusca-Maïto 2da0506f2a
[TASKMGR] Remove more dead code. 2023-06-15 12:44:37 +02:00
Hermès Bélusca-Maïto 6e77747b30
[TASKMGR] Simplify tray icon code. 2023-06-15 12:44:29 +02:00
Hermès Bélusca-Maïto 0b4c8bdd1c
[TASKMGR] Clamp the values returned from PerfDataGetProcessorUsage() and PerfDataGetProcessorSystemUsage() inside these functions.
It's necessary to make this clamping there so that returned values are
always used consistently in taskmgr, including in places where the
values are directly fetched into other functions.

This is a free adaptation from
Wine commit
a9742b3210c4cec67aca3c0012f3b9504a4368cf
From: Gerald Pfeifer <gerald@pfeifer.com>

taskmgr: Move out-of-domain checking into
PerfDataGetProcessorUsage() and PerfDataGetProcessorSystemUsage().
2023-06-15 12:44:21 +02:00
Hermès Bélusca-Maïto 7b53126375
[TASKMGR] Completely reformat perfpage.c, perfpage.h, procpage.h and trayicon.c
- Rename also these stupidly long "hPerformancePageBlablabla" variables.
- Remove unnecessary global variables in procpage.c/h.
2023-06-15 12:44:13 +02:00
Hermès Bélusca-Maïto da7dcec6a0
[TASKMGR] Reformat the files' headers. Add Valerij in graphctl.c/h who rewrote most of the graph control. 2023-06-15 12:44:01 +02:00
Hermès Bélusca-Maïto 3fc702b588
Revert "[TASKMGR] Follow-up of 'Refactor trayicon.c' (99fb812)"
This reverts commit ec93c2340d.

Revert "[TASKMGR] Refactor trayicon.c"

This reverts commit 99fb812be4.
2023-06-15 12:43:36 +02:00
Katayama Hirofumi MZ 36aea8e56e [TASKMGR] affinity.c: Use _countof instead of sizeof/sizeof
CORE-18991
2023-06-15 16:22:43 +09:00
Katayama Hirofumi MZ 9a6c85f68a [TASKMGR] Fix PerfDataDeallocCommandLineCache
Do not leak memory. CORE-18014
2023-06-15 15:36:19 +09:00
Katayama Hirofumi MZ 7989e3f26c [TASKMGR] GraphCtrl_Dispose: Delete hdcGraph first
The pen might be selected at GraphCtrl_Dispose.
Do not delete a drawing object (pen or brush) while it is still selected into a DC.
CORE-18014
2023-06-15 15:14:32 +09:00
Katayama Hirofumi MZ dc14a9f6e0 [TASKMGR] GraphCtrl: Use DeleteDC instead of DeleteObject to delete inst->hdcGraph
This reduces handle leak.
CORE-18014
2023-06-15 14:55:25 +09:00
Katayama Hirofumi MZ 2441e86963
[TASKMGR] Report any memory leaks on exit (#5340)
Use the power of CRT debug to detect memory leaks.
- Define _CRTDBG_MAP_ALLOC and include <crtdbg.h> after <stdlib.h>.
- Call _CrtSetDbgFlag at prologue of wWinMain.
CORE-18014
2023-06-15 14:27:06 +09:00
Katayama Hirofumi MZ ec93c2340d [TASKMGR] Follow-up of 'Refactor trayicon.c' (99fb812) 2023-06-15 14:18:45 +09:00
Katayama Hirofumi MZ 99fb812be4 [TASKMGR] Refactor trayicon.c 2023-06-15 13:26:20 +09:00
Katayama Hirofumi MZ ad61c574f4 [MSPAINT] Fix two handle leaks
CORE-18867
2023-06-15 10:55:59 +09:00
Katayama Hirofumi MZ 5675604d28 [MSPAINT] CMiniatureWindow: Avoid too small
CORE-18867
2023-06-14 20:17:49 +09:00
Hermès Bélusca-Maïto 61012eb544
[XBOXVMP] Fix in VideoPortGetAccessRanges call: missing Slot parameter.
Contrary to what is (badly) written on MSDN, this parameter is
*mandatory* when the ranges looked for are on a PCI adapter.

Detected when testing with MS Windows' videoprt.sys on XBOX emulator;
thanks to Simone Lombardo for assistance!
2023-06-14 12:10:55 +02:00
Katayama Hirofumi MZ bfd42c67a1
[MSPAINT] Improve CMiniatureWindow (#5337)
- Save the position and size of the miniature window.
- Improve drawing of the miniature window.
- Sync with the canvas.
CORE-18867
2023-06-14 18:51:40 +09:00
Hermès Bélusca-Maïto 113656563a
[HALX86] Minor fixes in HaliFindBusAddressTranslation()
- Remove ContextValue variable. This variable erroneously truncated
  *Context value (that can contain a pointer value) to 32 bits.

- Gracefully fail instead of asserting.
2023-06-14 11:27:24 +02:00
Hermès Bélusca-Maïto 4f41000714
[FLOPPY] "zero" parameters in IoQueryDeviceDescription() call are NULL pointers. 2023-06-14 11:24:47 +02:00
Hermès Bélusca-Maïto 84b4a80beb
[NTOS:IO] Fix some bugs in the IoQueryDeviceDescription helpers (#5320)
- Add missing ExAllocatePool NULL checks.

- Fix order of KeBugCheckEx parameters for PNP_DETECTED_FATAL_ERROR.

- The Controller and Peripheral numbers are zero-based, so if the caller
  wants to inspect controller (or peripheral) zero, let it be so!
  The original code was treating controller number zero for enumerating
  controllers of a given class within the different buses, which is
  wrong. See the diff'ed trace below.
  Tested with Windows' videoprt.sys VideoPortGetDeviceData().

```diff
 IoQueryDeviceDescription()
     BusType:          0xB093C224 (0)
     BusNumber:        0xB093C228 (0)
     ControllerType:   0xF9D01030 (19)
     ControllerNumber: 0xF9D01038 (0)
     PeripheralType:   0x00000000 (4294967295)
     PeripheralNumber: 0x00000000 (4294967295)
     CalloutRoutine:   0xF9CF74E4
     Context:          0xF9D5A340
 --> Query: 0xF9D5A22C

 IopQueryBusDescription(Query: 0xF9D5A22C)
     RootKey: '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM'
     RootKeyHandle: 0x00000598
     KeyIsRoot: TRUE
     Bus: 0xF9D5A290 (4294967295)
     Seen: 'CentralProcessor'
     Seen: 'FloatingPointProcessor'
     Seen: 'MultifunctionAdapter'
     SubRootRegName: '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter'

 IopQueryBusDescription(Query: 0xF9D5A22C)
     RootKey: '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter'
     RootKeyHandle: 0x00000590
     KeyIsRoot: FALSE
     Bus: 0xF9D5A290 (4294967295)
     Seen: '0'
     SubRootRegName: '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter\0'
     Getting bus value: 'Identifier'
     Getting bus value: 'Configuration Data'
     Getting bus value: 'Component Information'
     --> Getting device on Bus #0 : '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter\0'

 IopQueryDeviceDescription(Query: 0xF9D5A22C)
     RootKey: '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter\0'
     RootKeyHandle: 0x00000590
     Bus: 0
-    Enumerating controllers in '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter\0\DisplayController'...
+    Getting controller #0
+    Retrieving controller '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter\0\DisplayController\0'
```
2023-06-14 11:20:56 +02:00
Katayama Hirofumi MZ 318b2e786d [MSPAINT] Trivial improvements
- Use SetPixelV instead of SetPixel.
- BI_RGB is zero.
- Use CS_HREDRAW and CS_VREDRAW.
CORE-18867
2023-06-14 17:42:21 +09:00
Katayama Hirofumi MZ 3b4422b41b [MSPAINT] drawing.cpp: Refactor Erase, Replace and Airbrush 3
CORE-18867
2023-06-14 17:14:41 +09:00
Katayama Hirofumi MZ 0334498068 [MSPAINT] drawing.cpp: Refactor Erase, Replace and Airbrush 2
CORE-18867
2023-06-14 17:03:22 +09:00
Katayama Hirofumi MZ 78c8df8393 [MSPAINT] drawing.cpp: Refactor Erase, Replace and Airbrush
CORE-18867
2023-06-14 16:44:54 +09:00
Katayama Hirofumi MZ 6d9b7f77ad [MSPAINT] mouse.cpp: Use override keywords
CORE-18867
2023-06-14 16:01:10 +09:00
Katayama Hirofumi MZ 2b623c1d04
[MSPAINT] Refactor ImageModel (#5335)
- Unify ImageModel::Insert and ImageModel::CopyPrevious to ImageModel::PushImageForUndo.
- Delete useless stuffs.
- Fix some memory leaks.
- Fix IDM_IMAGECROP.
CORE-17969, CORE-18867
2023-06-13 23:23:48 +09:00
Katayama Hirofumi MZ 70f897e4c9 [FONTVIEW] Add Japanese translation (ja-JP) 2023-06-13 22:04:44 +09:00
Stanislav Motylkov 8d8e81ee7a [FONTVIEW] Update Russian (ru-RU) translation
Addendum to 5ef3f347. CORE-18952
2023-06-13 14:40:46 +03:00
Nikita Piatygorskiy 5ef3f347ad
[FONTVIEW] Make hardcoded messages localizable (#5305)
- Move messages from OnInstall procedure to en-US resource file.
- Applied the same changes to all language files, now it's available
  for translation into other languages.

CORE-18952

Signed-off-by: Nikita Piatygorskiy <generalhammond16@gmail.com>
2023-06-13 14:12:26 +03:00
Stanislav Motylkov 2e836fb339 [FONTVIEW] Formatting only (for PR #5305) 2023-06-13 12:44:46 +03:00
Katayama Hirofumi MZ fa4c3bd560 [MSPAINT] s/HasUndoSteps/CanUndo/ and s/HasRedoSteps/CanRedo/
CORE-18867
2023-06-13 18:24:42 +09:00
Katayama Hirofumi MZ 1a88607387
[MSPAINT] Move selection by arrow keys (#5334)
Improve keyboard usability.
- Add CCanvasWindow::MoveSelection.
- Modify CMainWindow::OnKeyDown.
- If Esc key is pressed, then the selection will land to canvas.
- If any arrow key is pressed, then the selection will move a bit.
CORE-18867
2023-06-13 16:31:18 +09:00
Katayama Hirofumi MZ 0087ea6597 [MSPAINT] Set CC_RGBINIT to CMainWindow::ChooseColor
It had failed to set initial color. CORE-18867
2023-06-13 15:51:52 +09:00
Katayama Hirofumi MZ cb245ff711 [MSPAINT] Scrolled canvas has defects in dragging a selection
CORE-18990, CORE-18867
2023-06-13 14:57:59 +09:00
Katayama Hirofumi MZ 62b6859a67 [MSPAINT] Follow-up of #5332 (9ff9580)
Simplify the epilogue code of CCanvasWindow::OnSetCursor by using bHandle variable. CORE-18867
2023-06-13 14:18:12 +09:00