Zebediah Figura
220b0a7c06
win32u: Do not free user memory when deleting dibs created with NtGdiDdDDICreateDCFromMemory().
...
This fixes a test crash in ddraw:ddraw1 introduced by
7d2a7b94aa
.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-22 22:20:51 +01:00
Zebediah Figura
c1ed24c86e
gdi32/tests: Test whether D3DKMTDestroyDCFromMemory() frees the DC memory.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-22 22:20:50 +01:00
Alexandre Julliard
d2e7a977cf
gdi32/tests: Use the OS/2 last char for the Ansi charset limit.
...
Fixes a test failure with the cmmi10.ttf font.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-14 12:29:24 +01:00
Akihiro Sagawa
0d1b8adc9c
win32u: Use a real family name as otmpFamilyName for substituted face.
...
GetTextFace remains to return the original face name, e.g. MS Shell Dlg.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 11:42:47 +01:00
Akihiro Sagawa
64c31e63b8
gdi32/tests: Test substituted face family name.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 11:42:45 +01:00
Jinoh Kang
9301a9e1f8
gdi32: Calculate effective number of scan lines and truncate bitmap bits for EMR_SETDIBITSTODEVICE.
...
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 10:49:26 +01:00
Jinoh Kang
da126e19e3
gdi32: Allow passing BITMAPINFO with bmiHeader.biSizeImage == 0 for EMF DC.
...
User-facing APIs should accept biSizeImage == 0, and fix it up accordingly.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51834
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 10:49:26 +01:00
Jinoh Kang
03e9b882a2
gdi32: Fix bounding box calculation for EMR_STRETCHDIBITS.
...
rclBounds should denote a closed interval for each axis.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 10:49:26 +01:00
Jinoh Kang
3f7df2a5f6
gdi32/tests: Add tests for recording SetDIBitsToDevice in EMFs.
...
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 10:49:26 +01:00
Jinoh Kang
53617db97a
gdi32/tests: Add tests for recording StretchDIBits in EMFs.
...
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 10:49:26 +01:00
Francisco Casas
379333e3c7
gdi32: Do not sign extend 64-bit gdi handles.
...
Testing on Windows shows typically handles are not sign extended,
however sometimes they are. It's not clear what triggers the change
in behaviour.
Signed-off-by: Francisco Casas <fcasas@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-27 22:40:50 +02:00
Francisco Casas
d85b700df9
gdi32: Avoid integer overflow in the obj map compare fn.
...
Signed-off-by: Francisco Casas <fcasas@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-27 22:40:50 +02:00
Jacek Caban
2cc52c6e45
gdi32: Use DLL forwarding for D3DKMT functions.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:54:52 +02:00
Jacek Caban
c166e9694e
gdi32: Don't export Wine extensions.
...
Link directly to win32u instead.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:54:48 +02:00
Jacek Caban
80df54a407
user32: Link directly to win32u.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:54:42 +02:00
Jacek Caban
5a66203ba5
gdi32: Rename gdidc.c to dc.c.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:54:36 +02:00
Jacek Caban
08f677cadf
win32u: Move ntgdi implementation from gdi32.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Jacek Caban
7757f4ee7e
gdi32: Use __wine_ prefix for Wine ntgdi extensions.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Jacek Caban
f309721d13
gdi32: Use __wine_unix_call interface for Unix library.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Gabriel Ivăncescu
e1948ccc37
gdi32: Create the registry keys recursively, if needed.
...
Fixes a regression introduced by 1cdc74b2d6
when creating new prefixes, as NtCreateKey does not recursively create keys.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 20:09:18 +02:00
Jacek Caban
763d8aa1cd
gdi32: Use local helpers for Unicode conversion in Unix lib.
...
Based on ntdll.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 16:12:29 +02:00
Jacek Caban
6996627353
gdi32: Avoid using RtlOpenCurrentUser.
...
Based on open_hkcu_key.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 16:12:18 +02:00
Jacek Caban
002d59cf44
gdi32: Don't use RtlDosPathNameToNtPathName_U in get_unix_file_name.
...
Paths are already in NT format.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 16:11:59 +02:00
Jacek Caban
f79ed7b41f
gdi32: Use win32u_wcsicmp instead of RtlCompareUnicodeStrings.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 16:11:42 +02:00
Jacek Caban
fb6421f229
gdi32: Use pthread mutex in dib driver.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 16:11:31 +02:00
Jacek Caban
ea65f57aca
gdi32: Use pthread mutex in font.c.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 16:11:22 +02:00
Jacek Caban
9aa1cd06dd
gdi32: Use pthread mutex instead of gdi_section.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 16:11:12 +02:00
Jacek Caban
2e14044691
gdi32: Use pthread mutex in driver.c.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 16:10:45 +02:00
Jacek Caban
fc7420de71
gdi32: Use NtAllocateVirtualMemory to allocate GDI_SHARED_MEMORY.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-01 12:36:10 +02:00
Jacek Caban
01b6ba88d6
gdi32: Use NtAllocateVirtualMemory to alloc DC_ATTR.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-01 12:36:02 +02:00
Jacek Caban
6ea18f6681
gdi32: Use native memory allocators in Unix library.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-01 12:35:54 +02:00
Jacek Caban
9c9f229486
gdi32: Use single get_cptable implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Jacek Caban
6857cb5695
gdi32: Move ntgdi functions to Unix library.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Jacek Caban
ca7998faff
gdi32: Avoid using CRT wide char functions in ntgdi functions.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Jacek Caban
cdfcafafa1
gdi32: Introduce user_callbacks.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Jacek Caban
8ebd516f9b
gdi32: Don't use WideCharToMultiByte in font.c.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Jacek Caban
09362dbf75
gdi32: Use NtGdiOpenDCW for CreateDCW.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Jacek Caban
6342e9217d
gdi32: Remove unused argument from CreateDC driver entry point.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Jacek Caban
bdebdbafe9
gdi32: Get codepages and OS version directly from PEB.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Jacek Caban
0758578dac
gdi32: Don't use wide string literals ntgdi functions.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Jacek Caban
773c20ffd1
gdi32: Fix NT prefix handling in update_external_font_keys.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Jacek Caban
1e8fa197b5
gdi32: Move __wine_get_wgl_driver to driver.c.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:15 +02:00
Jacek Caban
8e40e56b79
gdi32: Read screen DPI config in init_font_options.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:15 +02:00
Jacek Caban
b6e494f568
gdi32: Directly use ntdll in load_registry_fonts.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:15 +02:00
Jacek Caban
b544b74880
gdi32: Directly use ntdll in update_external_font_keys.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:15 +02:00
Jacek Caban
e3d7e1f539
gdi32: Directly use ntdll in load_system_bitmap_fonts and load_file_system_fonts.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:15 +02:00
Jacek Caban
1262b1aeab
gdi32: Directly use ntdll in get_associated_charset_info.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:15 +02:00
Jacek Caban
1cdc74b2d6
gdi32: Directly use ntdll in init_font_options.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:15 +02:00
Jacek Caban
4dbc6a7468
gdi32: Directly use ntdll in update_codepage.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:15 +02:00
Jacek Caban
3671eb4434
gdi32: Directly use ntdll in update_font_system_link_info.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:14 +02:00