https://bugs.winehq.org/show_bug.cgi?id=47635
Bug ID: 47635 Summary: Micro-Cap 12 fails to save any files Product: Wine Version: 4.14 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: comdlg32 Assignee: wine-bugs@winehq.org Reporter: alexander-winehq@xmine128.tk Distribution: ---
Created attachment 65068 --> https://bugs.winehq.org/attachment.cgi?id=65068 commdlg trace of Micro-Cap 12 starting and saving file
Micro-Cap 12 was recently released as Freeware and provides a pretty comprehensive analog/digital circuit simulation environment. While every tested aspect of the software works brilliantly, saving created circuit diagrams for some reason fails silently and the file will simply not be considered “saved” after clicking “Save” in the file dialog.
Steps to reproduce:
0. Download Micro-Cap 12 Full-CD version from: http://www.spectrum-soft.com/download/download.shtm 1. Extract the file's contents and run “mc12.exe” or “mc12_64.exe” 2. Wait for the program to start up 3. Click the “Save” button in the toolbar or “File” menu 4. Confirm saving by clicking on “Save” in the opened “Save As” dialog
Expected behaviour:
A file with the name and path selected in the “Save As” dialog should have been created.
Actual behaviour:
Nothing happens, except that the program will show the path of the chosen save path in its titlebar.
I've attached a trace of Wine 4.14 and enabled WINEDEBUG=commdlg, please take a look if there is anything out of the ordinary there.
https://bugs.winehq.org/show_bug.cgi?id=47635
Graial devops.sune@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |devops.sune@gmail.com
--- Comment #1 from Graial devops.sune@gmail.com --- This issue is also present in Wine6.0 using Mint 19.3
https://bugs.winehq.org/show_bug.cgi?id=47635
--- Comment #2 from Graial devops.sune@gmail.com --- Created attachment 69511 --> https://bugs.winehq.org/attachment.cgi?id=69511 debug trace of failed filesave
This is using the default, Windows 7 mode. Files are saved successfully after switching to Windows XP
https://bugs.winehq.org/show_bug.cgi?id=47635
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Ever confirmed|0 |1 CC| |focht@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@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/0f972e2247932f255f131792724e4796...
--- 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...
Stable download link via Internet Archive:
https://web.archive.org/web/20190722035924if_/http://www.spectrum-soft.com/d...
$ sha1sum mc12cd.zip 4ebc2b5c8f95900c379a87b14199865eeff94473 mc12cd.zip
$ du -sh mc12cd.zip 58M mc12cd.zip
$ wine --version wine-6.3
Regards
https://bugs.winehq.org/show_bug.cgi?id=47635
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |BillCallahan@mailinator.com
--- Comment #4 from Anastasius Focht focht@gmx.net --- *** Bug 48066 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=47635
--- Comment #5 from Graial devops.sune@gmail.com --- Running setup.exe into a fresh prefix installs the package successfully. but I still need to change winecfg to 'windows xp' in order to save
https://bugs.winehq.org/show_bug.cgi?id=47635
James Beddek telans@posteo.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |telans@posteo.de
https://bugs.winehq.org/show_bug.cgi?id=47635
--- Comment #6 from James Beddek telans@posteo.de --- Confirming as still present with Wine 7.5 (staging). As mentioned changing the Windows version to "Windows XP" allows the files to save.
https://bugs.winehq.org/show_bug.cgi?id=47635
ShiftElectronics poudelmanish321@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |poudelmanish321@gmail.com
--- Comment #7 from ShiftElectronics poudelmanish321@gmail.com --- Created attachment 73769 --> https://bugs.winehq.org/attachment.cgi?id=73769 The simple fix for not being able to save files.
The more effective method I found is to simply create the folder file manually to your ~/.var/bottles/yourBottle/drive_C/MC12/createFolder/Createfile.extensionOfTheFileYouWantToSave
After this when saving your file select the file you created manually to save your file in it.
The MC12 program can only not create a file to save, but it can write to the created file successfully and also only some file it cannot create sometimes the text files and .ckt files was created by the program succesfully.