winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
July 2020
----- 2025 -----
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
1 participants
826 discussions
Start a n
N
ew thread
Gijs Vermeulen : amstream/tests: Fix filter leak in test_add_stream().
by Alexandre Julliard
07 Jul '20
07 Jul '20
Module: wine Branch: master Commit: c8d748749ab8e08a3a18575efcc46fbcf1a70c2e URL:
https://source.winehq.org/git/wine.git/?a=commit;h=c8d748749ab8e08a3a18575e…
Author: Gijs Vermeulen <gijsvrm(a)gmail.com> Date: Tue Jul 7 17:46:47 2020 +0200 amstream/tests: Fix filter leak in test_add_stream(). Signed-off-by: Gijs Vermeulen <gijsvrm(a)gmail.com> Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/amstream/tests/amstream.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/dlls/amstream/tests/amstream.c b/dlls/amstream/tests/amstream.c index 0e9c40d118..2d9f3e35f2 100644 --- a/dlls/amstream/tests/amstream.c +++ b/dlls/amstream/tests/amstream.c @@ -894,8 +894,6 @@ static void test_add_stream(void) hr = IAMMultiMediaStream_GetFilterGraph(mmstream, &graph); ok(hr == S_OK, "Got hr %#x.\n", hr); ok(!!graph, "Got graph %p.\n", graph); - hr = IAMMultiMediaStream_GetFilter(mmstream, &stream_filter); - ok(hr == S_OK, "Got hr %#x.\n", hr); hr = IGraphBuilder_EnumFilters(graph, &enum_filters); ok(hr == S_OK, "Got hr %#x.\n", hr); hr = IEnumFilters_Next(enum_filters, 3, filters, &count); @@ -907,7 +905,7 @@ static void test_add_stream(void) ok(hr == S_OK, "Got hr %#x.\n", hr); ok(IsEqualGUID(&clsid, &CLSID_DSoundRender), "Got unexpected filter %s.\n", wine_dbgstr_guid(&clsid)); IBaseFilter_Release(filters[0]); - IMediaStreamFilter_Release(stream_filter); + IBaseFilter_Release(filters[1]); IEnumFilters_Release(enum_filters); IGraphBuilder_Release(graph); } @@ -919,9 +917,10 @@ static void test_add_stream(void) AMMSF_ADDDEFAULTRENDERER, &audio_stream); ok(hr == E_INVALIDARG, "Got hr %#x.\n", hr); - IMediaStreamFilter_Release(stream_filter); ref = IAMMultiMediaStream_Release(mmstream); ok(!ref, "Got outstanding refcount %d.\n", ref); + ref = IMediaStreamFilter_Release(stream_filter); + ok(!ref, "Got outstanding refcount %d.\n", ref); } static void test_media_streams(void)
1
0
0
0
Rémi Bernon : d3d9: Use WINED3D_SWAPCHAIN_RESTORE_WINDOW_STATE if extended.
by Alexandre Julliard
07 Jul '20
07 Jul '20
Module: wine Branch: master Commit: b2fed1c70b146fd8ce4d7202d57ac78ed0bd310e URL:
https://source.winehq.org/git/wine.git/?a=commit;h=b2fed1c70b146fd8ce4d7202…
Author: Rémi Bernon <rbernon(a)codeweavers.com> Date: Wed Jul 8 00:01:16 2020 +0430 d3d9: Use WINED3D_SWAPCHAIN_RESTORE_WINDOW_STATE if extended. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/d3d9/device.c | 2 ++ dlls/d3d9/tests/d3d9ex.c | 12 ++++-------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c index 0cf9677c97..b92193d46f 100644 --- a/dlls/d3d9/device.c +++ b/dlls/d3d9/device.c @@ -349,6 +349,8 @@ static BOOL wined3d_swapchain_desc_from_d3d9(struct wined3d_swapchain_desc *swap = wined3dformat_from_d3dformat(present_parameters->AutoDepthStencilFormat); swapchain_desc->flags = (present_parameters->Flags & D3DPRESENTFLAGS_MASK) | WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH; + if (extended) + swapchain_desc->flags |= WINED3D_SWAPCHAIN_RESTORE_WINDOW_STATE; if ((present_parameters->Flags & D3DPRESENTFLAG_LOCKABLE_BACKBUFFER) && (is_gdi_compat_wined3dformat(swapchain_desc->backbuffer_format) /* WINED3DFMT_UNKNOWN creates the swapchain with the current diff --git a/dlls/d3d9/tests/d3d9ex.c b/dlls/d3d9/tests/d3d9ex.c index 2836fdd5be..97db3d445c 100644 --- a/dlls/d3d9/tests/d3d9ex.c +++ b/dlls/d3d9/tests/d3d9ex.c @@ -3569,12 +3569,10 @@ static void test_window_style(void) style = GetWindowLongA(device_window, GWL_STYLE); expected_style = device_style; - todo_wine_if (!(tests[i].style_flags & WS_VISIBLE) && !(tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES)) - ok(style == expected_style, "Expected device window style %#x, got %#x, i=%u.\n", - expected_style, style, i); + ok(style == expected_style, "Expected device window style %#x, got %#x, i=%u.\n", + expected_style, style, i); style = GetWindowLongA(device_window, GWL_EXSTYLE); expected_style = device_exstyle; - todo_wine_if (!(tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES)) ok(style == expected_style, "Expected device window extended style %#x, got %#x, i=%u.\n", expected_style, style, i); @@ -3590,12 +3588,10 @@ static void test_window_style(void) style = GetWindowLongA(device_window, GWL_STYLE); expected_style = device_style; - todo_wine_if (!(tests[i].style_flags & WS_VISIBLE) && !(tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES)) - ok(style == expected_style, "Expected device window style %#x, got %#x, i=%u.\n", - expected_style, style, i); + ok(style == expected_style, "Expected device window style %#x, got %#x, i=%u.\n", + expected_style, style, i); style = GetWindowLongA(device_window, GWL_EXSTYLE); expected_style = device_exstyle; - todo_wine_if (!(tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES)) ok(style == expected_style, "Expected device window extended style %#x, got %#x, i=%u.\n", expected_style, style, i);
1
0
0
0
Gabriel Ivăncescu : wined3d: Restore the window visibility and z-order upon exiting fullscreen, if requested.
by Alexandre Julliard
07 Jul '20
07 Jul '20
Module: wine Branch: master Commit: 0f024390cae991a225d88a6d70d05fde67c99422 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=0f024390cae991a225d88a6d…
Author: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Date: Wed Jul 8 00:01:15 2020 +0430 wined3d: Restore the window visibility and z-order upon exiting fullscreen, if requested. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dxgi/tests/dxgi.c | 2 -- dlls/dxgi/utils.c | 3 ++- dlls/wined3d/swapchain.c | 11 ++++++++++- include/wine/wined3d.h | 1 + 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/dlls/dxgi/tests/dxgi.c b/dlls/dxgi/tests/dxgi.c index 92d65c8b4a..ea896260c7 100644 --- a/dlls/dxgi/tests/dxgi.c +++ b/dlls/dxgi/tests/dxgi.c @@ -5888,10 +5888,8 @@ static void test_swapchain_window_styles(void) style = GetWindowLongA(swapchain_desc.OutputWindow, GWL_STYLE); exstyle = GetWindowLongA(swapchain_desc.OutputWindow, GWL_EXSTYLE); - todo_wine_if(!(tests[i].expected_style & WS_VISIBLE)) ok(style == tests[i].expected_style, "Test %u: Got style %#x, expected %#x.\n", i, style, tests[i].expected_style); - todo_wine_if(!(tests[i].expected_exstyle & WS_EX_TOPMOST)) ok(exstyle == tests[i].expected_exstyle, "Test %u: Got exstyle %#x, expected %#x.\n", i, exstyle, tests[i].expected_exstyle); diff --git a/dlls/dxgi/utils.c b/dlls/dxgi/utils.c index ca87e3c194..6c49d4539c 100644 --- a/dlls/dxgi/utils.c +++ b/dlls/dxgi/utils.c @@ -513,7 +513,8 @@ unsigned int wined3d_bind_flags_from_dxgi_usage(DXGI_USAGE dxgi_usage) } #define DXGI_WINED3D_SWAPCHAIN_FLAGS \ - (WINED3D_SWAPCHAIN_USE_CLOSEST_MATCHING_MODE | WINED3D_SWAPCHAIN_RESTORE_WINDOW_RECT | WINED3D_SWAPCHAIN_HOOK) + (WINED3D_SWAPCHAIN_USE_CLOSEST_MATCHING_MODE | WINED3D_SWAPCHAIN_RESTORE_WINDOW_RECT \ + | WINED3D_SWAPCHAIN_HOOK | WINED3D_SWAPCHAIN_RESTORE_WINDOW_STATE) unsigned int dxgi_swapchain_flags_from_wined3d(unsigned int wined3d_flags) { diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c index a51b934af0..6270c363bb 100644 --- a/dlls/wined3d/swapchain.c +++ b/dlls/wined3d/swapchain.c @@ -2112,6 +2112,7 @@ void wined3d_swapchain_state_restore_from_fullscreen(struct wined3d_swapchain_st HWND window, const RECT *window_rect) { unsigned int window_pos_flags = SWP_FRAMECHANGED | SWP_NOZORDER | SWP_NOACTIVATE; + HWND window_pos_after = NULL; LONG style, exstyle; RECT rect = {0}; BOOL filter; @@ -2119,6 +2120,14 @@ void wined3d_swapchain_state_restore_from_fullscreen(struct wined3d_swapchain_st if (!state->style && !state->exstyle) return; + if ((state->desc.flags & WINED3D_SWAPCHAIN_RESTORE_WINDOW_STATE) + && !(state->desc.flags & WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES)) + { + window_pos_after = (state->exstyle & WS_EX_TOPMOST) ? HWND_TOPMOST : HWND_NOTOPMOST; + window_pos_flags |= (state->style & WS_VISIBLE) ? SWP_SHOWWINDOW : SWP_HIDEWINDOW; + window_pos_flags &= ~SWP_NOZORDER; + } + style = GetWindowLongW(window, GWL_STYLE); exstyle = GetWindowLongW(window, GWL_EXSTYLE); @@ -2150,7 +2159,7 @@ void wined3d_swapchain_state_restore_from_fullscreen(struct wined3d_swapchain_st rect = *window_rect; else window_pos_flags |= (SWP_NOMOVE | SWP_NOSIZE); - SetWindowPos(window, 0, rect.left, rect.top, + SetWindowPos(window, window_pos_after, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, window_pos_flags); wined3d_filter_messages(window, filter); diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h index 0d40d38c56..69fcce4576 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h @@ -906,6 +906,7 @@ enum wined3d_shader_type #define WINED3D_SWAPCHAIN_IMPLICIT 0x00010000u #define WINED3D_SWAPCHAIN_HOOK 0x00020000u #define WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES 0x00040000u +#define WINED3D_SWAPCHAIN_RESTORE_WINDOW_STATE 0x00080000u #define WINED3DDP_MAXTEXCOORD 8
1
0
0
0
Rémi Bernon : ddraw: Use the WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES flag.
by Alexandre Julliard
07 Jul '20
07 Jul '20
Module: wine Branch: master Commit: f90d607c67768f19e36d9d74b498594252faa3fd URL:
https://source.winehq.org/git/wine.git/?a=commit;h=f90d607c67768f19e36d9d74…
Author: Rémi Bernon <rbernon(a)codeweavers.com> Date: Wed Jul 8 00:01:14 2020 +0430 ddraw: Use the WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES flag. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/ddraw/ddraw.c | 3 ++- dlls/ddraw/tests/ddraw1.c | 4 ++-- dlls/ddraw/tests/ddraw2.c | 4 ++-- dlls/ddraw/tests/ddraw4.c | 4 ++-- dlls/ddraw/tests/ddraw7.c | 4 ++-- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c index e92ac25c40..3cbde6ea84 100644 --- a/dlls/ddraw/ddraw.c +++ b/dlls/ddraw/ddraw.c @@ -572,7 +572,8 @@ static HRESULT ddraw_attach_d3d_device(struct ddraw *ddraw, HWND window, swapchain_desc.swap_effect = WINED3D_SWAP_EFFECT_DISCARD; swapchain_desc.device_window = window; swapchain_desc.windowed = windowed; - swapchain_desc.flags = WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH | WINED3D_SWAPCHAIN_IMPLICIT; + swapchain_desc.flags = WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH + | WINED3D_SWAPCHAIN_IMPLICIT | WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES; if (ddraw->flags & DDRAW_NO3D) return wined3d_swapchain_create(ddraw->wined3d_device, &swapchain_desc, diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c index 82d8e94b5f..652e52a05c 100644 --- a/dlls/ddraw/tests/ddraw1.c +++ b/dlls/ddraw/tests/ddraw1.c @@ -2509,9 +2509,9 @@ static void test_window_style(void) ok(SUCCEEDED(hr), "SetCooperativeLevel failed, hr %#x.\n", hr); tmp = GetWindowLongA(window, GWL_STYLE); - todo_wine ok(tmp == style, "Expected window style %#x, got %#x.\n", style, tmp); + ok(tmp == style, "Expected window style %#x, got %#x.\n", style, tmp); tmp = GetWindowLongA(window, GWL_EXSTYLE); - todo_wine ok(tmp == exstyle, "Expected window extended style %#x, got %#x.\n", exstyle, tmp); + ok(tmp == exstyle, "Expected window extended style %#x, got %#x.\n", exstyle, tmp); ShowWindow(window, SW_SHOW); hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c index 1d358e192c..edaf868900 100644 --- a/dlls/ddraw/tests/ddraw2.c +++ b/dlls/ddraw/tests/ddraw2.c @@ -2562,9 +2562,9 @@ static void test_window_style(void) ok(SUCCEEDED(hr), "SetCooperativeLevel failed, hr %#x.\n", hr); tmp = GetWindowLongA(window, GWL_STYLE); - todo_wine ok(tmp == style, "Expected window style %#x, got %#x.\n", style, tmp); + ok(tmp == style, "Expected window style %#x, got %#x.\n", style, tmp); tmp = GetWindowLongA(window, GWL_EXSTYLE); - todo_wine ok(tmp == exstyle, "Expected window extended style %#x, got %#x.\n", exstyle, tmp); + ok(tmp == exstyle, "Expected window extended style %#x, got %#x.\n", exstyle, tmp); ShowWindow(window, SW_SHOW); hr = IDirectDraw2_SetCooperativeLevel(ddraw, window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c index 21195b1a22..d1abde05ca 100644 --- a/dlls/ddraw/tests/ddraw4.c +++ b/dlls/ddraw/tests/ddraw4.c @@ -2803,9 +2803,9 @@ static void test_window_style(void) ok(SUCCEEDED(hr), "SetCooperativeLevel failed, hr %#x.\n", hr); tmp = GetWindowLongA(window, GWL_STYLE); - todo_wine ok(tmp == style, "Expected window style %#x, got %#x.\n", style, tmp); + ok(tmp == style, "Expected window style %#x, got %#x.\n", style, tmp); tmp = GetWindowLongA(window, GWL_EXSTYLE); - todo_wine ok(tmp == exstyle, "Expected window extended style %#x, got %#x.\n", exstyle, tmp); + ok(tmp == exstyle, "Expected window extended style %#x, got %#x.\n", exstyle, tmp); ShowWindow(window, SW_SHOW); hr = IDirectDraw4_SetCooperativeLevel(ddraw, window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c index 15f552f88e..13eadfdf13 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c @@ -2451,9 +2451,9 @@ static void test_window_style(void) ok(SUCCEEDED(hr), "SetCooperativeLevel failed, hr %#x.\n", hr); tmp = GetWindowLongA(window, GWL_STYLE); - todo_wine ok(tmp == style, "Expected window style %#x, got %#x.\n", style, tmp); + ok(tmp == style, "Expected window style %#x, got %#x.\n", style, tmp); tmp = GetWindowLongA(window, GWL_EXSTYLE); - todo_wine ok(tmp == exstyle, "Expected window extended style %#x, got %#x.\n", exstyle, tmp); + ok(tmp == exstyle, "Expected window extended style %#x, got %#x.\n", exstyle, tmp); ShowWindow(window, SW_SHOW); hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN);
1
0
0
0
Gabriel Ivăncescu : wined3d: Don't show the window if no window changes were requested.
by Alexandre Julliard
07 Jul '20
07 Jul '20
Module: wine Branch: master Commit: e041ff1f91f2143c9710b70cbdc128c9a40e7a09 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=e041ff1f91f2143c9710b70c…
Author: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Date: Wed Jul 8 00:01:13 2020 +0430 wined3d: Don't show the window if no window changes were requested. Based on a patch by Rémi Bernon. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/d3d9/tests/d3d9ex.c | 4 ++-- dlls/d3d9/tests/device.c | 5 ++--- dlls/wined3d/swapchain.c | 4 +++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/dlls/d3d9/tests/d3d9ex.c b/dlls/d3d9/tests/d3d9ex.c index 76565c4ec2..2836fdd5be 100644 --- a/dlls/d3d9/tests/d3d9ex.c +++ b/dlls/d3d9/tests/d3d9ex.c @@ -3569,7 +3569,7 @@ static void test_window_style(void) style = GetWindowLongA(device_window, GWL_STYLE); expected_style = device_style; - todo_wine_if (!(tests[i].style_flags & WS_VISIBLE)) + todo_wine_if (!(tests[i].style_flags & WS_VISIBLE) && !(tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES)) ok(style == expected_style, "Expected device window style %#x, got %#x, i=%u.\n", expected_style, style, i); style = GetWindowLongA(device_window, GWL_EXSTYLE); @@ -3590,7 +3590,7 @@ static void test_window_style(void) style = GetWindowLongA(device_window, GWL_STYLE); expected_style = device_style; - todo_wine_if (!(tests[i].style_flags & WS_VISIBLE)) + todo_wine_if (!(tests[i].style_flags & WS_VISIBLE) && !(tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES)) ok(style == expected_style, "Expected device window style %#x, got %#x, i=%u.\n", expected_style, style, i); style = GetWindowLongA(device_window, GWL_EXSTYLE); diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c index 14ca12ecd8..53a83ad887 100644 --- a/dlls/d3d9/tests/device.c +++ b/dlls/d3d9/tests/device.c @@ -5020,9 +5020,8 @@ static void test_window_style(void) style = GetWindowLongA(device_window, GWL_STYLE); expected_style = device_style | tests[i].style; - todo_wine_if ((tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES) && !(tests[i].create_style & WS_VISIBLE)) - ok(style == expected_style, "Expected device window style %#x, got %#x, i=%u.\n", - expected_style, style, i); + ok(style == expected_style, "Expected device window style %#x, got %#x, i=%u.\n", + expected_style, style, i); style = GetWindowLongA(device_window, GWL_EXSTYLE); expected_style = device_exstyle | tests[i].exstyle; todo_wine_if (!(tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES) && (tests[i].create_style & WS_VISIBLE)) diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c index 00d51d6f6d..a51b934af0 100644 --- a/dlls/wined3d/swapchain.c +++ b/dlls/wined3d/swapchain.c @@ -2065,7 +2065,7 @@ static LONG fullscreen_exstyle(LONG exstyle) HRESULT wined3d_swapchain_state_setup_fullscreen(struct wined3d_swapchain_state *state, HWND window, int x, int y, int width, int height) { - unsigned int window_pos_flags = SWP_FRAMECHANGED | SWP_SHOWWINDOW | SWP_NOACTIVATE; + unsigned int window_pos_flags = SWP_FRAMECHANGED | SWP_NOACTIVATE; LONG style, exstyle; BOOL filter; @@ -2085,6 +2085,8 @@ HRESULT wined3d_swapchain_state_setup_fullscreen(struct wined3d_swapchain_state if (state->desc.flags & WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES) window_pos_flags |= SWP_NOZORDER; + else + window_pos_flags |= SWP_SHOWWINDOW; state->style = GetWindowLongW(window, GWL_STYLE); state->exstyle = GetWindowLongW(window, GWL_EXSTYLE);
1
0
0
0
Gabriel Ivăncescu : wined3d: Don't change the swapchain window z-order if no window changes were requested.
by Alexandre Julliard
07 Jul '20
07 Jul '20
Module: wine Branch: master Commit: 7c0e2a0ca6c8423e886871fd853d9c39bbdeae14 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=7c0e2a0ca6c8423e886871fd…
Author: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Date: Wed Jul 8 00:01:12 2020 +0430 wined3d: Don't change the swapchain window z-order if no window changes were requested. Based on a patch by Rémi Bernon. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/d3d9/device.c | 6 ++++++ dlls/d3d9/tests/d3d9ex.c | 6 ++++-- dlls/d3d9/tests/device.c | 2 +- dlls/wined3d/swapchain.c | 7 +++++-- include/wine/wined3d.h | 1 + 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c index 9b1dac0b58..0cf9677c97 100644 --- a/dlls/d3d9/device.c +++ b/dlls/d3d9/device.c @@ -886,6 +886,7 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH d3d9_device_CreateAdditionalSwapChain(ID D3DPRESENT_PARAMETERS *present_parameters, IDirect3DSwapChain9 **swapchain) { struct d3d9_device *device = impl_from_IDirect3DDevice9Ex(iface); + struct wined3d_device_creation_parameters creation_parameters; struct wined3d_swapchain_desc desc; struct d3d9_swapchain *object; unsigned int swap_interval; @@ -924,6 +925,9 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH d3d9_device_CreateAdditionalSwapChain(ID if (!wined3d_swapchain_desc_from_d3d9(&desc, device->d3d_parent->wined3d_outputs[output_idx], present_parameters, device->d3d_parent->extended)) return D3DERR_INVALIDCALL; + wined3d_device_get_creation_parameters(device->wined3d_device, &creation_parameters); + if (creation_parameters.flags & WINED3DCREATE_NOWINDOWCHANGES) + desc.flags |= WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES; swap_interval = wined3dswapinterval_from_d3d(present_parameters->PresentationInterval); if (SUCCEEDED(hr = d3d9_swapchain_create(device, &desc, swap_interval, &object))) *swapchain = (IDirect3DSwapChain9 *)&object->IDirect3DSwapChain9Ex_iface; @@ -4780,6 +4784,8 @@ HRESULT device_init(struct d3d9_device *device, struct d3d9 *parent, struct wine return D3DERR_INVALIDCALL; } swapchain_desc[i].flags |= WINED3D_SWAPCHAIN_IMPLICIT; + if (flags & D3DCREATE_NOWINDOWCHANGES) + swapchain_desc[i].flags |= WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES; } if (FAILED(hr = d3d9_swapchain_create(device, swapchain_desc, diff --git a/dlls/d3d9/tests/d3d9ex.c b/dlls/d3d9/tests/d3d9ex.c index f475d55cc8..76565c4ec2 100644 --- a/dlls/d3d9/tests/d3d9ex.c +++ b/dlls/d3d9/tests/d3d9ex.c @@ -3574,7 +3574,8 @@ static void test_window_style(void) expected_style, style, i); style = GetWindowLongA(device_window, GWL_EXSTYLE); expected_style = device_exstyle; - todo_wine ok(style == expected_style, "Expected device window extended style %#x, got %#x, i=%u.\n", + todo_wine_if (!(tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES)) + ok(style == expected_style, "Expected device window extended style %#x, got %#x, i=%u.\n", expected_style, style, i); style = GetWindowLongA(focus_window, GWL_STYLE); @@ -3594,7 +3595,8 @@ static void test_window_style(void) expected_style, style, i); style = GetWindowLongA(device_window, GWL_EXSTYLE); expected_style = device_exstyle; - todo_wine ok(style == expected_style, "Expected device window extended style %#x, got %#x, i=%u.\n", + todo_wine_if (!(tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES)) + ok(style == expected_style, "Expected device window extended style %#x, got %#x, i=%u.\n", expected_style, style, i); style = GetWindowLongA(focus_window, GWL_STYLE); diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c index a15c04fa45..14ca12ecd8 100644 --- a/dlls/d3d9/tests/device.c +++ b/dlls/d3d9/tests/device.c @@ -5025,7 +5025,7 @@ static void test_window_style(void) expected_style, style, i); style = GetWindowLongA(device_window, GWL_EXSTYLE); expected_style = device_exstyle | tests[i].exstyle; - todo_wine_if ((tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES) || (tests[i].create_style & WS_VISIBLE)) + todo_wine_if (!(tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES) && (tests[i].create_style & WS_VISIBLE)) ok(style == expected_style, "Expected device window extended style %#x, got %#x, i=%u.\n", expected_style, style, i); diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c index e9d62728b4..00d51d6f6d 100644 --- a/dlls/wined3d/swapchain.c +++ b/dlls/wined3d/swapchain.c @@ -2065,6 +2065,7 @@ static LONG fullscreen_exstyle(LONG exstyle) HRESULT wined3d_swapchain_state_setup_fullscreen(struct wined3d_swapchain_state *state, HWND window, int x, int y, int width, int height) { + unsigned int window_pos_flags = SWP_FRAMECHANGED | SWP_SHOWWINDOW | SWP_NOACTIVATE; LONG style, exstyle; BOOL filter; @@ -2082,6 +2083,9 @@ HRESULT wined3d_swapchain_state_setup_fullscreen(struct wined3d_swapchain_state window, state->style, state->exstyle); } + if (state->desc.flags & WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES) + window_pos_flags |= SWP_NOZORDER; + state->style = GetWindowLongW(window, GWL_STYLE); state->exstyle = GetWindowLongW(window, GWL_EXSTYLE); @@ -2095,8 +2099,7 @@ HRESULT wined3d_swapchain_state_setup_fullscreen(struct wined3d_swapchain_state SetWindowLongW(window, GWL_STYLE, style); SetWindowLongW(window, GWL_EXSTYLE, exstyle); - SetWindowPos(window, HWND_TOPMOST, x, y, width, height, - SWP_FRAMECHANGED | SWP_SHOWWINDOW | SWP_NOACTIVATE); + SetWindowPos(window, HWND_TOPMOST, x, y, width, height, window_pos_flags); wined3d_filter_messages(window, filter); diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h index 346d1d0dfa..0d40d38c56 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h @@ -905,6 +905,7 @@ enum wined3d_shader_type #define WINED3D_SWAPCHAIN_GDI_COMPATIBLE 0x00008000u #define WINED3D_SWAPCHAIN_IMPLICIT 0x00010000u #define WINED3D_SWAPCHAIN_HOOK 0x00020000u +#define WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES 0x00040000u #define WINED3DDP_MAXTEXCOORD 8
1
0
0
0
Rémi Bernon : d3d9/tests: Add more visibility tests.
by Alexandre Julliard
07 Jul '20
07 Jul '20
Module: wine Branch: master Commit: b1fe20d100d60a3208ae03e04b06f1ab89875c62 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=b1fe20d100d60a3208ae03e0…
Author: Rémi Bernon <rbernon(a)codeweavers.com> Date: Wed Jul 8 00:01:11 2020 +0430 d3d9/tests: Add more visibility tests. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/d3d9/tests/device.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c index 41cfc1519c..a15c04fa45 100644 --- a/dlls/d3d9/tests/device.c +++ b/dlls/d3d9/tests/device.c @@ -4939,12 +4939,14 @@ static void test_window_style(void) static const struct { DWORD device_flags; - LONG style, focus_loss_style, exstyle; + LONG create_style, style, focus_loss_style, exstyle, focus_loss_exstyle; } tests[] = { - {0, WS_VISIBLE, WS_MINIMIZE, WS_EX_TOPMOST}, - {CREATE_DEVICE_NOWINDOWCHANGES, 0, 0, 0}, + {0, 0, WS_VISIBLE, WS_MINIMIZE, WS_EX_TOPMOST, WS_EX_TOPMOST}, + {0, WS_VISIBLE, WS_VISIBLE, WS_MINIMIZE, 0, WS_EX_TOPMOST}, + {CREATE_DEVICE_NOWINDOWCHANGES, 0, 0, 0, 0, 0}, + {CREATE_DEVICE_NOWINDOWCHANGES, WS_VISIBLE, WS_VISIBLE, 0, 0, 0}, }; unsigned int i; @@ -4954,9 +4956,9 @@ static void test_window_style(void) for (i = 0; i < ARRAY_SIZE(tests); ++i) { - focus_window = CreateWindowA("d3d9_test_wc", "d3d9_test", WS_OVERLAPPEDWINDOW, + focus_window = CreateWindowA("d3d9_test_wc", "d3d9_test", WS_OVERLAPPEDWINDOW | tests[i].create_style, 0, 0, registry_mode.dmPelsWidth / 2, registry_mode.dmPelsHeight / 2, 0, 0, 0, 0); - device_window = CreateWindowA("d3d9_test_wc", "d3d9_test", WS_OVERLAPPEDWINDOW, + device_window = CreateWindowA("d3d9_test_wc", "d3d9_test", WS_OVERLAPPEDWINDOW | tests[i].create_style, 0, 0, registry_mode.dmPelsWidth / 2, registry_mode.dmPelsHeight / 2, 0, 0, 0, 0); device_style = GetWindowLongA(device_window, GWL_STYLE); @@ -5018,12 +5020,12 @@ static void test_window_style(void) style = GetWindowLongA(device_window, GWL_STYLE); expected_style = device_style | tests[i].style; - todo_wine_if (tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES) + todo_wine_if ((tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES) && !(tests[i].create_style & WS_VISIBLE)) ok(style == expected_style, "Expected device window style %#x, got %#x, i=%u.\n", expected_style, style, i); style = GetWindowLongA(device_window, GWL_EXSTYLE); expected_style = device_exstyle | tests[i].exstyle; - todo_wine_if (tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES) + todo_wine_if ((tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES) || (tests[i].create_style & WS_VISIBLE)) ok(style == expected_style, "Expected device window extended style %#x, got %#x, i=%u.\n", expected_style, style, i); @@ -5045,7 +5047,7 @@ static void test_window_style(void) todo_wine ok(style == expected_style, "Expected device window style %#x, got %#x, i=%u.\n", expected_style, style, i); style = GetWindowLongA(device_window, GWL_EXSTYLE); - expected_style = device_exstyle | tests[i].exstyle; + expected_style = device_exstyle | tests[i].focus_loss_exstyle | tests[i].exstyle; todo_wine ok(style == expected_style, "Expected device window extended style %#x, got %#x, i=%u.\n", expected_style, style, i);
1
0
0
0
Rémi Bernon : d3d9/tests: Check device window rect after reset.
by Alexandre Julliard
07 Jul '20
07 Jul '20
Module: wine Branch: master Commit: d2fa9e382f2edc28ce8291df07fb0c62199f88e1 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=d2fa9e382f2edc28ce8291df…
Author: Rémi Bernon <rbernon(a)codeweavers.com> Date: Wed Jul 8 00:01:10 2020 +0430 d3d9/tests: Check device window rect after reset. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/d3d9/tests/d3d9ex.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dlls/d3d9/tests/d3d9ex.c b/dlls/d3d9/tests/d3d9ex.c index dab5cf6d8d..f475d55cc8 100644 --- a/dlls/d3d9/tests/d3d9ex.c +++ b/dlls/d3d9/tests/d3d9ex.c @@ -3559,6 +3559,14 @@ static void test_window_style(void) hr = reset_device(device, &device_desc); ok(SUCCEEDED(hr), "Failed to reset device, hr %#x.\n", hr); + GetWindowRect(device_window, &r); + if (tests[i].device_flags & CREATE_DEVICE_NOWINDOWCHANGES) + todo_wine ok(EqualRect(&r, &device_rect), "Expected %s, got %s, i=%u.\n", + wine_dbgstr_rect(&device_rect), wine_dbgstr_rect(&r), i); + else + ok(EqualRect(&r, &fullscreen_rect), "Expected %s, got %s, i=%u.\n", + wine_dbgstr_rect(&fullscreen_rect), wine_dbgstr_rect(&r), i); + style = GetWindowLongA(device_window, GWL_STYLE); expected_style = device_style; todo_wine_if (!(tests[i].style_flags & WS_VISIBLE))
1
0
0
0
Rémi Bernon : dxgi/tests: Add more complete window style checks.
by Alexandre Julliard
07 Jul '20
07 Jul '20
Module: wine Branch: master Commit: f3bb21e80de5ccce71c5600d53aae70111376c65 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=f3bb21e80de5ccce71c5600d…
Author: Rémi Bernon <rbernon(a)codeweavers.com> Date: Wed Jul 8 00:01:09 2020 +0430 dxgi/tests: Add more complete window style checks. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dxgi/tests/dxgi.c | 86 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 76 insertions(+), 10 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=f3bb21e80de5ccce71c5…
1
0
0
0
Paul Gofman : ntdll: Use case sensitive search for \??\unix file names only.
by Alexandre Julliard
07 Jul '20
07 Jul '20
Module: wine Branch: master Commit: 8898a6951988c95db3e92146b948a3b2aed08fd2 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=8898a6951988c95db3e92146…
Author: Paul Gofman <pgofman(a)codeweavers.com> Date: Fri Jun 26 15:26:55 2020 +0300 ntdll: Use case sensitive search for \??\unix file names only. Fixes crash on start in Planet Zoo and Jurassic World Evolution. Signed-off-by: Paul Gofman <pgofman(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/kernel32/path.c | 4 ++-- dlls/ntdll/directory.c | 4 ++-- dlls/ntdll/ntdll.spec | 2 +- dlls/ntdll/tests/file.c | 2 +- dlls/ntdll/unix/file.c | 8 ++++---- dlls/ntdll/unix/loader.c | 2 +- dlls/ntdll/unix/process.c | 2 +- dlls/ntdll/unix/unix_private.h | 2 +- dlls/ntdll/unixlib.h | 4 ++-- include/winternl.h | 2 +- 10 files changed, 16 insertions(+), 16 deletions(-) diff --git a/dlls/kernel32/path.c b/dlls/kernel32/path.c index 0f075d0af1..db2c1fb024 100644 --- a/dlls/kernel32/path.c +++ b/dlls/kernel32/path.c @@ -263,7 +263,7 @@ BOOL WINAPI RemoveDirectoryW( LPCWSTR path ) return FALSE; } - status = wine_nt_to_unix_file_name( &nt_name, &unix_name, FILE_OPEN, FALSE ); + status = wine_nt_to_unix_file_name( &nt_name, &unix_name, FILE_OPEN ); RtlFreeUnicodeString( &nt_name ); if (!set_ntstatus( status )) { @@ -342,7 +342,7 @@ char * CDECL wine_get_unix_file_name( LPCWSTR dosW ) NTSTATUS status; if (!RtlDosPathNameToNtPathName_U( dosW, &nt_name, NULL, NULL )) return NULL; - status = wine_nt_to_unix_file_name( &nt_name, &unix_name, FILE_OPEN_IF, FALSE ); + status = wine_nt_to_unix_file_name( &nt_name, &unix_name, FILE_OPEN_IF ); RtlFreeUnicodeString( &nt_name ); if (status && status != STATUS_NO_SUCH_FILE) { diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c index e0b3a9e955..6c78203981 100644 --- a/dlls/ntdll/directory.c +++ b/dlls/ntdll/directory.c @@ -111,9 +111,9 @@ NTSTATUS WINAPI DECLSPEC_HOTPATCH NtQueryDirectoryFile( HANDLE handle, HANDLE ev * returned, but the unix name is still filled in properly. */ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRING *unix_name_ret, - UINT disposition, BOOLEAN check_case ) + UINT disposition ) { - return unix_funcs->nt_to_unix_file_name( nameW, unix_name_ret, disposition, check_case ); + return unix_funcs->nt_to_unix_file_name( nameW, unix_name_ret, disposition ); } diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index ef38613a4e..3f28e3d5ea 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -1604,5 +1604,5 @@ @ cdecl __wine_get_unix_codepage() # Filesystem -@ cdecl wine_nt_to_unix_file_name(ptr ptr long long) +@ cdecl wine_nt_to_unix_file_name(ptr ptr long) @ cdecl wine_unix_to_nt_file_name(ptr ptr) diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index 184b7cdad5..9e65a1f6dd 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -349,7 +349,7 @@ static void open_file_test(void) attr.Length = sizeof(attr); attr.RootDirectory = 0; attr.ObjectName = &nameW; - attr.Attributes = OBJ_CASE_INSENSITIVE; + attr.Attributes = 0; attr.SecurityDescriptor = NULL; attr.SecurityQualityOfService = NULL; status = pNtOpenFile( &dir, SYNCHRONIZE|FILE_LIST_DIRECTORY, &attr, &io, diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c index 223c863dca..61340a0e01 100644 --- a/dlls/ntdll/unix/file.c +++ b/dlls/ntdll/unix/file.c @@ -3248,10 +3248,9 @@ static NTSTATUS nt_to_unix_file_name_attr( const OBJECT_ATTRIBUTES *attr, ANSI_S char *unix_name; int name_len, unix_len; NTSTATUS status; - BOOLEAN check_case = !(attr->Attributes & OBJ_CASE_INSENSITIVE); if (!attr->RootDirectory) /* without root dir fall back to normal lookup */ - return nt_to_unix_file_name( attr->ObjectName, unix_name_ret, disposition, check_case ); + return nt_to_unix_file_name( attr->ObjectName, unix_name_ret, disposition ); name = attr->ObjectName->Buffer; name_len = attr->ObjectName->Length / sizeof(WCHAR); @@ -3280,7 +3279,7 @@ static NTSTATUS nt_to_unix_file_name_attr( const OBJECT_ATTRIBUTES *attr, ANSI_S if ((old_cwd = open( ".", O_RDONLY )) != -1 && fchdir( root_fd ) != -1) { status = lookup_unix_name( name, name_len, &unix_name, unix_len, 1, - disposition, check_case ); + disposition, FALSE ); if (fchdir( old_cwd ) == -1) chdir( "/" ); } else status = STATUS_ACCESS_DENIED; @@ -3317,7 +3316,7 @@ static NTSTATUS nt_to_unix_file_name_attr( const OBJECT_ATTRIBUTES *attr, ANSI_S * returned, but the unix name is still filled in properly. */ NTSTATUS CDECL nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRING *unix_name_ret, - UINT disposition, BOOLEAN check_case ) + UINT disposition ) { static const WCHAR unixW[] = {'u','n','i','x'}; static const WCHAR invalid_charsW[] = { INVALID_NT_CHARS, 0 }; @@ -3328,6 +3327,7 @@ NTSTATUS CDECL nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRING *u char *unix_name; int pos, ret, name_len, unix_len, prefix_len; WCHAR prefix[MAX_DIR_ENTRY_LEN + 1]; + BOOLEAN check_case = FALSE; BOOLEAN is_unix = FALSE; name = nameW->Buffer; diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c index 2b43b69be9..ae17d11668 100644 --- a/dlls/ntdll/unix/loader.c +++ b/dlls/ntdll/unix/loader.c @@ -931,7 +931,7 @@ static NTSTATUS CDECL load_so_dll( UNICODE_STRING *nt_name, void **module ) NTSTATUS status; DWORD len; - if (nt_to_unix_file_name( nt_name, &unix_name, FILE_OPEN, FALSE )) return STATUS_DLL_NOT_FOUND; + if (nt_to_unix_file_name( nt_name, &unix_name, FILE_OPEN )) return STATUS_DLL_NOT_FOUND; /* remove .so extension from Windows name */ len = nt_name->Length / sizeof(WCHAR); diff --git a/dlls/ntdll/unix/process.c b/dlls/ntdll/unix/process.c index b86c67e6af..7061d8864d 100644 --- a/dlls/ntdll/unix/process.c +++ b/dlls/ntdll/unix/process.c @@ -665,7 +665,7 @@ static NTSTATUS fork_and_exec( UNICODE_STRING *path, int unixdir, ANSI_STRING unix_name; NTSTATUS status; - status = nt_to_unix_file_name( path, &unix_name, FILE_OPEN, FALSE ); + status = nt_to_unix_file_name( path, &unix_name, FILE_OPEN ); if (status) return status; #ifdef HAVE_PIPE2 diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h index cdc867a858..82806463e5 100644 --- a/dlls/ntdll/unix/unix_private.h +++ b/dlls/ntdll/unix/unix_private.h @@ -125,7 +125,7 @@ extern NTSTATUS CDECL unwind_builtin_dll( ULONG type, struct _DISPATCHER_CONTEXT CONTEXT *context ) DECLSPEC_HIDDEN; extern NTSTATUS CDECL nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRING *unix_name_ret, - UINT disposition, BOOLEAN check_case ) DECLSPEC_HIDDEN; + UINT disposition ) DECLSPEC_HIDDEN; extern NTSTATUS CDECL unix_to_nt_file_name( const ANSI_STRING *name, UNICODE_STRING *nt ) DECLSPEC_HIDDEN; extern void CDECL set_show_dot_files( BOOL enable ) DECLSPEC_HIDDEN; diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h index 5f1ad1b5d9..4c00408bda 100644 --- a/dlls/ntdll/unixlib.h +++ b/dlls/ntdll/unixlib.h @@ -28,7 +28,7 @@ struct msghdr; struct _DISPATCHER_CONTEXT; /* increment this when you change the function table */ -#define NTDLL_UNIXLIB_VERSION 71 +#define NTDLL_UNIXLIB_VERSION 72 struct unix_funcs { @@ -329,7 +329,7 @@ struct unix_funcs /* file functions */ NTSTATUS (CDECL *nt_to_unix_file_name)( const UNICODE_STRING *nameW, ANSI_STRING *unix_name_ret, - UINT disposition, BOOLEAN check_case ); + UINT disposition ); NTSTATUS (CDECL *unix_to_nt_file_name)( const ANSI_STRING *name, UNICODE_STRING *nt ); void (CDECL *set_show_dot_files)( BOOL enable ); diff --git a/include/winternl.h b/include/winternl.h index 5b5a5f32c6..4ee32d3c9e 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -3372,7 +3372,7 @@ NTSYSAPI void WINAPI TpWaitForWork(TP_WORK *,BOOL); /* Wine internal functions */ NTSYSAPI NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRING *unix_name_ret, - UINT disposition, BOOLEAN check_case ); + UINT disposition ); NTSYSAPI NTSTATUS CDECL wine_unix_to_nt_file_name( const ANSI_STRING *name, UNICODE_STRING *nt );
1
0
0
0
← Newer
1
...
66
67
68
69
70
71
72
...
83
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Results per page:
10
25
50
100
200