WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
141905
[WinCairo] WinLauncher is not starting on Vista.
https://bugs.webkit.org/show_bug.cgi?id=141905
Summary
[WinCairo] WinLauncher is not starting on Vista.
peavo
Reported
2015-02-23 06:24:45 PST
The Windows api function MFCreateSourceResolver has moved from Mf.dll in Vista to Mfplat.dll in Windows 7, we have to soft link. See
https://msdn.microsoft.com/en-us/library/windows/desktop/ms697433(v=vs.85).aspx
Attachments
Patch
(1.98 KB, patch)
2015-02-23 06:29 PST
,
peavo
no flags
Details
Formatted Diff
Diff
Patch
(2.20 KB, patch)
2015-02-24 10:21 PST
,
peavo
no flags
Details
Formatted Diff
Diff
Patch
(2.18 KB, patch)
2015-02-24 12:43 PST
,
peavo
no flags
Details
Formatted Diff
Diff
Patch
(8.67 KB, patch)
2015-02-25 13:45 PST
,
peavo
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
peavo
Comment 1
2015-02-23 06:29:46 PST
Created
attachment 247115
[details]
Patch
Brent Fulgham
Comment 2
2015-02-23 10:46:43 PST
Comment on
attachment 247115
[details]
Patch I don't think I understand this patch. If this function is in MFplat.dll on Windows 7, and MF.dll on Vista, don't we need to soft link against both functions, and then use whichever one is available on the current OS?
peavo
Comment 3
2015-02-23 11:12:07 PST
(In reply to
comment #2
)
> Comment on
attachment 247115
[details]
> Patch > > I don't think I understand this patch. If this function is in MFplat.dll on > Windows 7, and MF.dll on Vista, don't we need to soft link against both > functions, and then use whichever one is available on the current OS?
According to the documentation, they've put a stub function in Mf.dll on Windows 7, which calls into Mfplat.dll, so I think it will be sufficient to soft link with the one in Mf.dll, if that was what you meant?
Alex Christensen
Comment 4
2015-02-23 11:33:56 PST
Is there a log of which dlls are being loaded, and which functions are not found when loading them? The Win32 API documentation says that there is always at least a stub implementation in MF.dll, which leads me to believe that this is not what is failing.
peavo
Comment 5
2015-02-23 11:49:53 PST
(In reply to
comment #4
)
> Is there a log of which dlls are being loaded, and which functions are not > found when loading them? The Win32 API documentation says that there is > always at least a stub implementation in MF.dll, which leads me to believe > that this is not what is failing.
I don't remember the exact dialog error message on Vista, but I think it was something like "the function MfCreateSourceResolver cannot be found in Mfplat.dll". I assume we then have linked against the one in the Mfplat library.
peavo
Comment 6
2015-02-23 11:59:13 PST
(In reply to
comment #5
)
> (In reply to
comment #4
) > > Is there a log of which dlls are being loaded, and which functions are not > > found when loading them? The Win32 API documentation says that there is > > always at least a stub implementation in MF.dll, which leads me to believe > > that this is not what is failing. > > I don't remember the exact dialog error message on Vista, but I think it was > something like "the function MfCreateSourceResolver cannot be found in > Mfplat.dll". I assume we then have linked against the one in the Mfplat > library.
But it's strange that we didn't originally link with the one in Mf.dll, since we are building with an older SDK than Win7 ...
Alex Christensen
Comment 7
2015-02-23 12:12:04 PST
Try removing mfplat.lib from WebKitLibraries/win/tools/vsprops/WinCairo.props. Maybe we shouldn't link with that directly.
peavo
Comment 8
2015-02-23 12:51:51 PST
(In reply to
comment #7
)
> Try removing mfplat.lib from > WebKitLibraries/win/tools/vsprops/WinCairo.props. Maybe we shouldn't link > with that directly.
Thanks, will try that :)
peavo
Comment 9
2015-02-24 10:20:44 PST
(In reply to
comment #7
)
> Try removing mfplat.lib from > WebKitLibraries/win/tools/vsprops/WinCairo.props. Maybe we shouldn't link > with that directly.
I tested this, but then MFStartup and MFShutdown were unresolved, so it seems we should link with Mfplat.lib, unless we want to softlink more functions.
peavo
Comment 10
2015-02-24 10:21:57 PST
Created
attachment 247240
[details]
Patch
peavo
Comment 11
2015-02-24 10:23:15 PST
(In reply to
comment #10
)
> Created
attachment 247240
[details]
> Patch
An alternative to this would be to soft link more, or all, of the Media Foundation functions.
Alex Christensen
Comment 12
2015-02-24 10:25:30 PST
Yep, that's a problem. This looks like a good solution, then, except what indicates that MFCreateSourceResolver is the only function that needs this, and how would we effectively test to make sure no other functions have this problem?
peavo
Comment 13
2015-02-24 10:44:17 PST
(In reply to
comment #12
)
> Yep, that's a problem. This looks like a good solution, then, except what > indicates that MFCreateSourceResolver is the only function that needs this, > and how would we effectively test to make sure no other functions have this > problem?
Good point, and to be honest, I don't know the answer. But I guess we can say for sure that with the MF functions currently used, there are no more cases on Vista, since WinLauncher is starting on Vista for me with this patch. I haven't tested WinXP though, there might be similar cases there.
peavo
Comment 14
2015-02-24 12:43:37 PST
Created
attachment 247254
[details]
Patch
peavo
Comment 15
2015-02-24 12:44:14 PST
(In reply to
comment #14
)
> Created
attachment 247254
[details]
> Patch
The Mac build failed for some reason, trying again :)
peavo
Comment 16
2015-02-25 13:45:37 PST
Created
attachment 247341
[details]
Patch
peavo
Comment 17
2015-02-25 13:46:30 PST
(In reply to
comment #16
)
> Created
attachment 247341
[details]
> Patch
I tested on WinXP, which had similar problems, so I just soft linked everything.
peavo
Comment 18
2015-02-25 14:06:55 PST
Thanks for reviewing :) Btw, why are we compiling with WINVER == 0x0502 (Windows Server 2003)? Should we be using WINVER == 0x05010300 (WinXP SP3)?
WebKit Commit Bot
Comment 19
2015-02-25 14:37:27 PST
Comment on
attachment 247341
[details]
Patch Clearing flags on attachment: 247341 Committed
r180641
: <
http://trac.webkit.org/changeset/180641
>
WebKit Commit Bot
Comment 20
2015-02-25 14:37:31 PST
All reviewed patches have been landed. Closing bug.
Alex Christensen
Comment 21
2015-02-25 14:52:14 PST
(In reply to
comment #18
)
> Thanks for reviewing :) > > Btw, why are we compiling with WINVER == 0x0502 (Windows Server 2003)? > > Should we be using WINVER == 0x05010300 (WinXP SP3)?
I'm not sure. Look at the svn blame. Maybe we don't need to any more.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug