mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 7756d6ba9b0213d5533eb5248e62716e7e8409b8.
[dmusic-SynthPort_IKsControl] Removed patch to add IKsControl stub subinterface for SynthPort (accepted upstream).
This commit is contained in:
parent
2d5e42b68c
commit
8bfc3ca97f
@ -1,144 +0,0 @@
|
||||
From 8b845b6348b898f79e7fd401b045a46f9501e1e0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 29 Apr 2016 16:41:04 +0200
|
||||
Subject: dmusic: Add IKsControl stub subinterface for SynthPort.
|
||||
|
||||
---
|
||||
dlls/dmusic/dmusic_private.h | 2 ++
|
||||
dlls/dmusic/port.c | 79 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 81 insertions(+)
|
||||
|
||||
diff --git a/dlls/dmusic/dmusic_private.h b/dlls/dmusic/dmusic_private.h
|
||||
index 44d5d57..110788c 100644
|
||||
--- a/dlls/dmusic/dmusic_private.h
|
||||
+++ b/dlls/dmusic/dmusic_private.h
|
||||
@@ -41,6 +41,7 @@
|
||||
#include "dmusici.h"
|
||||
#include "dmusicf.h"
|
||||
#include "dmusics.h"
|
||||
+#include "dmksctrl.h"
|
||||
|
||||
/*****************************************************************************
|
||||
* Interfaces
|
||||
@@ -167,6 +168,7 @@ struct SynthPortImpl {
|
||||
IDirectMusicPort IDirectMusicPort_iface;
|
||||
IDirectMusicPortDownload IDirectMusicPortDownload_iface;
|
||||
IDirectMusicThru IDirectMusicThru_iface;
|
||||
+ IKsControl IKsControl_iface;
|
||||
LONG ref;
|
||||
|
||||
/* IDirectMusicPort fields */
|
||||
diff --git a/dlls/dmusic/port.c b/dlls/dmusic/port.c
|
||||
index f886d52..3d434e1 100644
|
||||
--- a/dlls/dmusic/port.c
|
||||
+++ b/dlls/dmusic/port.c
|
||||
@@ -44,6 +44,11 @@ static inline SynthPortImpl *impl_from_SynthPortImpl_IDirectMusicThru(IDirectMus
|
||||
return CONTAINING_RECORD(iface, SynthPortImpl, IDirectMusicThru_iface);
|
||||
}
|
||||
|
||||
+static inline SynthPortImpl *impl_from_SynthPortImpl_IKsControl(IKsControl *iface)
|
||||
+{
|
||||
+ return CONTAINING_RECORD(iface, SynthPortImpl, IKsControl_iface);
|
||||
+}
|
||||
+
|
||||
/* IDirectMusicDownloadedInstrument IUnknown part follows: */
|
||||
static HRESULT WINAPI IDirectMusicDownloadedInstrumentImpl_QueryInterface(IDirectMusicDownloadedInstrument *iface, REFIID riid, VOID **ret_iface)
|
||||
{
|
||||
@@ -142,6 +147,10 @@ static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_QueryInterface(LPDIRECTMUSI
|
||||
*ret_iface = &This->IDirectMusicThru_iface;
|
||||
IDirectMusicThru_AddRef((LPDIRECTMUSICTHRU)*ret_iface);
|
||||
return S_OK;
|
||||
+ } else if (IsEqualGUID(riid, &IID_IKsControl)) {
|
||||
+ *ret_iface = &This->IKsControl_iface;
|
||||
+ IKsControl_AddRef((IKsControl*)*ret_iface);
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
WARN("(%p, %s, %p): not found\n", This, debugstr_dmguid(riid), ret_iface);
|
||||
@@ -672,6 +681,75 @@ static const IDirectMusicThruVtbl SynthPortImpl_DirectMusicThru_Vtbl = {
|
||||
SynthPortImpl_IDirectMusicThru_ThruChannel
|
||||
};
|
||||
|
||||
+static HRESULT WINAPI SynthPortImpl_IKsControl_QueryInterface(IKsControl* iface, REFIID riid, LPVOID *ppobj)
|
||||
+{
|
||||
+ SynthPortImpl *This = impl_from_SynthPortImpl_IKsControl(iface);
|
||||
+
|
||||
+ return IDirectMusicPort_QueryInterface(&This->IDirectMusicPort_iface, riid, ppobj);
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI SynthPortImpl_IKsControl_AddRef(IKsControl* iface)
|
||||
+{
|
||||
+ SynthPortImpl *This = impl_from_SynthPortImpl_IKsControl(iface);
|
||||
+
|
||||
+ return IDirectMusicPort_AddRef(&This->IDirectMusicPort_iface);
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI SynthPortImpl_IKsControl_Release(IKsControl* iface)
|
||||
+{
|
||||
+ SynthPortImpl *This = impl_from_SynthPortImpl_IKsControl(iface);
|
||||
+
|
||||
+ return IDirectMusicPort_Release(&This->IDirectMusicPort_iface);
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI SynthPortImpl_IKsControl_KsProperty(IKsControl* iface, PKSPROPERTY Property, ULONG PropertyLength, LPVOID PropertyData,
|
||||
+ ULONG DataLength, ULONG* BytesReturned)
|
||||
+{
|
||||
+ TRACE("(%p)->(%p, %u, %p, %u, %p)\n", iface, Property, PropertyLength, PropertyData, DataLength, BytesReturned);
|
||||
+
|
||||
+ TRACE("Property = %s - %u - %u\n", debugstr_guid(&Property->Set), Property->Id, Property->Flags);
|
||||
+
|
||||
+ if (Property->Flags != KSPROPERTY_TYPE_GET)
|
||||
+ {
|
||||
+ FIXME("Property flags %u not yet supported\n", Property->Flags);
|
||||
+ return S_FALSE;
|
||||
+ }
|
||||
+
|
||||
+ if (DataLength < sizeof(DWORD))
|
||||
+ return E_NOT_SUFFICIENT_BUFFER;
|
||||
+
|
||||
+ FIXME("Unknown property %s\n", debugstr_guid(&Property->Set));
|
||||
+ *(DWORD*)PropertyData = FALSE;
|
||||
+ *BytesReturned = sizeof(DWORD);
|
||||
+
|
||||
+ return S_OK;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI SynthPortImpl_IKsControl_KsMethod(IKsControl* iface, PKSMETHOD Method, ULONG MethodLength, LPVOID MethodData,
|
||||
+ ULONG DataLength, ULONG* BytesReturned)
|
||||
+{
|
||||
+ FIXME("(%p)->(%p, %u, %p, %u, %p): stub\n", iface, Method, MethodLength, MethodData, DataLength, BytesReturned);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI SynthPortImpl_IKsControl_KsEvent(IKsControl* iface, PKSEVENT Event, ULONG EventLength, LPVOID EventData,
|
||||
+ ULONG DataLength, ULONG* BytesReturned)
|
||||
+{
|
||||
+ FIXME("(%p)->(%p, %u, %p, %u, %p): stub\n", iface, Event, EventLength, EventData, DataLength, BytesReturned);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static const IKsControlVtbl SynthPortImpl_IKsControl_Vtbl = {
|
||||
+ SynthPortImpl_IKsControl_QueryInterface,
|
||||
+ SynthPortImpl_IKsControl_AddRef,
|
||||
+ SynthPortImpl_IKsControl_Release,
|
||||
+ SynthPortImpl_IKsControl_KsProperty,
|
||||
+ SynthPortImpl_IKsControl_KsMethod,
|
||||
+ SynthPortImpl_IKsControl_KsEvent
|
||||
+};
|
||||
+
|
||||
HRESULT DMUSIC_CreateSynthPortImpl(LPCGUID guid, LPVOID *object, LPUNKNOWN unkouter, LPDMUS_PORTPARAMS port_params, LPDMUS_PORTCAPS port_caps, DWORD device)
|
||||
{
|
||||
SynthPortImpl *obj;
|
||||
@@ -689,6 +767,7 @@ HRESULT DMUSIC_CreateSynthPortImpl(LPCGUID guid, LPVOID *object, LPUNKNOWN unkou
|
||||
obj->IDirectMusicPort_iface.lpVtbl = &SynthPortImpl_DirectMusicPort_Vtbl;
|
||||
obj->IDirectMusicPortDownload_iface.lpVtbl = &SynthPortImpl_DirectMusicPortDownload_Vtbl;
|
||||
obj->IDirectMusicThru_iface.lpVtbl = &SynthPortImpl_DirectMusicThru_Vtbl;
|
||||
+ obj->IKsControl_iface.lpVtbl = &SynthPortImpl_IKsControl_Vtbl;
|
||||
obj->ref = 0; /* Will be inited by QueryInterface */
|
||||
obj->fActive = FALSE;
|
||||
obj->params = *port_params;
|
||||
--
|
||||
2.8.0
|
||||
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "5d96ef42a58e09a2d6cf47a685abb3f42b513ceb"
|
||||
echo "7756d6ba9b0213d5533eb5248e62716e7e8409b8"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -3522,14 +3522,12 @@ fi
|
||||
# | * [#30105] Implement IKsControl stub subinterface for SynthPort
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/dmusic/buffer.c, dlls/dmusic/dmusic_private.h, dlls/dmusic/port.c
|
||||
# | * dlls/dmusic/buffer.c
|
||||
# |
|
||||
if test "$enable_dmusic_SynthPort_IKsControl" -eq 1; then
|
||||
patch_apply dmusic-SynthPort_IKsControl/0001-dmusic-Implement-IDirectMusicBuffer-PackStructured.patch
|
||||
patch_apply dmusic-SynthPort_IKsControl/0002-dmusic-Add-IKsControl-stub-subinterface-for-SynthPor.patch
|
||||
(
|
||||
echo '+ { "Michael Müller", "dmusic: Implement IDirectMusicBuffer::PackStructured.", 1 },';
|
||||
echo '+ { "Michael Müller", "dmusic: Add IKsControl stub subinterface for SynthPort.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 83e88ace41be8d8971bc7efbdb8e9969257729e6 Mon Sep 17 00:00:00 2001
|
||||
From c36ca805fa81799134509231bdbc028dcd1c994e Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Fri, 13 May 2016 16:05:13 +0800
|
||||
Subject: riched20/tests: Add a test to see what richedit class flavours should
|
||||
@ -9,11 +9,11 @@ Subject: riched20/tests: Add a test to see what richedit class flavours should
|
||||
1 file changed, 33 insertions(+)
|
||||
|
||||
diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c
|
||||
index 31d5128..cdde40e 100644
|
||||
index 351695a..1dfcce2 100644
|
||||
--- a/dlls/riched20/tests/editor.c
|
||||
+++ b/dlls/riched20/tests/editor.c
|
||||
@@ -8349,6 +8349,38 @@ static void test_background(void)
|
||||
DestroyWindow(hwndRichEdit);
|
||||
@@ -8408,6 +8408,38 @@ static void test_eop_char_fmt(void)
|
||||
DestroyWindow( edit );
|
||||
}
|
||||
|
||||
+static void test_window_classes(void)
|
||||
@ -51,7 +51,7 @@ index 31d5128..cdde40e 100644
|
||||
START_TEST( editor )
|
||||
{
|
||||
BOOL ret;
|
||||
@@ -8358,6 +8390,7 @@ START_TEST( editor )
|
||||
@@ -8417,6 +8449,7 @@ START_TEST( editor )
|
||||
ok(hmoduleRichEdit != NULL, "error: %d\n", (int) GetLastError());
|
||||
is_lang_japanese = (PRIMARYLANGID(GetUserDefaultLangID()) == LANG_JAPANESE);
|
||||
|
||||
@ -60,5 +60,5 @@ index 31d5128..cdde40e 100644
|
||||
test_EM_FINDTEXT(FALSE);
|
||||
test_EM_FINDTEXT(TRUE);
|
||||
--
|
||||
2.8.0
|
||||
2.9.0
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user