Module: wine
Branch: master
Commit: f671b524f241305e025deb59cb8ab666e88105e1
URL: https://source.winehq.org/git/wine.git/?a=commit;h=f671b524f241305e025deb59…
Author: Zhiyi Zhang <zzhang(a)codeweavers.com>
Date: Wed May 6 16:47:26 2020 +0800
user32/tests: Add a trailing '\n' to some ok() calls.
Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/user32/tests/dialog.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/user32/tests/dialog.c b/dlls/user32/tests/dialog.c
index 5a6a0bf5fb..3f6fe6cfca 100644
--- a/dlls/user32/tests/dialog.c
+++ b/dlls/user32/tests/dialog.c
@@ -652,8 +652,8 @@ static void test_WM_NEXTDLGCTL(void)
* Check whether the style of the button which got the focus, changed to BS_DEFPUSHBUTTON and
* the style of default button changed to BS_PUSHBUTTON.
*/
- ok(get_button_style(g_hwndTestDlgBut1) == BS_DEFPUSHBUTTON, "Button1's style not set to BS_DEFPUSHBUTTON");
- ok(get_button_style(g_hwndTestDlgBut2) == BS_PUSHBUTTON, "Button2's style not set to BS_PUSHBUTTON");
+ ok(get_button_style(g_hwndTestDlgBut1) == BS_DEFPUSHBUTTON, "Button1's style not set to BS_DEFPUSHBUTTON\n");
+ ok(get_button_style(g_hwndTestDlgBut2) == BS_PUSHBUTTON, "Button2's style not set to BS_PUSHBUTTON\n");
/* Move focus to Button2 using "WM_NEXTDLGCTL" */
DefDlgProcA(g_hwndTestDlg, WM_NEXTDLGCTL, 0, 0);
@@ -667,8 +667,8 @@ static void test_WM_NEXTDLGCTL(void)
* Check whether the style of the button which got the focus, changed to BS_DEFPUSHBUTTON and
* the style of button which lost the focus changed to BS_PUSHBUTTON.
*/
- ok(get_button_style(g_hwndTestDlgBut1) == BS_PUSHBUTTON, "Button1's style not set to BS_PUSHBUTTON");
- ok(get_button_style(g_hwndTestDlgBut2) == BS_DEFPUSHBUTTON, "Button2's style not set to BS_DEFPUSHBUTTON");
+ ok(get_button_style(g_hwndTestDlgBut1) == BS_PUSHBUTTON, "Button1's style not set to BS_PUSHBUTTON\n");
+ ok(get_button_style(g_hwndTestDlgBut2) == BS_DEFPUSHBUTTON, "Button2's style not set to BS_DEFPUSHBUTTON\n");
/* Move focus to Edit control using "WM_NEXTDLGCTL" */
DefDlgProcA(g_hwndTestDlg, WM_NEXTDLGCTL, 0, 0);
Module: wine
Branch: master
Commit: 3cae9288ea6066fd9dcea1459ad1722e53f8216c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=3cae9288ea6066fd9dcea145…
Author: Jacek Caban <jacek(a)codeweavers.com>
Date: Tue May 5 16:29:15 2020 +0200
configure: Assume that -delayload linker argument is supported when -target argument is used.
In practice, it's present only on clang and it always needs to be used
there. mingw and msvc targets have different syntax. We take care of
that in winegcc.
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
aclocal.m4 | 2 +-
configure | 83 +++++++++++++++++++-----------------------------------------
configure.ac | 3 +--
3 files changed, 28 insertions(+), 60 deletions(-)
Diff: https://source.winehq.org/git/wine.git/?a=commitdiff;h=3cae9288ea6066fd9dce…
Module: wine
Branch: master
Commit: 053f07f602e2ead81d3764ec8cb4279614285e0a
URL: https://source.winehq.org/git/wine.git/?a=commit;h=053f07f602e2ead81d3764ec…
Author: Jacek Caban <jacek(a)codeweavers.com>
Date: Tue May 5 16:29:06 2020 +0200
winecrt0: Add _fltused symbol.
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/winecrt0/Makefile.in | 1 +
dlls/winecrt0/crt_fltused.c | 24 ++++++++++++++++++++++++
2 files changed, 25 insertions(+)
diff --git a/dlls/winecrt0/Makefile.in b/dlls/winecrt0/Makefile.in
index bcbd4e3b55..18a116e578 100644
--- a/dlls/winecrt0/Makefile.in
+++ b/dlls/winecrt0/Makefile.in
@@ -2,6 +2,7 @@ MODULE = libwinecrt0.a
C_SRCS = \
crt_dllmain.c \
+ crt_fltused.c \
debug.c \
delay_load.c \
dll_main.c \
diff --git a/dlls/winecrt0/crt_fltused.c b/dlls/winecrt0/crt_fltused.c
new file mode 100644
index 0000000000..f65fc2d96c
--- /dev/null
+++ b/dlls/winecrt0/crt_fltused.c
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Jacek Caban for CodeWeavers
+ *
+ * This library 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.1 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 St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifdef _WIN32
+
+/* referenced by MSVC to pull crt support for floating points. we don't use it. */
+int _fltused = 0;
+
+#endif
Module: wine
Branch: master
Commit: 449ca2fbf9e44a40ff2cc6eedada8dd2f94c7adf
URL: https://source.winehq.org/git/wine.git/?a=commit;h=449ca2fbf9e44a40ff2cc6ee…
Author: Zhiyi Zhang <zzhang(a)codeweavers.com>
Date: Tue May 5 20:30:39 2020 +0800
user32: Leave critical section before calling callbacks in EnumDisplayMonitors().
Previously, callbacks were called with a critical section held. It was
intended that monitor handles passed to callbacks should always be valid.
But it created a deadlock condition when callbacks call other functions
which try to grab the critical section using a different thread. Tests
also show that a monitor handle can be invalid after a display change.
So do not hold the critical section when calling callbacks. Monitor
handles will be checked when passed to GetMonitorInfo(), which is the
sole function that consumes HMONITORs.
Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/user32/sysparams.c | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c
index ab386a074e..043742a9bf 100644
--- a/dlls/user32/sysparams.c
+++ b/dlls/user32/sysparams.c
@@ -4126,28 +4126,34 @@ static BOOL CALLBACK enum_mon_callback( HMONITOR monitor, HDC hdc, LPRECT rect,
BOOL CDECL nulldrv_EnumDisplayMonitors( HDC hdc, RECT *rect, MONITORENUMPROC proc, LPARAM lp )
{
- RECT default_rect = {0, 0, 640, 480};
- DWORD i;
+ RECT monitor_rect;
+ DWORD i = 0;
TRACE("(%p, %p, %p, 0x%lx)\n", hdc, rect, proc, lp);
if (update_monitor_cache())
{
- EnterCriticalSection( &monitors_section );
- for (i = 0; i < monitor_count; i++)
+ while (TRUE)
{
- if (!proc( (HMONITOR)(UINT_PTR)(i + 1), hdc, &monitors[i].rcMonitor, lp ))
+ EnterCriticalSection( &monitors_section );
+ if (i >= monitor_count)
{
LeaveCriticalSection( &monitors_section );
- return FALSE;
+ return TRUE;
}
+ monitor_rect = monitors[i].rcMonitor;
+ LeaveCriticalSection( &monitors_section );
+
+ if (!proc( (HMONITOR)(UINT_PTR)(i + 1), hdc, &monitor_rect, lp ))
+ return FALSE;
+
+ ++i;
}
- LeaveCriticalSection( &monitors_section );
- return TRUE;
}
/* Fallback to report one monitor if using SetupAPI failed */
- if (!proc( NULLDRV_DEFAULT_HMONITOR, hdc, &default_rect, lp ))
+ SetRect( &monitor_rect, 0, 0, 640, 480 );
+ if (!proc( NULLDRV_DEFAULT_HMONITOR, hdc, &monitor_rect, lp ))
return FALSE;
return TRUE;
}
Module: wine
Branch: master
Commit: 4465ecfe0e3fa9fa14518abd1907193adb154957
URL: https://source.winehq.org/git/wine.git/?a=commit;h=4465ecfe0e3fa9fa14518abd…
Author: Philip Rebohle <philip.rebohle(a)tu-dortmund.de>
Date: Mon May 4 22:12:10 2020 +0200
winevulkan: Avoid adding duplicate enum aliases.
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR is being
defined multiple times by the current vk.xml.
Signed-off-by: Philip Rebohle <philip.rebohle(a)tu-dortmund.de>
Signed-off-by: Liam Middlebrook <lmiddlebrook(a)nvidia.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/winevulkan/make_vulkan | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index e24dac9901..ccc3f228b0 100755
--- a/dlls/winevulkan/make_vulkan
+++ b/dlls/winevulkan/make_vulkan
@@ -395,7 +395,9 @@ class VkEnum(object):
if not value.is_alias() and v.value == value.value:
LOGGER.debug("Adding duplicate enum value {0} to {1}".format(v, self.name))
return
- self.values.append(value)
+ # Avoid adding duplicate aliases multiple times
+ if not any(x.name == value.name for x in self.values):
+ self.values.append(value)
def definition(self):
if self.is_alias():
Module: wine
Branch: master
Commit: c358de84c8a767bc36a1d05017243eda11215962
URL: https://source.winehq.org/git/wine.git/?a=commit;h=c358de84c8a767bc36a1d050…
Author: Bernhard Übelacker <bernhardu(a)mailbox.org>
Date: Sun May 3 17:05:25 2020 +0200
cmd/tests: Test that the if command is not influenced by a previous one.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47770
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48738
Signed-off-by: Bernhard Übelacker <bernhardu(a)mailbox.org>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
programs/cmd/tests/test_builtins.cmd | 7 +++++++
programs/cmd/tests/test_builtins.cmd.exp | 2 ++
2 files changed, 9 insertions(+)
diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd
index 4bf37a35bb..73b0917c27 100644
--- a/programs/cmd/tests/test_builtins.cmd
+++ b/programs/cmd/tests/test_builtins.cmd
@@ -1013,6 +1013,13 @@ if /i not (a)==(b) (
) else (
echo comparison operators surrounded by brackets seem to be broken
)
+if defined windir echo windir is defined
+if not defined windir echo windir is defined
+if not exist %windir% (
+ echo windir does not exist
+) else (
+ echo windir does exist
+)
echo --- case sensitivity with and without /i option
if bar==BAR echo if does not default to case sensitivity
if not bar==BAR echo if seems to default to case sensitivity
diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp
index 5bcd29b917..fb84de2f5d 100644
--- a/programs/cmd/tests/test_builtins.cmd.exp
+++ b/programs/cmd/tests/test_builtins.cmd.exp
@@ -699,6 +699,8 @@ comparison operators surrounded by brackets seem to work
comparison operators surrounded by brackets seem to work
comparison operators surrounded by brackets seem to work
comparison operators surrounded by brackets seem to work
+windir is defined
+windir does exist
--- case sensitivity with and without /i option
if seems to default to case sensitivity
if /i seems to work
Module: wine
Branch: master
Commit: b1e91a36a75fd8ae27a999248aa034e69227bc02
URL: https://source.winehq.org/git/wine.git/?a=commit;h=b1e91a36a75fd8ae27a99924…
Author: Bernhard Übelacker <bernhardu(a)mailbox.org>
Date: Sun May 3 17:05:24 2020 +0200
cmd: Fix crash in if condition parsing.
Regression introduced in f238e846e701d2039eceb51f2f6e9d936f8c791c.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47770
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48738
Signed-off-by: Bernhard Übelacker <bernhardu(a)mailbox.org>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
programs/cmd/builtins.c | 6 ++++++
programs/cmd/wcmdmain.c | 15 +++++++--------
2 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c
index 1870e5688d..70ccddebc1 100644
--- a/programs/cmd/builtins.c
+++ b/programs/cmd/builtins.c
@@ -2938,9 +2938,15 @@ void WCMD_if (WCHAR *p, CMD_LIST **cmdList)
int test; /* Condition evaluation result */
WCHAR *command;
+ /* Function evaluate_if_condition relies on the global variables quals, param1 and param2
+ set in a call to WCMD_parse before */
if (evaluate_if_condition(p, &command, &test, &negate) == -1)
goto syntax_err;
+ WINE_TRACE("p: %s, quals: %s, param1: %s, param2: %s, command: %s\n",
+ wine_dbgstr_w(p), wine_dbgstr_w(quals), wine_dbgstr_w(param1),
+ wine_dbgstr_w(param2), wine_dbgstr_w(command));
+
/* Process rest of IF statement which is on the same line
Note: This may process all or some of the cmdList (eg a GOTO) */
WCMD_part_execute(cmdList, command, TRUE, (test != negate));
diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c
index 2819f7fa99..16843e4087 100644
--- a/programs/cmd/wcmdmain.c
+++ b/programs/cmd/wcmdmain.c
@@ -1947,8 +1947,6 @@ WCHAR *WCMD_ReadAndParseLine(const WCHAR *optionalcmd, CMD_LIST **output, HANDLE
To be able to handle ('s in the condition part take as much as evaluate_if_condition
would take and skip parsing it here. */
} else if (WCMD_keyword_ws_found(ifCmd, ARRAY_SIZE(ifCmd), curPos)) {
- static const WCHAR parmI[] = {'/','I','\0'};
- static const WCHAR notW[] = {'n','o','t','\0'};
int negate; /* Negate condition */
int test; /* Condition evaluation result */
WCHAR *p, *command;
@@ -1956,17 +1954,18 @@ WCHAR *WCMD_ReadAndParseLine(const WCHAR *optionalcmd, CMD_LIST **output, HANDLE
inIf = TRUE;
p = curPos+(ARRAY_SIZE(ifCmd));
- while (*p == ' ' || *p == '\t') {
+ while (*p == ' ' || *p == '\t')
p++;
- if (lstrcmpiW(WCMD_parameter(p, 0, NULL, TRUE, FALSE), notW) == 0)
- p += lstrlenW(notW);
- if (lstrcmpiW(WCMD_parameter(p, 0, NULL, TRUE, FALSE), parmI) == 0)
- p += lstrlenW(parmI);
- }
+ WCMD_parse (p, quals, param1, param2);
+ /* Function evaluate_if_condition relies on the global variables quals, param1 and param2
+ set in a call to WCMD_parse before */
if (evaluate_if_condition(p, &command, &test, &negate) != -1)
{
int if_condition_len = command - curPos;
+ WINE_TRACE("p: %s, quals: %s, param1: %s, param2: %s, command: %s, if_condition_len: %d\n",
+ wine_dbgstr_w(p), wine_dbgstr_w(quals), wine_dbgstr_w(param1),
+ wine_dbgstr_w(param2), wine_dbgstr_w(command), if_condition_len);
memcpy(&curCopyTo[*curLen], curPos, if_condition_len*sizeof(WCHAR));
(*curLen)+=if_condition_len;
curPos+=if_condition_len;
Module: wine
Branch: master
Commit: 1cb4b642f39b246a00b7affcf1f44caa6881ce7b
URL: https://source.winehq.org/git/wine.git/?a=commit;h=1cb4b642f39b246a00b7affc…
Author: Zebediah Figura <z.figura12(a)gmail.com>
Date: Fri May 1 22:52:02 2020 -0500
quartz/vmr9: Do not call VMR9_maybe_init() in vmr_start_stream().
We have already connected if we got here, and we can only have failed to
allocate surfaces if we had no clipping window, which cannot have changed in the
meantime.
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/quartz/vmr9.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c
index 52cc80eca4..113cb7cea4 100644
--- a/dlls/quartz/vmr9.c
+++ b/dlls/quartz/vmr9.c
@@ -484,8 +484,6 @@ static void vmr_start_stream(struct strmbase_renderer *iface)
TRACE("(%p)\n", This);
- if (This->renderer.sink.pin.peer)
- VMR9_maybe_init(This, TRUE, &This->renderer.sink.pin.mt);
IVMRImagePresenter9_StartPresenting(This->presenter, This->cookie);
SetWindowPos(This->baseControlWindow.hwnd, NULL,
This->source_rect.left,