Commit ca2e0c5e authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

mshtml: Use IUnknownVtbl in wrapper_vtbl.

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