On 3/23/2011 00:43, David Hedberg wrote:
By the way, IFileSaveDialog is based on IFileDialog, and you add IFileDialog2 too. It's a bit messy, does target class object that will use FileDialogImpl really respond to IFileDialog2?
I'm not completely sure I understand the question, but the same thing goes for the IFileOpenDialog.
Yeah, I didn't mean to distinguish them, IFileSaveDialog was as an example.
I just rechecked on Windows 7, and both the IFileSaveDialog and the IFileOpenDialog can be successfully queried for the IFileDialog2 interface. There are tests for that in the test patch I sent, sort of, although the E_NOINTERFACE case is merely marked as broken for the sake of Vista.
Ok, fine then.
It's also better to get rid of casts like:
+static HRESULT WINAPI IFileOpenDialog_fnSetFileTypeIndex(IFileOpenDialog *iface, UINT iFileType) +{
- FileDialogImpl *This = impl_from_IFileOpenDialog(iface);
- return IFileDialog2_SetFileTypeIndex((IFileDialog2*)This, iFileType);
+}
and use &This->IFileDialog2_iface.