Wine-Devel
By thread
wine-devel@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
September 2018
- 70 participants
- 1549 messages
[PATCH 4/7] wined3d: Initialise typeless_id for typeless formats early.
by Józef Kucia
Allows us to use wined3d_format_is_typeless() while initialising
formats.
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
---
dlls/wined3d/utils.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index eb4001df6e73..0d87ffda914e 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -2025,7 +2025,7 @@ static BOOL init_format_base_info(struct wined3d_adapter *adapter)
for (i = 0; i < ARRAY_SIZE(typed_formats); ++i)
{
- const struct wined3d_format *typeless_format;
+ struct wined3d_format *typeless_format;
unsigned int component_count = 0;
DWORD flags = 0;
@@ -2052,6 +2052,8 @@ static BOOL init_format_base_info(struct wined3d_adapter *adapter)
format->block_byte_count = typeless_format->block_byte_count;
format->typeless_id = typeless_format->id;
+ typeless_format->typeless_id = typeless_format->id;
+
for (j = 0; j < strlen(typed_formats[i].channels); ++j)
{
enum wined3d_channel_type channel_type = map_channel_type(typed_formats[i].channels[j]);
--
2.16.4
Sept. 17, 2018
[PATCH 3/7] wined3d: Store additional flags directly in wined3d_format_block_info.
by Józef Kucia
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
---
dlls/wined3d/utils.c | 51 ++++++++++++++++++++++-----------------------------
1 file changed, 22 insertions(+), 29 deletions(-)
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 904baef8b2dc..eb4001df6e73 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -570,31 +570,30 @@ struct wined3d_format_block_info
UINT block_width;
UINT block_height;
UINT block_byte_count;
- BOOL verify;
- BOOL compressed;
+ unsigned int flags;
};
static const struct wined3d_format_block_info format_block_info[] =
{
- {WINED3DFMT_DXT1, 4, 4, 8, TRUE, TRUE},
- {WINED3DFMT_DXT2, 4, 4, 16, TRUE, TRUE},
- {WINED3DFMT_DXT3, 4, 4, 16, TRUE, TRUE},
- {WINED3DFMT_DXT4, 4, 4, 16, TRUE, TRUE},
- {WINED3DFMT_DXT5, 4, 4, 16, TRUE, TRUE},
- {WINED3DFMT_BC1_UNORM, 4, 4, 8, TRUE, TRUE},
- {WINED3DFMT_BC2_UNORM, 4, 4, 16, TRUE, TRUE},
- {WINED3DFMT_BC3_UNORM, 4, 4, 16, TRUE, TRUE},
- {WINED3DFMT_BC4_UNORM, 4, 4, 8, TRUE, TRUE},
- {WINED3DFMT_BC4_SNORM, 4, 4, 8, TRUE, TRUE},
- {WINED3DFMT_BC5_UNORM, 4, 4, 16, TRUE, TRUE},
- {WINED3DFMT_BC5_SNORM, 4, 4, 16, TRUE, TRUE},
- {WINED3DFMT_BC6H_UF16, 4, 4, 16, TRUE, TRUE},
- {WINED3DFMT_BC6H_SF16, 4, 4, 16, TRUE, TRUE},
- {WINED3DFMT_BC7_UNORM, 4, 4, 16, TRUE, TRUE},
- {WINED3DFMT_ATI1N, 4, 4, 8, FALSE, TRUE},
- {WINED3DFMT_ATI2N, 4, 4, 16, FALSE, TRUE},
- {WINED3DFMT_YUY2, 2, 1, 4, FALSE, FALSE},
- {WINED3DFMT_UYVY, 2, 1, 4, FALSE, FALSE},
+ {WINED3DFMT_DXT1, 4, 4, 8, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_DXT2, 4, 4, 16, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_DXT3, 4, 4, 16, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_DXT4, 4, 4, 16, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_DXT5, 4, 4, 16, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_BC1_UNORM, 4, 4, 8, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_BC2_UNORM, 4, 4, 16, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_BC3_UNORM, 4, 4, 16, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_BC4_UNORM, 4, 4, 8, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_BC4_SNORM, 4, 4, 8, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_BC5_UNORM, 4, 4, 16, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_BC5_SNORM, 4, 4, 16, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_BC6H_UF16, 4, 4, 16, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_BC6H_SF16, 4, 4, 16, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_BC7_UNORM, 4, 4, 16, WINED3DFMT_FLAG_COMPRESSED},
+ {WINED3DFMT_ATI1N, 4, 4, 8, WINED3DFMT_FLAG_COMPRESSED | WINED3DFMT_FLAG_BLOCKS_NO_VERIFY},
+ {WINED3DFMT_ATI2N, 4, 4, 16, WINED3DFMT_FLAG_COMPRESSED | WINED3DFMT_FLAG_BLOCKS_NO_VERIFY},
+ {WINED3DFMT_YUY2, 2, 1, 4, WINED3DFMT_FLAG_BLOCKS_NO_VERIFY},
+ {WINED3DFMT_UYVY, 2, 1, 4, WINED3DFMT_FLAG_BLOCKS_NO_VERIFY},
};
struct wined3d_format_vertex_info
@@ -2103,23 +2102,17 @@ fail:
static BOOL init_format_block_info(struct wined3d_adapter *adapter)
{
struct wined3d_format *format;
- unsigned int flags, i;
+ unsigned int i;
for (i = 0; i < ARRAY_SIZE(format_block_info); ++i)
{
if (!(format = get_format_internal(adapter, format_block_info[i].id)))
return FALSE;
- flags = WINED3DFMT_FLAG_BLOCKS;
- if (!format_block_info[i].verify)
- flags |= WINED3DFMT_FLAG_BLOCKS_NO_VERIFY;
- if (format_block_info[i].compressed)
- flags |= WINED3DFMT_FLAG_COMPRESSED;
-
format->block_width = format_block_info[i].block_width;
format->block_height = format_block_info[i].block_height;
format->block_byte_count = format_block_info[i].block_byte_count;
- format_set_flag(format, flags);
+ format_set_flag(format, WINED3DFMT_FLAG_BLOCKS | format_block_info[i].flags);
}
return TRUE;
--
2.16.4
Sept. 17, 2018
[PATCH 2/7] wined3d: Add missing formats to debug_d3dformat().
by Józef Kucia
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
---
dlls/wined3d/utils.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index b4a3c1dca291..904baef8b2dc 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -4142,6 +4142,7 @@ const char *debug_d3dformat(enum wined3d_format_id format_id)
FMT_TO_STR(WINED3DFMT_R5G5_SNORM_L6_UNORM);
FMT_TO_STR(WINED3DFMT_R8G8_SNORM_L8X8_UNORM);
FMT_TO_STR(WINED3DFMT_R10G11B11_SNORM);
+ FMT_TO_STR(WINED3DFMT_R10G10B10X2_TYPELESS);
FMT_TO_STR(WINED3DFMT_R10G10B10X2_UINT);
FMT_TO_STR(WINED3DFMT_R10G10B10X2_SNORM);
FMT_TO_STR(WINED3DFMT_R10G10B10_SNORM_A2_UNORM);
@@ -4167,6 +4168,7 @@ const char *debug_d3dformat(enum wined3d_format_id format_id)
FMT_TO_STR(WINED3DFMT_R8G8_SNORM_Cx);
FMT_TO_STR(WINED3DFMT_ATI1N);
FMT_TO_STR(WINED3DFMT_ATI2N);
+ FMT_TO_STR(WINED3DFMT_INST);
FMT_TO_STR(WINED3DFMT_NVDB);
FMT_TO_STR(WINED3DFMT_NVHU);
FMT_TO_STR(WINED3DFMT_NVHS);
--
2.16.4
Sept. 17, 2018
[PATCH 1/7] wined3d: Use get_format_internal() to get WINED3DFMT_UNKNOWN.
by Józef Kucia
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
---
dlls/wined3d/utils.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 0f8ee7134bad..b4a3c1dca291 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -3982,7 +3982,7 @@ const struct wined3d_format *wined3d_get_format(const struct wined3d_adapter *ad
{
FIXME("Can't find format %s (%#x) in the format lookup table.\n",
debug_d3dformat(format_id), format_id);
- return &adapter->formats[get_format_idx(WINED3DFMT_UNKNOWN)];
+ return get_format_internal(adapter, WINED3DFMT_UNKNOWN);
}
format = &adapter->formats[idx];
@@ -3997,7 +3997,7 @@ const struct wined3d_format *wined3d_get_format(const struct wined3d_adapter *ad
FIXME("Cannot find depth/stencil typeless format %s (%#x).\n",
debug_d3dformat(format_id), format_id);
- return &adapter->formats[get_format_idx(WINED3DFMT_UNKNOWN)];
+ return get_format_internal(adapter, WINED3DFMT_UNKNOWN);
}
return format;
--
2.16.4
Sept. 17, 2018
Re: [PATCH] ole32: Release marshal data before removing apartment from list.
by Huw Davies
On Thu, Sep 13, 2018 at 12:12:09PM -0500, Sergio Gómez Del Real wrote:
> I'm not sure how to add a test case here:
>
> The issue is in apartment_release(), but specifically when the count drops
> to 0 so that apartment gets destroyed. This function doesn't have a means to
> communicate errors when releasing resources fail while destroying apartment;
> it just returns a DWORD with the reference count.
>
> As far as I can tell, there isn't any call to apartment_release() that
> relies on the DWORD returned; we could return a special value here upon
> failure releasing any resource, although I don't think that would be useful
> in general (it would only be useful to the test case).
Yeah, ok. However you can't hold the apt list crit section while
calling CoReleaseMarshalData() as that may have to call out to other
apts.
Huw.
Sept. 17, 2018
Re: [PATCH v3 2/4] riched20: Add stub for ITextDocument2Old interface.
by Dmitry Timoshkov
Hi Huw,
Huw Davies <huw(a)codeweavers.com> wrote:
> This won't work because the ITextDocument2Old typeinfo doesn't yet
> exist---you'll have to add it manually to riched_tom.idl . The whole
> thing seems a bit of a mess unfortunately!
>
> Could you add some tests for ITextDocument2Old_GetTypeInfo while
> you're at it?
Could you please remove the parts of original e-mail you're not commenting on?
Thank you.
--
Dmitry.
Sept. 17, 2018
Re: [PATCH v3 2/4] riched20: Add stub for ITextDocument2Old interface.
by Huw Davies
On Thu, Sep 13, 2018 at 04:15:10PM +0800, Jactry Zeng wrote:
> Superseded patch 151076.
>
> Signed-off-by: Jactry Zeng <jzeng(a)codeweavers.com>
> ---
> dlls/riched20/editor.h | 2 +-
> dlls/riched20/richole.c | 445 ++++++++++++++++++++++++----------
> dlls/riched20/tests/richole.c | 9 +
> dlls/riched20/txtsrv.c | 2 +-
> 4 files changed, 325 insertions(+), 133 deletions(-)
>
> diff --git a/dlls/riched20/editor.h b/dlls/riched20/editor.h
> index 141c63aca9..eba6d35fc7 100644
> --- a/dlls/riched20/editor.h
> +++ b/dlls/riched20/editor.h
> @@ -233,7 +233,7 @@ void ME_DrawOLE(ME_Context *c, int x, int y, ME_Run* run, BOOL selected) DECLSPE
> void ME_GetOLEObjectSize(const ME_Context *c, ME_Run *run, SIZE *pSize) DECLSPEC_HIDDEN;
> void ME_CopyReObject(REOBJECT *dst, const REOBJECT *src, DWORD flags) DECLSPEC_HIDDEN;
> void ME_DeleteReObject(struct re_object *re_object) DECLSPEC_HIDDEN;
> -void ME_GetITextDocumentInterface(IRichEditOle *iface, LPVOID *ppvObj) DECLSPEC_HIDDEN;
> +void ME_GetITextDocument2OldInterface(IRichEditOle *iface, LPVOID *ppvObj) DECLSPEC_HIDDEN;
>
> /* editor.c */
> ME_TextEditor *ME_MakeEditor(ITextHost *texthost, BOOL bEmulateVersion10) DECLSPEC_HIDDEN;
> diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c
> index 11b9920b57..8d43ce6ce1 100644
> --- a/dlls/riched20/richole.c
> +++ b/dlls/riched20/richole.c
> @@ -46,6 +46,7 @@ DEFINE_GUID(IID_ITextServices, 0x8d33f740, 0xcf58, 0x11ce, 0xa8, 0x9d, 0x00, 0xa
> DEFINE_GUID(IID_ITextHost, 0x13e670f4,0x1a5a,0x11cf,0xab,0xeb,0x00,0xaa,0x00,0xb6,0x5e,0xa1);
> DEFINE_GUID(IID_ITextHost2, 0x13e670f5,0x1a5a,0x11cf,0xab,0xeb,0x00,0xaa,0x00,0xb6,0x5e,0xa1);
> DEFINE_GUID(IID_ITextDocument, 0x8cc497c0, 0xa1df, 0x11ce, 0x80, 0x98, 0x00, 0xaa, 0x00, 0x47, 0xbe, 0x5d);
> +DEFINE_GUID(IID_ITextDocument2Old, 0x01c25500, 0x4268, 0x11d1, 0x88, 0x3a, 0x3c, 0x8b, 0x00, 0xc1, 0x00, 0x00);
> DEFINE_GUID(IID_ITextRange, 0x8cc497c2, 0xa1df, 0x11ce, 0x80, 0x98, 0x00, 0xaa, 0x00, 0x47, 0xbe, 0x5d);
> DEFINE_GUID(IID_ITextSelection, 0x8cc497c1, 0xa1df, 0x11ce, 0x80, 0x98, 0x00, 0xaa, 0x00, 0x47, 0xbe, 0x5d);
> DEFINE_GUID(IID_ITextFont, 0x8cc497c3, 0xa1df, 0x11ce, 0x80, 0x98, 0x00, 0xaa, 0x00, 0x47, 0xbe, 0x5d);
> @@ -55,7 +56,7 @@ static ITypeLib *typelib;
>
> enum tid_t {
> NULL_tid,
> - ITextDocument_tid,
> + ITextDocument2Old_tid,
> ITextRange_tid,
> ITextSelection_tid,
> ITextFont_tid,
> @@ -66,7 +67,7 @@ enum tid_t {
> static const IID * const tid_ids[] =
> {
> &IID_NULL,
> - &IID_ITextDocument,
> + &IID_ITextDocument2Old,
This won't work because the ITextDocument2Old typeinfo doesn't yet
exist---you'll have to add it manually to riched_tom.idl . The whole
thing seems a bit of a mess unfortunately!
Could you add some tests for ITextDocument2Old_GetTypeInfo while
you're at it?
> &IID_ITextRange,
> &IID_ITextSelection,
> &IID_ITextFont,
> @@ -208,7 +209,7 @@ enum range_update_op {
> typedef struct IRichEditOleImpl {
> IUnknown IUnknown_inner;
> IRichEditOle IRichEditOle_iface;
> - ITextDocument ITextDocument_iface;
> + ITextDocument2Old ITextDocument2Old_iface;
> IUnknown *outer_unk;
> LONG ref;
>
> @@ -267,9 +268,9 @@ static inline IRichEditOleImpl *impl_from_IRichEditOle(IRichEditOle *iface)
> return CONTAINING_RECORD(iface, IRichEditOleImpl, IRichEditOle_iface);
> }
>
> -static inline IRichEditOleImpl *impl_from_ITextDocument(ITextDocument *iface)
> +static inline IRichEditOleImpl *impl_from_ITextDocument2Old(ITextDocument2Old *iface)
> {
> - return CONTAINING_RECORD(iface, IRichEditOleImpl, ITextDocument_iface);
> + return CONTAINING_RECORD(iface, IRichEditOleImpl, ITextDocument2Old_iface);
> }
>
> static inline IRichEditOleImpl *impl_from_IUnknown(IUnknown *iface)
> @@ -943,8 +944,8 @@ static HRESULT WINAPI IRichEditOleImpl_inner_fnQueryInterface(IUnknown *iface, R
> *ppvObj = &This->IUnknown_inner;
> else if (IsEqualGUID(riid, &IID_IRichEditOle))
> *ppvObj = &This->IRichEditOle_iface;
> - else if (IsEqualGUID(riid, &IID_ITextDocument))
> - *ppvObj = &This->ITextDocument_iface;
> + else if (IsEqualGUID(riid, &IID_ITextDocument) || IsEqualGUID(riid, &IID_ITextDocument2Old))
> + *ppvObj = &This->ITextDocument2Old_iface;
> if (*ppvObj)
> {
> IUnknown_AddRef((IUnknown *)*ppvObj);
> @@ -3859,76 +3860,71 @@ static HRESULT create_textpara(ITextRange *range, ITextPara **ret)
> }
>
> /* ITextDocument */
> -static HRESULT WINAPI
> -ITextDocument_fnQueryInterface(ITextDocument* me, REFIID riid,
> - void** ppvObject)
> +static HRESULT WINAPI ITextDocument2Old_fnQueryInterface(ITextDocument2Old* iface, REFIID riid,
> + void **ppvObject)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> return IRichEditOle_QueryInterface(&This->IRichEditOle_iface, riid, ppvObject);
> }
>
> -static ULONG WINAPI
> -ITextDocument_fnAddRef(ITextDocument* me)
> +static ULONG WINAPI ITextDocument2Old_fnAddRef(ITextDocument2Old *iface)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> return IRichEditOle_AddRef(&This->IRichEditOle_iface);
> }
>
> -static ULONG WINAPI
> -ITextDocument_fnRelease(ITextDocument* me)
> +static ULONG WINAPI ITextDocument2Old_fnRelease(ITextDocument2Old *iface)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> return IRichEditOle_Release(&This->IRichEditOle_iface);
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnGetTypeInfoCount(ITextDocument* me,
> - UINT* pctinfo)
> +static HRESULT WINAPI ITextDocument2Old_fnGetTypeInfoCount(ITextDocument2Old *iface,
> + UINT *pctinfo)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> TRACE("(%p)->(%p)\n", This, pctinfo);
> *pctinfo = 1;
> return S_OK;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnGetTypeInfo(ITextDocument* me, UINT iTInfo, LCID lcid,
> - ITypeInfo** ppTInfo)
> +static HRESULT WINAPI ITextDocument2Old_fnGetTypeInfo(ITextDocument2Old *iface, UINT iTInfo, LCID lcid,
> + ITypeInfo **ppTInfo)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> HRESULT hr;
>
> TRACE("(%p)->(%u,%d,%p)\n", This, iTInfo, lcid, ppTInfo);
>
> - hr = get_typeinfo(ITextDocument_tid, ppTInfo);
> + hr = get_typeinfo(ITextDocument2Old_tid, ppTInfo);
> if (SUCCEEDED(hr))
> ITypeInfo_AddRef(*ppTInfo);
> return hr;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnGetIDsOfNames(ITextDocument* me, REFIID riid,
> - LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId)
> +static HRESULT WINAPI ITextDocument2Old_fnGetIDsOfNames(ITextDocument2Old *iface, REFIID riid,
> + LPOLESTR *rgszNames, UINT cNames,
> + LCID lcid, DISPID *rgDispId)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> ITypeInfo *ti;
> HRESULT hr;
>
> TRACE("(%p)->(%s, %p, %u, %d, %p)\n", This, debugstr_guid(riid),
> rgszNames, cNames, lcid, rgDispId);
>
> - hr = get_typeinfo(ITextDocument_tid, &ti);
> + hr = get_typeinfo(ITextDocument2Old_tid, &ti);
> if (SUCCEEDED(hr))
> hr = ITypeInfo_GetIDsOfNames(ti, rgszNames, cNames, rgDispId);
> return hr;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnInvoke(ITextDocument* me, DISPID dispIdMember,
> - REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams,
> - VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr)
> +static HRESULT WINAPI ITextDocument2Old_fnInvoke(ITextDocument2Old *iface, DISPID dispIdMember,
> + REFIID riid, LCID lcid, WORD wFlags,
> + DISPPARAMS *pDispParams, VARIANT *pVarResult,
> + EXCEPINFO *pExcepInfo, UINT *puArgErr)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> ITypeInfo *ti;
> HRESULT hr;
>
> @@ -3936,26 +3932,24 @@ ITextDocument_fnInvoke(ITextDocument* me, DISPID dispIdMember,
> debugstr_guid(riid), lcid, wFlags, pDispParams, pVarResult,
> pExcepInfo, puArgErr);
>
> - hr = get_typeinfo(ITextDocument_tid, &ti);
> + hr = get_typeinfo(ITextDocument2Old_tid, &ti);
> if (SUCCEEDED(hr))
> - hr = ITypeInfo_Invoke(ti, me, dispIdMember, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
> + hr = ITypeInfo_Invoke(ti, iface, dispIdMember, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
> return hr;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnGetName(ITextDocument* me, BSTR* pName)
> +static HRESULT WINAPI ITextDocument2Old_fnGetName(ITextDocument2Old *iface, BSTR *pName)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnGetSelection(ITextDocument *me, ITextSelection **selection)
> +static HRESULT WINAPI ITextDocument2Old_fnGetSelection(ITextDocument2Old *iface, ITextSelection **selection)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
>
> - TRACE("(%p)->(%p)\n", me, selection);
> + TRACE("(%p)->(%p)\n", iface, selection);
>
> if (!selection)
> return E_INVALIDARG;
> @@ -3973,125 +3967,110 @@ ITextDocument_fnGetSelection(ITextDocument *me, ITextSelection **selection)
> return S_OK;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnGetStoryCount(ITextDocument* me, LONG* pCount)
> +static HRESULT WINAPI ITextDocument2Old_fnGetStoryCount(ITextDocument2Old *iface, LONG *pCount)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnGetStoryRanges(ITextDocument* me,
> - ITextStoryRanges** ppStories)
> +static HRESULT WINAPI ITextDocument2Old_fnGetStoryRanges(ITextDocument2Old *iface,
> + ITextStoryRanges **ppStories)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnGetSaved(ITextDocument* me, LONG* pValue)
> +static HRESULT WINAPI ITextDocument2Old_fnGetSaved(ITextDocument2Old *iface, LONG *pValue)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnSetSaved(ITextDocument* me, LONG Value)
> +static HRESULT WINAPI ITextDocument2Old_fnSetSaved(ITextDocument2Old *iface, LONG Value)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnGetDefaultTabStop(ITextDocument* me, float* pValue)
> +static HRESULT WINAPI ITextDocument2Old_fnGetDefaultTabStop(ITextDocument2Old *iface, float *pValue)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnSetDefaultTabStop(ITextDocument* me, float Value)
> +static HRESULT WINAPI ITextDocument2Old_fnSetDefaultTabStop(ITextDocument2Old *iface, float Value)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnNew(ITextDocument* me)
> +static HRESULT WINAPI ITextDocument2Old_fnNew(ITextDocument2Old *iface)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnOpen(ITextDocument* me, VARIANT* pVar, LONG Flags,
> - LONG CodePage)
> +static HRESULT WINAPI ITextDocument2Old_fnOpen(ITextDocument2Old *iface, VARIANT *pVar,
> + LONG Flags, LONG CodePage)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnSave(ITextDocument* me, VARIANT* pVar, LONG Flags,
> - LONG CodePage)
> +static HRESULT WINAPI ITextDocument2Old_fnSave(ITextDocument2Old *iface, VARIANT *pVar,
> + LONG Flags, LONG CodePage)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnFreeze(ITextDocument* me, LONG* pCount)
> +static HRESULT WINAPI ITextDocument2Old_fnFreeze(ITextDocument2Old *iface, LONG *pCount)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnUnfreeze(ITextDocument* me, LONG* pCount)
> +static HRESULT WINAPI ITextDocument2Old_fnUnfreeze(ITextDocument2Old *iface, LONG *pCount)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnBeginEditCollection(ITextDocument* me)
> +static HRESULT WINAPI ITextDocument2Old_fnBeginEditCollection(ITextDocument2Old *iface)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnEndEditCollection(ITextDocument* me)
> +static HRESULT WINAPI ITextDocument2Old_fnEndEditCollection(ITextDocument2Old *iface)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnUndo(ITextDocument* me, LONG Count, LONG* prop)
> +static HRESULT WINAPI ITextDocument2Old_fnUndo(ITextDocument2Old *iface, LONG Count, LONG *prop)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnRedo(ITextDocument* me, LONG Count, LONG* prop)
> +static HRESULT WINAPI ITextDocument2Old_fnRedo(ITextDocument2Old *iface, LONG Count, LONG *prop)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
> @@ -4112,11 +4091,10 @@ static HRESULT CreateITextRange(IRichEditOleImpl *reOle, LONG start, LONG end, I
> return S_OK;
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnRange(ITextDocument* me, LONG cp1, LONG cp2,
> - ITextRange** ppRange)
> +static HRESULT WINAPI ITextDocument2Old_fnRange(ITextDocument2Old *iface, LONG cp1, LONG cp2,
> + ITextRange **ppRange)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> const int len = ME_GetTextLength(This->editor) + 1;
>
> TRACE("%p %p %d %d\n", This, ppRange, cp1, cp2);
> @@ -4140,42 +4118,247 @@ ITextDocument_fnRange(ITextDocument* me, LONG cp1, LONG cp2,
> return CreateITextRange(This, cp1, cp2, ppRange);
> }
>
> -static HRESULT WINAPI
> -ITextDocument_fnRangeFromPoint(ITextDocument* me, LONG x, LONG y,
> - ITextRange** ppRange)
> +static HRESULT WINAPI ITextDocument2Old_fnRangeFromPoint(ITextDocument2Old *iface, LONG x, LONG y,
> + ITextRange **ppRange)
> {
> - IRichEditOleImpl *This = impl_from_ITextDocument(me);
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> FIXME("stub %p\n",This);
> return E_NOTIMPL;
> }
>
> -static const ITextDocumentVtbl tdvt = {
> - ITextDocument_fnQueryInterface,
> - ITextDocument_fnAddRef,
> - ITextDocument_fnRelease,
> - ITextDocument_fnGetTypeInfoCount,
> - ITextDocument_fnGetTypeInfo,
> - ITextDocument_fnGetIDsOfNames,
> - ITextDocument_fnInvoke,
> - ITextDocument_fnGetName,
> - ITextDocument_fnGetSelection,
> - ITextDocument_fnGetStoryCount,
> - ITextDocument_fnGetStoryRanges,
> - ITextDocument_fnGetSaved,
> - ITextDocument_fnSetSaved,
> - ITextDocument_fnGetDefaultTabStop,
> - ITextDocument_fnSetDefaultTabStop,
> - ITextDocument_fnNew,
> - ITextDocument_fnOpen,
> - ITextDocument_fnSave,
> - ITextDocument_fnFreeze,
> - ITextDocument_fnUnfreeze,
> - ITextDocument_fnBeginEditCollection,
> - ITextDocument_fnEndEditCollection,
> - ITextDocument_fnUndo,
> - ITextDocument_fnRedo,
> - ITextDocument_fnRange,
> - ITextDocument_fnRangeFromPoint
> +/* ITextDocument2Old methods */
> +static HRESULT WINAPI ITextDocument2Old_fnAttachMsgFilter(ITextDocument2Old *iface, IUnknown *filter)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%p): stub\n", This, filter);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnSetEffectColor(ITextDocument2Old *iface, LONG index, COLORREF cr)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%d, 0x%x): stub\n", This, index, cr);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnGetEffectColor(ITextDocument2Old *iface, LONG index, COLORREF *cr)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%d, %p): stub\n", This, index, cr);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnGetCaretType(ITextDocument2Old *iface, LONG *type)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%p): stub\n", This, type);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnSetCaretType(ITextDocument2Old *iface, LONG type)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%d): stub\n", This, type);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnGetImmContext(ITextDocument2Old *iface, LONG *context)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%p): stub\n", This, context);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnReleaseImmContext(ITextDocument2Old *iface, LONG context)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%d): stub\n", This, context);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnGetPreferredFont(ITextDocument2Old *iface, LONG cp, LONG charrep,
> + LONG options, LONG current_charrep, LONG current_fontsize,
> + BSTR *bstr, LONG *pitch_family, LONG *new_fontsize)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%d, %d, %d, %d, %d, %p, %p, %p): stub\n", This, cp, charrep, options, current_charrep,
> + current_fontsize, bstr, pitch_family, new_fontsize);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnGetNotificationMode(ITextDocument2Old *iface, LONG *mode)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%p): stub\n", This, mode);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnSetNotificationMode(ITextDocument2Old *iface, LONG mode)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(0x%x): stub\n", This, mode);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnGetClientRect(ITextDocument2Old *iface, LONG type, LONG *left, LONG *top,
> + LONG *right, LONG *bottom)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%d, %p, %p, %p, %p): stub\n", This, type, left, top, right, bottom);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnGetSelectionEx(ITextDocument2Old *iface, ITextSelection **selection)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%p): stub\n", This, selection);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnGetWindow(ITextDocument2Old *iface, LONG *hwnd)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%p): stub\n", This, hwnd);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnGetFEFlags(ITextDocument2Old *iface, LONG *flags)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%p): stub\n", This, flags);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnUpdateWindow(ITextDocument2Old *iface)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p): stub\n", This);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnCheckTextLimit(ITextDocument2Old *iface, LONG cch, LONG *exceed)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%d, %p): stub\n", This, cch, exceed);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnIMEInProgress(ITextDocument2Old *iface, LONG mode)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(0x%x): stub\n", This, mode);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnSysBeep(ITextDocument2Old *iface)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p): stub\n", This);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnUpdate(ITextDocument2Old *iface, LONG mode)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(0x%x): stub\n", This, mode);
> +
> + return E_NOTIMPL;
> +}
> +
> +static HRESULT WINAPI ITextDocument2Old_fnNotify(ITextDocument2Old *iface, LONG notify)
> +{
> + IRichEditOleImpl *This = impl_from_ITextDocument2Old(iface);
> +
> + FIXME("(%p)->(%d): stub\n", This, notify);
> +
> + return E_NOTIMPL;
> +}
> +
> +static const ITextDocument2OldVtbl tdvt = {
> + ITextDocument2Old_fnQueryInterface,
> + ITextDocument2Old_fnAddRef,
> + ITextDocument2Old_fnRelease,
> + ITextDocument2Old_fnGetTypeInfoCount,
> + ITextDocument2Old_fnGetTypeInfo,
> + ITextDocument2Old_fnGetIDsOfNames,
> + ITextDocument2Old_fnInvoke,
> + ITextDocument2Old_fnGetName,
> + ITextDocument2Old_fnGetSelection,
> + ITextDocument2Old_fnGetStoryCount,
> + ITextDocument2Old_fnGetStoryRanges,
> + ITextDocument2Old_fnGetSaved,
> + ITextDocument2Old_fnSetSaved,
> + ITextDocument2Old_fnGetDefaultTabStop,
> + ITextDocument2Old_fnSetDefaultTabStop,
> + ITextDocument2Old_fnNew,
> + ITextDocument2Old_fnOpen,
> + ITextDocument2Old_fnSave,
> + ITextDocument2Old_fnFreeze,
> + ITextDocument2Old_fnUnfreeze,
> + ITextDocument2Old_fnBeginEditCollection,
> + ITextDocument2Old_fnEndEditCollection,
> + ITextDocument2Old_fnUndo,
> + ITextDocument2Old_fnRedo,
> + ITextDocument2Old_fnRange,
> + ITextDocument2Old_fnRangeFromPoint,
> + /* ITextDocument2Old methods */
> + ITextDocument2Old_fnAttachMsgFilter,
> + ITextDocument2Old_fnSetEffectColor,
> + ITextDocument2Old_fnGetEffectColor,
> + ITextDocument2Old_fnGetCaretType,
> + ITextDocument2Old_fnSetCaretType,
> + ITextDocument2Old_fnGetImmContext,
> + ITextDocument2Old_fnReleaseImmContext,
> + ITextDocument2Old_fnGetPreferredFont,
> + ITextDocument2Old_fnGetNotificationMode,
> + ITextDocument2Old_fnSetNotificationMode,
> + ITextDocument2Old_fnGetClientRect,
> + ITextDocument2Old_fnGetSelectionEx,
> + ITextDocument2Old_fnGetWindow,
> + ITextDocument2Old_fnGetFEFlags,
> + ITextDocument2Old_fnUpdateWindow,
> + ITextDocument2Old_fnCheckTextLimit,
> + ITextDocument2Old_fnIMEInProgress,
> + ITextDocument2Old_fnSysBeep,
> + ITextDocument2Old_fnUpdate,
> + ITextDocument2Old_fnNotify
> };
>
> /* ITextSelection */
> @@ -5276,7 +5459,7 @@ LRESULT CreateIRichEditOle(IUnknown *outer_unk, ME_TextEditor *editor, LPVOID *p
>
> reo->IUnknown_inner.lpVtbl = &reo_unk_vtbl;
> reo->IRichEditOle_iface.lpVtbl = &revt;
> - reo->ITextDocument_iface.lpVtbl = &tdvt;
> + reo->ITextDocument2Old_iface.lpVtbl = &tdvt;
> reo->ref = 1;
> reo->editor = editor;
> reo->txtSel = NULL;
> @@ -5509,8 +5692,8 @@ void ME_CopyReObject(REOBJECT *dst, const REOBJECT *src, DWORD flags)
> }
> }
>
> -void ME_GetITextDocumentInterface(IRichEditOle *iface, LPVOID *ppvObj)
> +void ME_GetITextDocument2OldInterface(IRichEditOle *iface, LPVOID *ppvObj)
> {
> IRichEditOleImpl *This = impl_from_IRichEditOle(iface);
> - *ppvObj = &This->ITextDocument_iface;
> + *ppvObj = &This->ITextDocument2Old_iface;
> }
> diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c
> index aaf52bcfdd..3e42047a57 100644
> --- a/dlls/riched20/tests/richole.c
> +++ b/dlls/riched20/tests/richole.c
> @@ -117,6 +117,7 @@ static void test_Interfaces(void)
> {
> IRichEditOle *reOle = NULL, *reOle1 = NULL;
> ITextDocument *txtDoc = NULL;
> + ITextDocument2Old *txtDoc2Old = NULL;
> ITextSelection *txtSel = NULL, *txtSel2;
> IUnknown *punk;
> HRESULT hres;
> @@ -195,6 +196,14 @@ static void test_Interfaces(void)
> hres = IRichEditOle_QueryInterface(reOle, &IID_IOleInPlaceSite, (void **) &punk);
> ok(hres == E_NOINTERFACE, "IRichEditOle_QueryInterface\n");
>
> + hres = IRichEditOle_QueryInterface(reOle, &IID_ITextDocument2Old, (void **)&txtDoc2Old);
> + ok(hres == S_OK, "IRichEditOle_QueryInterface\n");
> + ok(txtDoc2Old != NULL, "IRichEditOle_QueryInterface\n");
> + ok((ITextDocument *)txtDoc2Old == txtDoc, "interface pointer isn't equal.\n");
> + EXPECT_REF(txtDoc2Old, 5);
> + EXPECT_REF(reOle, 5);
> + ITextDocument2Old_Release(txtDoc2Old);
> +
> ITextDocument_Release(txtDoc);
> IRichEditOle_Release(reOle);
> refcount = IRichEditOle_Release(reOle);
> diff --git a/dlls/riched20/txtsrv.c b/dlls/riched20/txtsrv.c
> index ee65621b1d..5ab3322e6b 100644
> --- a/dlls/riched20/txtsrv.c
> +++ b/dlls/riched20/txtsrv.c
> @@ -83,7 +83,7 @@ static HRESULT WINAPI ITextServicesImpl_QueryInterface(IUnknown *iface, REFIID r
> if (!CreateIRichEditOle(This->outer_unk, This->editor, (void **)(&This->editor->reOle)))
> return E_OUTOFMEMORY;
> if (IsEqualIID(riid, &IID_ITextDocument))
> - ME_GetITextDocumentInterface(This->editor->reOle, ppv);
> + ME_GetITextDocument2OldInterface(This->editor->reOle, ppv);
> else
> *ppv = This->editor->reOle;
> } else {
> --
> 2.18.0
>
>
>
>
Sept. 17, 2018
Re: [PATCH] winhttp: Make winsock_init() static.
by Hans Leidekker
Signed-off-by: Hans Leidekker <hans(a)codeweavers.com>
Sept. 17, 2018
Re: [PATCH] msxml3/tests: Make test_namespaces_as_attributes() static.
by Nikolay Sivov
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
Sept. 17, 2018
Re: [PATCH] opcservices: Add missing break (coverity)
by Nikolay Sivov
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
Sept. 17, 2018