mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-05 18:01:34 +00:00
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:
parent
80a222a8cd
commit
ca2e0c5e70
1 changed files with 108 additions and 102 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue