Module: wine
Branch: master
Commit: 9bec4bb582ba59baa2c2b7c9fae411722ee9cb64
URL: https://source.winehq.org/git/wine.git/?a=commit;h=9bec4bb582ba59baa2c2b7c9…
Author: Nikolay Sivov <nsivov(a)codeweavers.com>
Date: Thu Nov 7 23:00:00 2019 +0300
rpcss: Implement interface to return sequential identifiers.
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
Signed-off-by: Huw Davies <huw(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
include/wine/irpcss.idl | 33 +++++++++++++++++++++++++++++++++
programs/rpcss/Makefile.in | 3 ++-
programs/rpcss/irpcss.idl | 21 +++++++++++++++++++++
programs/rpcss/rpcss_main.c | 12 ++++++++++++
4 files changed, 68 insertions(+), 1 deletion(-)
diff --git a/include/wine/irpcss.idl b/include/wine/irpcss.idl
new file mode 100644
index 0000000000..1874e10025
--- /dev/null
+++ b/include/wine/irpcss.idl
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2019 Nikolay Sivov 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
+ */
+
+import "wtypes.idl";
+
+cpp_quote("#define IRPCSS_PROTSEQ {'n','c','a','l','r','p','c',0}")
+cpp_quote("#define IRPCSS_ENDPOINT {'i','r','p','c','s','s',0}")
+
+[
+ uuid(85da4974-edc7-40ff-bad4-9c4525a8d044),
+ version(0.0),
+]
+interface Irpcss
+{
+ HRESULT irpcss_get_thread_seq_id(
+ [in] handle_t handle,
+ [out] DWORD *sequence_id);
+}
diff --git a/programs/rpcss/Makefile.in b/programs/rpcss/Makefile.in
index 6ccb5e965a..dcc405a944 100644
--- a/programs/rpcss/Makefile.in
+++ b/programs/rpcss/Makefile.in
@@ -10,4 +10,5 @@ C_SRCS = \
IDL_SRCS = \
epm.idl \
- irot.idl
+ irot.idl \
+ irpcss.idl
diff --git a/programs/rpcss/irpcss.idl b/programs/rpcss/irpcss.idl
new file mode 100644
index 0000000000..1f346ada82
--- /dev/null
+++ b/programs/rpcss/irpcss.idl
@@ -0,0 +1,21 @@
+/*
+ * Copyright 2019 Nikolay Sivov 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
+ */
+
+#pragma makedep server
+
+#include "wine/irpcss.idl"
diff --git a/programs/rpcss/rpcss_main.c b/programs/rpcss/rpcss_main.c
index 42749028c3..6e85ef2c33 100644
--- a/programs/rpcss/rpcss_main.c
+++ b/programs/rpcss/rpcss_main.c
@@ -28,6 +28,7 @@
#include "winsvc.h"
#include "irot.h"
#include "epm.h"
+#include "irpcss.h"
#include "wine/debug.h"
@@ -37,6 +38,13 @@ static WCHAR rpcssW[] = {'R','p','c','S','s',0};
static HANDLE exit_event;
static SERVICE_STATUS_HANDLE service_handle;
+HRESULT __cdecl irpcss_get_thread_seq_id(handle_t h, DWORD *id)
+{
+ static LONG thread_seq_id;
+ *id = InterlockedIncrement(&thread_seq_id);
+ return S_OK;
+}
+
static RPC_STATUS RPCSS_Initialize(void)
{
static unsigned short irot_protseq[] = IROT_PROTSEQ;
@@ -45,6 +53,8 @@ static RPC_STATUS RPCSS_Initialize(void)
static unsigned short epm_endpoint[] = {'\\','p','i','p','e','\\','e','p','m','a','p','p','e','r',0};
static unsigned short epm_protseq_lrpc[] = {'n','c','a','l','r','p','c',0};
static unsigned short epm_endpoint_lrpc[] = {'e','p','m','a','p','p','e','r',0};
+ static unsigned short irpcss_protseq[] = IRPCSS_PROTSEQ;
+ static unsigned short irpcss_endpoint[] = IRPCSS_ENDPOINT;
static const struct protseq_map
{
unsigned short *protseq;
@@ -54,11 +64,13 @@ static RPC_STATUS RPCSS_Initialize(void)
{ epm_protseq, epm_endpoint },
{ epm_protseq_lrpc, epm_endpoint_lrpc },
{ irot_protseq, irot_endpoint },
+ { irpcss_protseq, irpcss_endpoint },
};
RPC_IF_HANDLE ifspecs[] =
{
epm_v3_0_s_ifspec,
Irot_v0_2_s_ifspec,
+ Irpcss_v0_0_s_ifspec,
};
RPC_STATUS status;
int i, j;
Module: tools
Branch: master
Commit: 4fdeed539ca798fe1b669da0835f6aff2b81a363
URL: https://source.winehq.org/git/tools.git/?a=commit;h=4fdeed539ca798fe1b669da…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Fri Nov 8 10:53:37 2019 +0100
testbot: All but a few winediag messages are errors.
Only a few winediag messages may legitimately occur when running the
tests. The presence of other winediag messages indicates an error.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
testbot/lib/WineTestBot/LogUtils.pm | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/testbot/lib/WineTestBot/LogUtils.pm b/testbot/lib/WineTestBot/LogUtils.pm
index 2849d60..ea1ad89 100644
--- a/testbot/lib/WineTestBot/LogUtils.pm
+++ b/testbot/lib/WineTestBot/LogUtils.pm
@@ -167,7 +167,19 @@ sub GetLogLineCategory($)
}
if ($Line =~ /:winediag:/)
{
- return "diag";
+ if (# Normally CorIsLatestSvc() would not be called but mscoree:mscoree
+ # calls it as a test.
+ $Line =~ /CorIsLatestSvc If this function is called,/ or
+ # VMs and most test machines don't have a midi port.
+ $Line =~ /No software synthesizer midi port found / or
+ # Most VMs have limited OpenGL support.
+ $Line =~ /None of the requested D3D feature levels is supported / or
+ # The tests are not run as root.
+ $Line =~ /this requires special permissions/)
+ {
+ return "diag";
+ }
+ return "error";
}
if (# TestBot script error messages
$Line =~ /^[a-zA-Z.]+:error: / or
Module: wine
Branch: master
Commit: 4907f2626c56d42f6e8c98832e4f801e06ba3c2d
URL: https://source.winehq.org/git/wine.git/?a=commit;h=4907f2626c56d42f6e8c9883…
Author: Paul Gofman <gofmanp(a)gmail.com>
Date: Thu Nov 7 13:44:35 2019 +0300
kernel32: Output a message in GetVolumeInformationW() when device has no read access.
A lot of applications fail to install from CDs or mounted ISO images when Wine does
not return correct volume label from GetVolumeInformation() repeatedly asking to
insert correct disk. Most of the time it happens because the block device is read only
for user (which is typical default behaviour) and FS info cannot be read.
It looks like the hint about what went wrong will simplify things in this common case.
Signed-off-by: Paul Gofman <gofmanp(a)gmail.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/kernel32/volume.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/kernel32/volume.c b/dlls/kernel32/volume.c
index 2c8a668b73..02d14cdcc9 100644
--- a/dlls/kernel32/volume.c
+++ b/dlls/kernel32/volume.c
@@ -772,8 +772,12 @@ BOOL WINAPI GetVolumeInformationW( LPCWSTR root, LPWSTR label, DWORD label_len,
CloseHandle( handle );
goto fill_fs_info;
}
- else TRACE( "cannot open device %s: %x\n", debugstr_w(nt_name.Buffer), status );
-
+ else
+ {
+ TRACE( "cannot open device %s: %x\n", debugstr_w(nt_name.Buffer), status );
+ if (status == STATUS_ACCESS_DENIED)
+ MESSAGE( "wine: Read access denied for device %s, FS volume label and serial are not available.\n", debugstr_w(nt_name.Buffer) );
+ }
/* we couldn't open the device, fallback to default strategy */
if (!set_ntstatus( NtOpenFile( &handle, SYNCHRONIZE, &attr, &io, 0,