Module: wine
Branch: master
Commit: 9ed47775d6a789f0c397c622279ab861a3e8425f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9ed47775d6a789f0c397c6222…
Author: Huw Davies <huw(a)codeweavers.com>
Date: Tue Oct 27 14:42:30 2015 +0000
oleaut32: Clear any existing interface before calling WdtpInterfacePointer_UserUnmarshal().
The code has already called VariantClear() which has released the
interface yet not set it to NULL. This is to prevent a double-release
after a forthcoming patch to WdtpInterfacePointer_UserUnmarshal().
Signed-off-by: Huw Davies <huw(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/oleaut32/usrmarshal.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/oleaut32/usrmarshal.c b/dlls/oleaut32/usrmarshal.c
index 39a5f8c..303ec69 100644
--- a/dlls/oleaut32/usrmarshal.c
+++ b/dlls/oleaut32/usrmarshal.c
@@ -349,11 +349,12 @@ static unsigned char *interface_variant_unmarshal(ULONG *pFlags, unsigned char *
ptr = *(DWORD*)Buffer;
Buffer += sizeof(DWORD);
+ /* Clear any existing interface which WdtpInterfacePointer_UserUnmarshal()
+ would try to release. This has been done already with a VariantClear(). */
+ *ppunk = NULL;
+
if(!ptr)
- {
- *ppunk = NULL;
return Buffer;
- }
return WdtpInterfacePointer_UserUnmarshal(pFlags, Buffer, ppunk, riid);
}
Module: wine
Branch: master
Commit: 577a75d76427eb367b1acdd004d76704beb3081d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=577a75d76427eb367b1acdd00…
Author: Nikolay Sivov <nsivov(a)codeweavers.com>
Date: Mon Oct 26 16:06:19 2015 +0300
prntvpt: Added PTOpenProvider() stub.
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/prntvpt/main.c | 7 +++++++
dlls/prntvpt/prntvpt.spec | 2 +-
include/Makefile.in | 1 +
include/prntvpt.h | 34 ++++++++++++++++++++++++++++++++++
4 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/dlls/prntvpt/main.c b/dlls/prntvpt/main.c
index aa01252..72b1dcf 100644
--- a/dlls/prntvpt/main.c
+++ b/dlls/prntvpt/main.c
@@ -23,6 +23,7 @@
#include "windef.h"
#include "winbase.h"
+#include "prntvpt.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(prntvpt);
@@ -48,3 +49,9 @@ HRESULT WINAPI PTQuerySchemaVersionSupport(PCWSTR printer, DWORD *version)
FIXME("stub:%s %p\n", debugstr_w(printer), version);
return E_NOTIMPL;
}
+
+HRESULT WINAPI PTOpenProvider(PCWSTR printer, DWORD version, HPTPROVIDER *provider)
+{
+ FIXME("%s, %d, %p: stub\n", debugstr_w(printer), version, provider);
+ return E_NOTIMPL;
+}
diff --git a/dlls/prntvpt/prntvpt.spec b/dlls/prntvpt/prntvpt.spec
index 246443e..bf9a8ca 100644
--- a/dlls/prntvpt/prntvpt.spec
+++ b/dlls/prntvpt/prntvpt.spec
@@ -1,5 +1,5 @@
@ stdcall PTQuerySchemaVersionSupport(wstr ptr)
-@ stub PTOpenProvider
+@ stdcall PTOpenProvider(wstr long ptr)
@ stub PTOpenProviderEx
@ stub PTCloseProvider
@ stub BindPTProviderThunk
diff --git a/include/Makefile.in b/include/Makefile.in
index 1d4196e..3836af2 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -514,6 +514,7 @@ SRCDIR_INCLUDES = \
pktdef.h \
poppack.h \
powrprof.h \
+ prntvpt.h \
profinfo.h \
propkey.h \
propkeydef.h \
diff --git a/include/prntvpt.h b/include/prntvpt.h
new file mode 100644
index 0000000..55ecbbe
--- /dev/null
+++ b/include/prntvpt.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2015 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
+ */
+
+#ifndef _PRNPTNTV_H_
+#define _PRNPTNTV_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+DECLARE_HANDLE(HPTPROVIDER);
+
+HRESULT WINAPI PTOpenProvider(const WCHAR *printer, DWORD version, HPTPROVIDER *provider);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _PRNPTNTV_H_ */