[Bug 28663] Adobe Reader X online help fails to load due to IQueryAssociations::GetString not properly handling URL protocols
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon Jan 9 16:35:14 CST 2012
http://bugs.winehq.org/show_bug.cgi?id=28663
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|-unknown |shell32
Summary|Adobe Reader X help fails |Adobe Reader X online help
|to load |fails to load due to
| |IQueryAssociations::GetStri
| |ng not properly handling
| |URL protocols
--- Comment #3 from Anastasius Focht <focht at gmx.net> 2012-01-09 16:35:14 CST ---
Hello,
confirming, still present.
The problem seems related how protocol associations are currently handled using
IQueryAssociations (Wine registry).
--- snip ---
...
0024:CALL
ahclient.InitializeAdobeHelpClient(0032f718,0032f6f6,00000002,00000002,0032f718,00000100)
ret=00b95261
0024:RET ahclient.InitializeAdobeHelpClient() retval=00000000 ret=00b95261
0024:CALL ahclient.DisplayAdobeHelpClientPage(<unknown, check return>)
ret=00b9528e
0024:trace:wininet:InternetOpenA ("HIL", 0x00000001, (null), (null),
0x00000000)
0024:trace:wininet:InternetOpenW (L"HIL", 1, (null), (null), 0)
0024:trace:wininet:InternetOpenW access type : INTERNET_OPEN_TYPE_DIRECT
0024:trace:wininet:InternetOpenW flags :
0024:trace:wininet:InternetOpenW returning 0x162118
0024:trace:wininet:InternetOpenUrlA
0024:trace:wininet:InternetOpenUrlW (0x1,
L"http://help.adobe.com/en_US/reader/X/using/AH_HOME.html", (null), 00000000,
80000000, 00000000)
0024:trace:wininet:InternetOpenUrlW flags : INTERNET_FLAG_RELOAD
0024:trace:wininet:WININET_AddRef 0x162118 -> refcount = 2
0024:trace:wininet:get_handle_object handle 1 -> 0x162118
0024:trace:wininet:INTERNET_InternetOpenUrlW (0x162118,
L"http://help.adobe.com/en_US/reader/X/using/AH_HOME.html", (null), 00000000,
80000000, 00000000)
0024:trace:wininet:InternetCrackUrlW
(L"http://help.adobe.com/en_US/reader/X/using/AH_HOME.html" 55 0 0x32e950)
...
0024:trace:wininet:CommitUrlCacheEntryW
(L"http://help.adobe.com/en_US/reader/using/AH_HOME.html",
L"C:\\users\\focht\\Local Settings\\Temporary Internet
Files\\Content.IE5\\SSCR6K86\\AH_HOME[4]", ..., ..., 1, 0x165bb0, 225, (null),
(null))
0024:trace:wininet:CommitUrlCacheEntryInternal
(L"http://help.adobe.com/en_US/reader/using/AH_HOME.html",
L"C:\\users\\focht\\Local Settings\\Temporary Internet
Files\\Content.IE5\\SSCR6K86\\AH_HOME[4]", ..., ..., 1, 0x164d00, 0, (null),
(null))
...
0024:trace:shell:AssocQueryStringW (0x0,2,L"http",L"open",0x32f09c,0x32f094)
0024:trace:shell:AssocCreate
({a07034fd-6caa-4954-ac3f-97a27216f98a},{c46ca590-3c3f-11d2-bee6-0000f805ca57},0x32edc4)
0024:trace:shell:HCR_RegOpenClassIDKey
CLSID\{c46ca590-3c3f-11d2-bee6-0000f805ca57}
0024:trace:shell:HCR_GetClassNameA -- ()
0024:trace:shell:HCR_RegOpenClassIDKey
CLSID\{a07034fd-6caa-4954-ac3f-97a27216f98a}
0024:trace:shell:HCR_GetClassNameA -- (Query file associations)
0024:trace:shell:SHCoCreateInstance
((nil),{a07034fd-6caa-4954-ac3f-97a27216f98a} (Query file
associations),unk:(nil),{c46ca590-3c3f-11d2-bee6-0000f805ca57}
(unknown),0x32edc4)
0024:trace:shell:HCR_RegOpenClassIDKey
CLSID\{a07034fd-6caa-4954-ac3f-97a27216f98a}
0024:trace:shell:HCR_GetClassNameA -- (Query file associations)
0024:trace:shell:DllGetClassObject CLSID:{a07034fd-6caa-4954-ac3f-97a27216f98a}
(Query file associations),IID:{00000001-0000-0000-c000-000000000046}
(IID_IClassFactory)
0024:trace:shell:DllGetClassObject index[8]
0024:trace:shell:IDefClF_fnConstructor (0x160b48)(null)
0024:trace:shell:IDefClF_fnQueryInterface
(0x160b48)->({00000001-0000-0000-c000-000000000046} (IID_IClassFactory))
0024:trace:shell:IDefClF_fnRelease (0x160b48)->(count=2)
0024:trace:shell:DllGetClassObject -- pointer to class factory: 0x160b48
0024:trace:shell:HCR_RegOpenClassIDKey
CLSID\{c46ca590-3c3f-11d2-bee6-0000f805ca57}
0024:trace:shell:HCR_GetClassNameA -- ()
0024:trace:shell:IDefClF_fnCreateInstance
0x160b48->((nil),{c46ca590-3c3f-11d2-bee6-0000f805ca57} (unknown),0x32edc4)
0024:trace:shell:SHAlloc 16 bytes at 0x160b68
0024:trace:shell:IQueryAssociations_fnQueryInterface
(0x160b68,{c46ca590-3c3f-11d2-bee6-0000f805ca57},0x32edc4)
0024:trace:shell:IQueryAssociations_fnAddRef (0x160b68)->(ref before=0)
0024:trace:shell:IQueryAssociations_fnQueryInterface Returning
IQueryAssociations (0x160b68)
0024:trace:shell:QueryAssociations_Constructor returning 0x160b68
0024:trace:shell:IDefClF_fnRelease (0x160b48)->(count=1)
0024:trace:shell:IDefClF_fnRelease -- destroying IClassFactory(0x160b48)
0024:trace:shell:SHCoCreateInstance -- instance: 0x160b68
0024:trace:shell:IQueryAssociations_fnInit (0x160b68)->(0,L"http",(nil),(nil))
0024:trace:shell:IQueryAssociations_fnGetString (0x160b68,0x 0,0x
2,L"open",0x32f09c,0x32f094)
0024:trace:shell:IQueryAssociations_fnRelease (0x160b68)->(ref before=1)
0024:trace:shell:IQueryAssociations_fnRelease Destroying IQueryAssociations
(0x160b68)
...
0024:RET ahclient.DisplayAdobeHelpClientPage() retval=00000002 ret=00b9528e
--- snip ---
Debugging session:
--- snip ---
Wine-dbg>bt
Backtrace:
=>0 0x6c81e365 ASSOC_GetValue+0x81(hkey=0x134, pszText=0x33e96c)
[/home/focht/projects/wine/wine-git/dlls/shell32/assoc.c:215] in shell32
(0x0033e930)
1 0x6c81e478 ASSOC_GetCommand+0x2e(This=0x15c2c0, pszExtra="open",
ppszCommand=0x33e9d0)
[/home/focht/projects/wine/wine-git/dlls/shell32/assoc.c:245] in shell32
(0x0033e9a0)
2 0x6c81e859 ASSOC_GetExecutable+0x5b(This=0x15c2c0, pszExtra="open",
path="k", pathlen=0x104, len=0x33ecb8)
[/home/focht/projects/wine/wine-git/dlls/shell32/assoc.c:319] in shell32
(0x0033e9f0)
3 0x6c81ecd8 IQueryAssociations_fnGetString+0x23d(iface=0x15c2c0, cfFlags=0,
str=ASSOCSTR_EXECUTABLE, pszExtra="open", pszOut="????t", pcchOut=0x33f054)
[/home/focht/projects/wine/wine-git/dlls/shell32/assoc.c:432] in shell32
(0x0033ed50)
4 0x685c20a7 AssocQueryStringW+0x16a(cfFlags=0, str=ASSOCSTR_EXECUTABLE,
pszAssoc="http", pszExtra="open", pszOut="????t", pcchOut=0x33f054)
[/home/focht/projects/wine/wine-git/dlls/shlwapi/assoc.c:197] in shlwapi
(0x0033eda0)
5 0x02f635b0 in ahclient (+0x135af) (0x0033f26c)
6 0x02f55a15 in ahclient (+0x5a14) (0x0033f678)
7 0x00b9528e in acrord32 (+0x42528d) (0x0033f6b0)
--- snip ---
http://source.winehq.org/git/wine.git/blob/f948478f28b8a7c6beb364745b143361cef4edc1:/dlls/shell32/assoc.c#l231
IQueryAssociations_fnInit() opens "http" under HKEY_CLASSES_ROOT.
ASSOC_GetCommand() -> ASSOC_GetValue() tries to read the "file type" value for
"http" from default key.
This obviously fails because the default value is empty (also for other
protocols).
Not sure what data is supposed to be here.
The current ASSOC_GetCommand() registry handling looks strange as if not really
suitable/prepared to handle protocol style associations.
With that code the only way to get the correct shell command is setting default
key to "http" but this looks wrong.
Registry export for "http":
--- snip ---
[HKEY_CLASSES_ROOT\http]
"URL Protocol"=""
[HKEY_CLASSES_ROOT\http\shell]
[HKEY_CLASSES_ROOT\http\shell\open]
[HKEY_CLASSES_ROOT\http\shell\open\command]
@="\"C:\\windows\\system32\\winebrowser.exe\" -nohome"
[HKEY_CLASSES_ROOT\http\shell\open\ddeexec]
@="\"%1\",,-1,0,,,,"
"NoActivateHandler"=""
[HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application]
@="IExplore"
[HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Topic]
@="WWW_OpenURL"
--- snip ---
$ sha1sum AdbeRdr1001_en_US.exe
e71d9871ea3e6168570e0677a50495c40f9213b2 AdbeRdr1001_en_US.exe
$ wine --version
wine-1.3.36-223-gc7cc9a1
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