[PATCH 1/5] strmbase: Fix implementation of IVideoWindow::get_Caption().
Zebediah Figura
z.figura12 at gmail.com
Mon Oct 7 18:55:42 CDT 2019
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
dlls/strmbase/window.c | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/dlls/strmbase/window.c b/dlls/strmbase/window.c
index b7c0bae47b2..4ecc81c24e5 100644
--- a/dlls/strmbase/window.c
+++ b/dlls/strmbase/window.c
@@ -297,15 +297,24 @@ HRESULT WINAPI BaseControlWindowImpl_put_Caption(IVideoWindow *iface, BSTR strCa
return S_OK;
}
-HRESULT WINAPI BaseControlWindowImpl_get_Caption(IVideoWindow *iface, BSTR *strCaption)
+HRESULT WINAPI BaseControlWindowImpl_get_Caption(IVideoWindow *iface, BSTR *caption)
{
- BaseControlWindow* This = impl_from_IVideoWindow(iface);
+ BaseControlWindow *window = impl_from_IVideoWindow(iface);
+ WCHAR *str;
+ int len;
- TRACE("(%p/%p)->(%p)\n", This, iface, strCaption);
+ TRACE("window %p, caption %p.\n", window, caption);
- GetWindowTextW(This->baseWindow.hWnd, (LPWSTR)strCaption, 100);
+ *caption = NULL;
- return S_OK;
+ len = GetWindowTextLengthW(window->baseWindow.hWnd) + 1;
+ if (!(str = heap_alloc(len * sizeof(WCHAR))))
+ return E_OUTOFMEMORY;
+
+ GetWindowTextW(window->baseWindow.hWnd, str, len);
+ *caption = SysAllocString(str);
+ heap_free(str);
+ return *caption ? S_OK : E_OUTOFMEMORY;
}
HRESULT WINAPI BaseControlWindowImpl_put_WindowStyle(IVideoWindow *iface, LONG WindowStyle)
--
2.23.0
More information about the wine-devel
mailing list