[Bug 47635] Microcap 12 fails to save any files with WinVer >= 'Windows Vista' ('IFileSaveDialog::GetProperties' and 'IFileSaveDialog::ApplyProperties' methods are stubs)

WineHQ Bugzilla wine-bugs at winehq.org
Sun Feb 28 09:10:42 CST 2021


https://bugs.winehq.org/show_bug.cgi?id=47635

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |download
     Ever confirmed|0                           |1
                 CC|                            |focht at gmx.net
                URL|                            |https://web.archive.org/web
                   |                            |/20190722035924if_/http://w
                   |                            |ww.spectrum-soft.com/downlo
                   |                            |ad/mc12cd.zip
             Status|UNCONFIRMED                 |NEW
            Summary|Micro-Cap 12 fails to save  |Microcap 12 fails to save
                   |any files                   |any files with WinVer >=
                   |                            |'Windows Vista'
                   |                            |('IFileSaveDialog::GetPrope
                   |                            |rties' and
                   |                            |'IFileSaveDialog::ApplyProp
                   |                            |erties' methods are stubs)

--- Comment #3 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming.

Multiple Vista+ 'IFileSaveDialog' methods are currently stubs:

* IFileSaveDialog::GetProperties
* IFileSaveDialog::ApplyProperties

--- snip ---
...
0170:trace:commdlg:IFileDialog2_fnQueryInterface 04D6B298
({84bccd23-5fde-4cdb-aea4-af64b83d78ab}, 0032D828)
0170:trace:commdlg:IFileDialog2_fnAddRef 04D6B298 - ref 8
0170:fixme:commdlg:IFileSaveDialog_fnGetProperties stub - 04D6B298 (0032D864)
0170:fixme:commdlg:IFileSaveDialog_fnApplyProperties 04D6B298 (04CDF538,
00000000, 002F0204, 00000000)
0170:trace:seh:dispatch_exception code=c0000005 flags=0 addr=00EA3744
ip=00ea3744 tid=0170
0170:trace:seh:dispatch_exception  info[0]=00000000
0170:trace:seh:dispatch_exception  info[1]=00000000
0170:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception
(code=c0000005) raised
0170:trace:seh:dispatch_exception  eax=00000000 ebx=00000000 ecx=0032d3b0
edx=0032d40a esi=04d6b29c edi=0032eefc
0170:trace:seh:dispatch_exception  ebp=0032d878 esp=0032d830 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00010246
0170:trace:seh:call_vectored_handlers calling handler at 7B00F5D0 code=c0000005
flags=0
0170:trace:seh:call_vectored_handlers handler at 7B00F5D0 returned 0
0170:trace:seh:call_stack_handlers calling handler at 01017255 code=c0000005
flags=0
...
--- snip ---

Annotated disassembly of app, showing the method calls:

--- snip ---
...
00EA371F | mov ecx,dword ptr ds:[esi]    | IFileSaveDialog vtbl
00EA3721 | lea eax,dword ptr ss:[ebp-14] |
00EA3724 | push eax                      | IPropertyStore **ppStore
00EA3725 | push esi                      |
00EA3726 | mov dword ptr ss:[ebp-14],ebx |
00EA3729 | call dword ptr ds:[ecx+78]    | IFileSaveDialog::GetProperties
00EA372C | test eax,eax                  |
00EA372E | js mc12.EA3749                |
00EA3730 | mov eax,dword ptr ds:[esi]    | IFileSaveDialog vtbl
00EA3732 | push ebx                      | IFileOperationProgressSink *pSink
00EA3733 | push dword ptr ds:[edi+20]    | HWND hwnd
00EA3736 | push dword ptr ss:[ebp-14]    | IPropertyStore *pStore
00EA3739 | push dword ptr ss:[ebp-24]    | IShellItem *psi
00EA373C | push esi                      |
00EA373D | call dword ptr ds:[eax+7C]    | IFileSaveDialog::ApplyProperties
00EA3740 | mov eax,dword ptr ss:[ebp-14] |
00EA3743 | push eax                      |
00EA3744 | mov ecx,dword ptr ds:[eax]    | IPropertyStore vtbl
00EA3746 | call dword ptr ds:[ecx+8]     | IPropertyStore::Release
00EA3749 | mov eax,dword ptr ds:[esi]    |
00EA374B | push esi                      |
00EA374C | call dword ptr ds:[eax+8]     | IFileSaveDialog::Release
00EA374F | mov eax,dword ptr ss:[ebp-24] |
...
--- snip ---

Wine source:

https://source.winehq.org/git/wine.git/blob/0f972e2247932f255f131792724e4796b4b2b87a:/dlls/comdlg32/itemdlg.c#l3233

--- snip ---
3233 static HRESULT WINAPI IFileSaveDialog_fnGetProperties(IFileSaveDialog*
iface, IPropertyStore **ppStore)
3234 {
3235     FileDialogImpl *This = impl_from_IFileSaveDialog(iface);
3236     FIXME("stub - %p (%p)\n", This, ppStore);
3237     return E_NOTIMPL;
3238 }
3239 
3240 static HRESULT WINAPI IFileSaveDialog_fnApplyProperties(IFileSaveDialog*
iface,
3241                                                         IShellItem *psi,
3242                                                         IPropertyStore
*pStore,
3243                                                         HWND hwnd,
3244                                                        
IFileOperationProgressSink *pSink)
3245 {
3246     FileDialogImpl *This = impl_from_IFileSaveDialog(iface);
3247     FIXME("%p (%p, %p, %p, %p)\n", This, psi, pStore, hwnd, pSink);
3248     return E_NOTIMPL;
3249 }
--- snip ---

Microsoft docs:

https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifilesavedialog-getproperties

Stable download link via Internet Archive:

https://web.archive.org/web/20190722035924if_/http://www.spectrum-soft.com/download/mc12cd.zip

$ sha1sum mc12cd.zip 
4ebc2b5c8f95900c379a87b14199865eeff94473  mc12cd.zip

$ du -sh mc12cd.zip 
58M    mc12cd.zip

$ wine --version
wine-6.3

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list