} EnumTfInputProcessorProfiles;
static HRESULT ProfilesEnumGuid_Constructor(IEnumGUID **ppOut);
-static HRESULT EnumTfLanguageProfiles_Constructor(LANGID langid, IEnumTfLanguageProfiles **ppOut);
+static HRESULT EnumTfLanguageProfiles_Constructor(LANGID langid, EnumTfLanguageProfiles **out);
static inline EnumTfInputProcessorProfiles *impl_from_IEnumTfInputProcessorProfiles(IEnumTfInputProcessorProfiles *iface)
{
IEnumTfLanguageProfiles **ppEnum)
{
InputProcessorProfiles *This = impl_from_ITfInputProcessorProfiles(iface);
+ EnumTfLanguageProfiles *profenum;
+ HRESULT hr;
+
TRACE("(%p) %x %p\n",This,langid,ppEnum);
- return EnumTfLanguageProfiles_Constructor(langid, ppEnum);
+
+ if (!ppEnum)
+ return E_INVALIDARG;
+ hr = EnumTfLanguageProfiles_Constructor(langid, &profenum);
+ *ppEnum = &profenum->IEnumTfLanguageProfiles_iface;
+
+ return hr;
}
static HRESULT WINAPI InputProcessorProfiles_EnableLanguageProfile(
IEnumTfLanguageProfiles **ppenum)
{
EnumTfLanguageProfiles *This = impl_from_IEnumTfLanguageProfiles(iface);
+ EnumTfLanguageProfiles *new_This;
HRESULT res;
TRACE("(%p)\n",This);
if (ppenum == NULL) return E_POINTER;
- res = EnumTfLanguageProfiles_Constructor(This->langid, ppenum);
+ res = EnumTfLanguageProfiles_Constructor(This->langid, &new_This);
if (SUCCEEDED(res))
{
- EnumTfLanguageProfiles *new_This = (EnumTfLanguageProfiles *)*ppenum;
new_This->tip_index = This->tip_index;
lstrcpynW(new_This->szwCurrentClsid,This->szwCurrentClsid,39);
res = RegOpenKeyExW(new_This->tipkey, fullkey, 0, KEY_READ | KEY_WRITE, &This->langkey);
new_This->lang_index = This->lang_index;
}
+ *ppenum = &new_This->IEnumTfLanguageProfiles_iface;
}
return res;
}
EnumTfLanguageProfiles_Skip
};
-static HRESULT EnumTfLanguageProfiles_Constructor(LANGID langid, IEnumTfLanguageProfiles **ppOut)
+static HRESULT EnumTfLanguageProfiles_Constructor(LANGID langid, EnumTfLanguageProfiles **out)
{
HRESULT hr;
EnumTfLanguageProfiles *This;
return E_FAIL;
}
- *ppOut = &This->IEnumTfLanguageProfiles_iface;
- TRACE("returning %p\n", *ppOut);
+ *out = This;
+ TRACE("returning %p\n", *out);
return S_OK;
}
reactos/dll/win32/mscat32 # Synced to WineStaging-1.9.11
reactos/dll/win32/mscms # Synced to WineStaging-1.9.11
reactos/dll/win32/mscoree # Synced to Wine-1.5.4
-reactos/dll/win32/msctf # Synced to WineStaging-1.9.11
+reactos/dll/win32/msctf # Synced to WineStaging-1.9.16
reactos/dll/win32/msftedit # Synced to WineStaging-1.9.11
reactos/dll/win32/msg711.acm # Synced to WineStaging-1.9.11
reactos/dll/win32/msgsm32.acm # Synced to WineStaging-1.9.11