[Bug 40446] New: WinSCP is missing text in the "About" window
https://bugs.winehq.org/show_bug.cgi?id=40446 Bug ID: 40446 Summary: WinSCP is missing text in the "About" window Product: Wine Version: 1.9.7 Hardware: x86 URL: http://winscp.net/download/winscp577.zip OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: mshtml Assignee: wine-bugs(a)winehq.org Reporter: t.artem(a)mailcity.com Distribution: --- Run WinSCP, invoke Tools -> About, see no text. Logged errors in console: fixme:ieframe:PersistStreamInit_InitNew (0x1c1728) fixme:ieframe:OleControl_OnAmbientPropertyChange Unknown dispID -702 fixme:ieframe:OleControl_OnAmbientPropertyChange Unknown dispID -701 fixme:ieframe:OleControl_OnAmbientPropertyChange Unknown dispID -703 fixme:ieframe:OleControl_OnAmbientPropertyChange Unknown dispID -704 fixme:iphlpapi:NotifyIpInterfaceChange (family 0, callback 0x6a0a6836, context 0x215da80, init_notify 0, handle 0x2a6e7f4): stub fixme:imm:ImmGetDescriptionW (0x4090409, (nil), 0): semi stub fixme:imm:ImmGetDescriptionW (0x4090409, 0x503f508, 9): semi stub fixme:imm:ImmReleaseContext (0x40116, 0x1b7458): stub fixme:win:EnumDisplayDevicesW ((null),0,0x32a304,0x00000000), stub! fixme:ntdll:NtLockFile I/O completion on lock not implemented yet fixme:ieframe:BrowserService_GetTravelLog 0x1e00b0 0x32ae98 fixme:mshtml:OleControl_OnAmbientPropertyChange edit mode is not supported fixme:ieframe:ClientSite_GetContainer (0x1c17ec)->(0x32ae7c) fixme:mshtml:nsChannel_GetContentDisposition (0x1fcec0)->(0x3285e8) fixme:mshtml:nsChannel_GetContentDispositionHeader (0x1fcec0)->(0x327d3c) err:mshtml:update_window_doc SetDesignMode failed: 80070057 fixme:ieframe:ClientSite_GetContainer (0x1c17ec)->(0x32dd4c) fixme:ieframe:DocHostUIHandler_GetDropTarget (0x1c17ec) fixme:win:WINNLSEnableIME hwnd 0x40084 enable -1: stub! fixme:ntdll:EtwRegisterTraceGuidsW (0x69ee122c, 0x503c9f8, {509962e0-406b-46f4-99ba-5a009f8d2225}, 3, 0x5e60ab8, (null), (null), 0x503ca28): stub fixme:ntdll:EtwRegisterTraceGuidsW register trace class {a3da04e0-57d7-482a-a1c1-61da5f95bacb} fixme:ntdll:EtwRegisterTraceGuidsW register trace class {917b96b1-ecad-4dab-a760-8d49027748ae} fixme:ntdll:EtwRegisterTraceGuidsW register trace class {26d1e091-0ae7-4f49-a554-4214445c505c} fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2d1400 (device=2d access=0 func=500 method=0) err:mshtml:do_ns_command DoCommand("cmd_fontFace") failed: 80004005 fixme:ieframe:PropertyNotifySink_OnChanged unimplemented dispid 1005 fixme:mshtml:HTMLDocument_put_designMode Unsupported arg L"Off" fixme:ieframe:ClientSite_GetContainer (0x1c17ec)->(0x32f1ec) fixme:mshtml:nsChannel_GetContentDisposition (0x1fce28)->(0x32ec68) fixme:mshtml:nsChannel_GetContentDispositionHeader (0x1fce28)->(0x32e3bc) err:mshtml:update_window_doc SetDesignMode failed: 80070057 fixme:ieframe:ControlSite_OnFocus (0x1c17ec)->(0) fixme:ieframe:InPlaceSite_OnInPlaceDeactivateEx fNoRedraw (1) ignored fixme:mshtml:HlinkTarget_SetBrowseContext (0x1e15c8)->((nil)) -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 Artem S. Tashkinov <t.artem(a)mailcity.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 Martin Prikryl <martin(a)winscp.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |martin(a)winscp.net --- Comment #1 from Martin Prikryl <martin(a)winscp.net> --- I'm the author of WinSCP. An embedded Internet Explorer control is used to render the "Portions copyright" box. The code to load the contents (a streamed in-memory HTML) just crashes on Wine. The crash is silently ignored and the dialog is displayed with the box empty. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 Nikolay Sivov <bunglehead(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 --- Comment #2 from Nikolay Sivov <bunglehead(a)gmail.com> --- Can confirm with 1.9.15. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 Nikolay Sivov <bunglehead(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |minor -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 C0rn3j <spleefer90(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |spleefer90(a)gmail.com --- Comment #3 from C0rn3j <spleefer90(a)gmail.com> --- Created attachment 56429 --> https://bugs.winehq.org/attachment.cgi?id=56429 WinSCP 5.9.3 portable Wine 2.0rc1 Can confirm, still happens on 2.0rc1 -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 rebe(a)gmx.net changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rebe(a)gmx.net --- Comment #4 from rebe(a)gmx.net --- Source code of WinSCP is available btw. https://winscp.net/download/WinSCP-5.11.3-Source.zip Still an issue under a current Wine? -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 --- Comment #5 from Artem S. Tashkinov <t.artem(a)mailcity.com> --- (In reply to rebe from comment #4)
Source code of WinSCP is available btw. https://winscp.net/download/WinSCP-5.11.3-Source.zip
Still an issue under a current Wine?
Yes. Instead of the help message it says "Cannot display". -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 Zhiyi Zhang <zzhang(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |zzhang(a)codeweavers.com --- Comment #6 from Zhiyi Zhang <zzhang(a)codeweavers.com> --- Still persist in wine-3.3 -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 --- Comment #7 from Gijs Vermeulen <gijsvrm(a)gmail.com> --- Created attachment 64195 --> https://bugs.winehq.org/attachment.cgi?id=64195 terminal output with wine-4.6 Still present in Wine 4.6 -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 mgruber <mgruber_72(a)yahoo.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mgruber_72(a)yahoo.de --- Comment #8 from mgruber <mgruber_72(a)yahoo.de> --- Still happens in Wine 5.0. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 Damjan Jovanovic <damjan.jov(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |damjan.jov(a)gmail.com --- Comment #9 from Damjan Jovanovic <damjan.jov(a)gmail.com> --- We can't directly use the WinSCP source code (https://github.com/winscp/winscp/blob/master/source/forms/About.cpp) to figure out what its “About” box does to our web browser component, as it: #include <WebBrowserEx.hpp> which I can't find anywhere; presumably it's some kind of compiler vendor extension, as it uses Embarcadero C++ Builder XE6 Professional to build. However comparing the contents of that file against our WINEDEBUG='+resource' run, we can roughly figure out where it's failing. Output, with irrelevant lines removed: ---snip--- 0151:trace:resource:LoadStringW L"Filemanager Toolset library Version 2.6" loaded ! 0151:trace:resource:LoadStringW L"https://jcl.delphi-jedi.org/" loaded ! 0151:trace:resource:LoadStringW L"JEDI Code Library (JCL) %s" loaded ! 0151:trace:resource:LoadStringW L"https://bitbucket.org/uweraabe/pngcomponents" loaded ! 0151:trace:resource:LoadStringW L"Copyright \00a9 Uwe Raabe and Martijn Saly" loaded ! 0151:trace:resource:LoadStringW L"PngComponents 1.4.1" loaded ! ---snip--- which is exactly what happens in method TAboutDialog::DoLoadThirdParty(): ---snip--- AddPara(ThirdParty, LoadStr(ABOUT_FILEMANAGER) + Br + LoadStr(ABOUT_FILEMANAGER_COPYRIGHT)); #endif UnicodeString JclVersion = FormatVersion(JclVersionMajor, JclVersionMinor, JclVersionRelease); AddPara(ThirdParty, FMTLOAD(ABOUT_JCL, (JclVersion)) + Br + CreateLink(LoadStr(ABOUT_JCL_URL))); AddPara(ThirdParty, LoadStr(ABOUT_PNG) + Br + LoadStr(ABOUT_PNG_COPYRIGHT) + Br + CreateLink(LoadStr(ABOUT_PNG_URL))); ---snip--- which means the failure probably happens somewhere here: ---snip--- 300 ThirdParty = GenerateAppHtmlPage(DefaultFont.get(), ThirdPartyPanel, ThirdParty, false); 301 302 LoadBrowserDocument(FThirdPartyWebBrowser, ThirdParty); 303 } ---snip--- Those functions appear to come from that WebBrowserEx.hpp header file mentioned earlier, which can't be found anywhere. What else can we discover from Wine's debug log? ---snip--- 0151:fixme:mshtml:HTMLDocument_put_designMode Unsupported arg L"Off" 0151:fixme:ieframe:ClientSite_GetContainer (0332F460)->(0031EBD4) 0151:err:mshtml:create_document_node SetDesignMode failed: 80070057 ---snip--- Hacking HTMLDocument_put_designMode() to return S_OK instead of the current E_NOTIMPL changes nothing. The last line with create_document_node(), is irrelevant as that result, 80070057 (a Gecko failure), is ignored. That leaves ieframe:ClientSite_GetContainer() which returns E_NOTIMPL. Hacking it to return E_NOINTERFACE and set *ppContainer=NULL doesn't change anything. Returning S_OK and setting *ppContainer=NULL causes WinSCP to crash. Maybe it requires that function to succeed and return a valid IOleContainter. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 --- Comment #10 from Damjan Jovanovic <damjan.jov(a)gmail.com> --- Adding a stubbed ieframe:ClientSite_GetContainer() didn't help, even though all the methods called (LockContainer, Release) return S_OK. However I did see I was wrong. GenerateAppHtmlPage() and LoadBrowserDocument() are not functions in some third-party library, they are within-application functions in source/windows/GUITools.cpp. GenerateAppHtmlPage() converts the HTML fragment into a full HTML page, by adding surrounding <html> and <body> tags etc. LoadBrowserDocument() is more interesting: ---snip--- void LoadBrowserDocument(TWebBrowserEx * WebBrowser, const UnicodeString & Document) { std::unique_ptr<TMemoryStream> DocumentStream(new TMemoryStream()); UTF8String DocumentUTF8 = UTF8String(Document); DocumentStream->Write(DocumentUTF8.c_str(), DocumentUTF8.Length()); DocumentStream->Seek(0, 0); // For stream-loaded document, when set only after loading from OnDocumentComplete, // browser stops working SetBrowserDesignModeOff(WebBrowser); TStreamAdapter * DocumentStreamAdapter = new TStreamAdapter(DocumentStream.get(), soReference); IPersistStreamInit * PersistStreamInit = NULL; if (DebugAlwaysTrue(WebBrowser->Document != NULL) && SUCCEEDED(WebBrowser->Document->QueryInterface(IID_IPersistStreamInit, (void **)&PersistStreamInit)) && DebugAlwaysTrue(PersistStreamInit != NULL)) { PersistStreamInit->Load(static_cast<_di_IStream>(*DocumentStreamAdapter)); } } ---snip--- We don't seem to get as far as PersistStreamInit->Load(), which is a stub on our side anyway. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 --- Comment #11 from Gijs Vermeulen <gijsvrm(a)gmail.com> --- Created attachment 72922 --> https://bugs.winehq.org/attachment.cgi?id=72922 +mshtml,+ieframe,+msctf Still present with wine-7.15. 'winetricks -q ie8' works around. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40446 Evren <evren320(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |evren320(a)hotmail.com --- Comment #12 from Evren <evren320(a)hotmail.com> --- Bug still exist in WinSCP 5.21.6 today, tested with Wine 7.22 and staging 7.22 versions -- 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.
participants (2)
-
wine-bugs@winehq.org -
WineHQ Bugzilla