mshtml: Use IUnknownVtbl in wrapper_vtbl.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2016-09-14 12:48:36 +02:00 committed by Alexandre Julliard
parent 80a222a8cd
commit ca2e0c5e70

View file

@ -215,107 +215,113 @@ DEFINE_WRAPPER_FUNC(98, 392, 784)
DEFINE_WRAPPER_FUNC(99, 396, 792)
/* The size was found by testing when calls start crashing. It looks like MS wraps up to 100 functions. */
static const void *wrapper_vtbl[] = {
wrapper_QueryInterface,
wrapper_AddRef,
wrapper_Release,
wrapper_func_3,
wrapper_func_4,
wrapper_func_5,
wrapper_func_6,
wrapper_func_7,
wrapper_func_8,
wrapper_func_9,
wrapper_func_10,
wrapper_func_11,
wrapper_func_12,
wrapper_func_13,
wrapper_func_14,
wrapper_func_15,
wrapper_func_16,
wrapper_func_17,
wrapper_func_18,
wrapper_func_19,
wrapper_func_20,
wrapper_func_21,
wrapper_func_22,
wrapper_func_23,
wrapper_func_24,
wrapper_func_25,
wrapper_func_26,
wrapper_func_27,
wrapper_func_28,
wrapper_func_29,
wrapper_func_30,
wrapper_func_31,
wrapper_func_32,
wrapper_func_33,
wrapper_func_34,
wrapper_func_35,
wrapper_func_36,
wrapper_func_37,
wrapper_func_38,
wrapper_func_39,
wrapper_func_40,
wrapper_func_41,
wrapper_func_42,
wrapper_func_43,
wrapper_func_44,
wrapper_func_45,
wrapper_func_46,
wrapper_func_47,
wrapper_func_48,
wrapper_func_49,
wrapper_func_50,
wrapper_func_51,
wrapper_func_52,
wrapper_func_53,
wrapper_func_54,
wrapper_func_55,
wrapper_func_56,
wrapper_func_57,
wrapper_func_58,
wrapper_func_59,
wrapper_func_60,
wrapper_func_61,
wrapper_func_62,
wrapper_func_63,
wrapper_func_64,
wrapper_func_65,
wrapper_func_66,
wrapper_func_67,
wrapper_func_68,
wrapper_func_69,
wrapper_func_70,
wrapper_func_71,
wrapper_func_72,
wrapper_func_73,
wrapper_func_74,
wrapper_func_75,
wrapper_func_76,
wrapper_func_77,
wrapper_func_78,
wrapper_func_79,
wrapper_func_80,
wrapper_func_81,
wrapper_func_82,
wrapper_func_83,
wrapper_func_84,
wrapper_func_85,
wrapper_func_86,
wrapper_func_87,
wrapper_func_88,
wrapper_func_89,
wrapper_func_90,
wrapper_func_91,
wrapper_func_92,
wrapper_func_93,
wrapper_func_94,
wrapper_func_95,
wrapper_func_96,
wrapper_func_97,
wrapper_func_98,
wrapper_func_99
static const struct {
IUnknownVtbl unk_vtbl;
const void *wrappers[97];
} wrapper_vtbl = {
{
wrapper_QueryInterface,
wrapper_AddRef,
wrapper_Release
}, {
wrapper_func_3,
wrapper_func_4,
wrapper_func_5,
wrapper_func_6,
wrapper_func_7,
wrapper_func_8,
wrapper_func_9,
wrapper_func_10,
wrapper_func_11,
wrapper_func_12,
wrapper_func_13,
wrapper_func_14,
wrapper_func_15,
wrapper_func_16,
wrapper_func_17,
wrapper_func_18,
wrapper_func_19,
wrapper_func_20,
wrapper_func_21,
wrapper_func_22,
wrapper_func_23,
wrapper_func_24,
wrapper_func_25,
wrapper_func_26,
wrapper_func_27,
wrapper_func_28,
wrapper_func_29,
wrapper_func_30,
wrapper_func_31,
wrapper_func_32,
wrapper_func_33,
wrapper_func_34,
wrapper_func_35,
wrapper_func_36,
wrapper_func_37,
wrapper_func_38,
wrapper_func_39,
wrapper_func_40,
wrapper_func_41,
wrapper_func_42,
wrapper_func_43,
wrapper_func_44,
wrapper_func_45,
wrapper_func_46,
wrapper_func_47,
wrapper_func_48,
wrapper_func_49,
wrapper_func_50,
wrapper_func_51,
wrapper_func_52,
wrapper_func_53,
wrapper_func_54,
wrapper_func_55,
wrapper_func_56,
wrapper_func_57,
wrapper_func_58,
wrapper_func_59,
wrapper_func_60,
wrapper_func_61,
wrapper_func_62,
wrapper_func_63,
wrapper_func_64,
wrapper_func_65,
wrapper_func_66,
wrapper_func_67,
wrapper_func_68,
wrapper_func_69,
wrapper_func_70,
wrapper_func_71,
wrapper_func_72,
wrapper_func_73,
wrapper_func_74,
wrapper_func_75,
wrapper_func_76,
wrapper_func_77,
wrapper_func_78,
wrapper_func_79,
wrapper_func_80,
wrapper_func_81,
wrapper_func_82,
wrapper_func_83,
wrapper_func_84,
wrapper_func_85,
wrapper_func_86,
wrapper_func_87,
wrapper_func_88,
wrapper_func_89,
wrapper_func_90,
wrapper_func_91,
wrapper_func_92,
wrapper_func_93,
wrapper_func_94,
wrapper_func_95,
wrapper_func_96,
wrapper_func_97,
wrapper_func_98,
wrapper_func_99
}
};
HRESULT wrap_iface(IUnknown *iface, IUnknown *ref_unk, IUnknown **ret)
@ -326,7 +332,7 @@ HRESULT wrap_iface(IUnknown *iface, IUnknown *ref_unk, IUnknown **ret)
if(!wrapper)
return E_OUTOFMEMORY;
wrapper->IUnknown_iface.lpVtbl = (const IUnknownVtbl*)wrapper_vtbl;
wrapper->IUnknown_iface.lpVtbl = &wrapper_vtbl.unk_vtbl;
wrapper->ref = 1;
IUnknown_AddRef(iface);