[Bug 26579] TomTom Home 2 fails to open web links due to shdocvw.dll IEParseDisplayNameWithBCW being a stub

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Dec 12 14:44:32 CST 2011


http://bugs.winehq.org/show_bug.cgi?id=26579

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net
          Component|-unknown                    |shdocvw
            Summary|TomTom Home 2 fails to open |TomTom Home 2 fails to open
                   |web links                   |web links due to
                   |                            |shdocvw.dll
                   |                            |IEParseDisplayNameWithBCW
                   |                            |being a stub

--- Comment #2 from Anastasius Focht <focht at gmx.net> 2011-12-12 14:44:32 CST ---
Hello,

confirming, still present.
The app ships its own mozilla browsing engine.

--- snip ---
...
002e:trace:loaddll:load_native_dll Loaded L"C:\\Program Files (x86)\\TomTom
HOME 2\\xulrunner\\xul.dll" at 0x60b90000: native
...
002e:Call KERNEL32.LoadLibraryW(61339130 L"shell32.dll") ret=60f93d2d
002e:Ret  KERNEL32.LoadLibraryW() retval=688c0000 ret=60f93d2d
002e:Call KERNEL32.GetProcAddress(688c0000,61339110 "SHParseDisplayName")
ret=60f93d3c
002e:Ret  KERNEL32.GetProcAddress() retval=688cb9cc ret=60f93d3c
002e:Call shell32.SHParseDisplayName(0033e41c
L"https://home.tomtom.com/urlredirect/1?locale=en-US&country=DE",00000000,0033e4e4,00000000,0033e4d8)
ret=60f93d7b
002e:Call shlwapi.PathGetDriveNumberW(0033e41c
L"https://home.tomtom.com/urlredirect/1?locale=en-US&country=DE") ret=689198f1
002e:Ret  shlwapi.PathGetDriveNumberW() retval=ffffffff ret=689198f1
002e:Call shlwapi.PathIsUNCW(0033e41c
L"https://home.tomtom.com/urlredirect/1?locale=en-US&country=DE") ret=68919940
002e:Ret  shlwapi.PathIsUNCW() retval=00000000 ret=68919940
002e:Call shlwapi.ParseURLW(0033e41c
L"https://home.tomtom.com/urlredirect/1?locale=en-US&country=DE",0033e0a8)
ret=689199a9
002e:Ret  shlwapi.ParseURLW() retval=00000000 ret=689199a9
002e:Call shdocvw.218(00000000,0033e41c
L"https://home.tomtom.com/urlredirect/1?locale=en-US&country=DE",00000000,0033e4e4)
ret=68919a7e
002e:fixme:shdocvw:IEParseDisplayNameWithBCW stub: 0x0
L"https://home.tomtom.com/urlredirect/1?locale=en-US&country=DE" (nil) 0x33e4e4
002e:Ret  shdocvw.218() retval=80004005 ret=68919a7e
002e:Ret  shell32.SHParseDisplayName() retval=80004005 ret=60f93d7b
002e:Call KERNEL32.FreeLibrary(688c0000) ret=60f93dfa
002e:Ret  KERNEL32.FreeLibrary() retval=00000001 ret=60f93dfa
...
--- snip ---

IEParseDisplayNameWithBCW stub:

http://source.winehq.org/git/wine.git/blob/2c47b66b715e36dfc0ea4676b39fb803f3b15cd3:/dlls/shdocvw/shdocvw_main.c#l467

Used Mozilla engine:

--- snip xulrunner/platform.ini ---
[Build]
BuildID=20090605132328
Milestone=1.9.1b4
--- snip xulrunner/platform.ini ---

Source of nsMIMEInfoWin::LoadUriInternal() which calls SHParseDisplayName:

https://hg.mozilla.org/mozilla-central/file/753ed712f1be/uriloader/exthandler/win/nsMIMEInfoWin.cpp#l250

--- snip ---
   299     // Bug 394974
   300     hDll = ::LoadLibraryW(L"shell32.dll");
   301     MySHParseDisplayName pMySHParseDisplayName = NULL;
   302     // Version 6.0 and higher
   303     if (pMySHParseDisplayName = 
   304         (MySHParseDisplayName)::GetProcAddress(hDll,
"SHParseDisplayName")) {
   305       if
(SUCCEEDED(pMySHParseDisplayName(NS_ConvertUTF8toUTF16(urlSpec).get(),
   306                                           NULL, &pidl, 0, &sfgao))) {
   307         sinfo.lpIDList = pidl;
   308         sinfo.fMask |= SEE_MASK_INVOKEIDLIST;
   309       } else {
   310         // SHParseDisplayName exists, but failed. Bailing out as work
around for
   311         // Microsoft Security Bulletin MS07-061
   312         rv = NS_ERROR_FAILURE;
   313       }
   314     } else {
   315       sinfo.lpFile =  NS_ConvertUTF8toUTF16(urlSpec).get();
   316     }
   317     if (NS_SUCCEEDED(rv)) {
   318       BOOL result = ShellExecuteExW(&sinfo);
   319       if (!result || ((LONG_PTR)sinfo.hInstApp) < 32)
   320         rv = NS_ERROR_FAILURE;
   321     }
   322     if (pidl)
   323       CoTaskMemFree(pidl);
   324     if (hDll) 
   325       ::FreeLibrary(hDll);
   326   }
--- snip ---

$ wine --version
wine-1.3.34-253-g088fa18

$ sha1sum TomTomHOME2winlatest.exe 
1a7f3cd1bf3d607695fcb0923439a898b26596d7  TomTomHOME2winlatest.exe

Regards

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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