[Bug 40446] WinSCP is missing text in the "About" window
WineHQ Bugzilla
wine-bugs at winehq.org
Sat May 2 02:46:05 CDT 2020
https://bugs.winehq.org/show_bug.cgi?id=40446
Damjan Jovanovic <damjan.jov at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |damjan.jov at gmail.com
--- Comment #9 from Damjan Jovanovic <damjan.jov at 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.
More information about the wine-bugs
mailing list