[Bug 49442] New: Windows Media Player 9 user interface is non-functional (IActiveScriptParse::AddScriptlet is a stub)

WineHQ Bugzilla wine-bugs at winehq.org
Wed Jun 24 06:30:24 CDT 2020


https://bugs.winehq.org/show_bug.cgi?id=49442

            Bug ID: 49442
           Summary: Windows Media Player 9 user interface is
                    non-functional (IActiveScriptParse::AddScriptlet is a
                    stub)
           Product: Wine
           Version: 5.11
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: jscript
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net
      Distribution: ---

Hello folks,

continuation of bug 19439

Stable link via Internet Archive:

https://web.archive.org/web/20040105031347/http://download.microsoft.com/download/1/b/c/1bc0b1a3-c839-4b36-8f3c-19847ba09299/MPSetup.exe

For testing you create 32-bit WINEPREFIX to work around
https://github.com/Winetricks/winetricks/issues/1562 and run 'winetricks -q
wmp9'. Then you remove all overrides set by winetricks.

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Windows Media Player

$ wine ./wmplayer.exe
...
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"app.titleBarVisible=down" L"appautohidebtn2" (null) L"onclick" (null) 0 0 40
0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"app.titleBarVisible=down" L"appautohidebtn" (null) L"onclick" (null) 0 0 40
0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"view.minimize()" L"btnMinimize" (null) L"onclick" (null) 0 0 40 0031C2B4
0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"view.maximize()" L"btnMaximize" (null) L"onclick" (null) 0 0 40 0031C2B4
0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"view.close()" L"Unnamed_buttonelement_17" (null) L"onclick" (null) 0 0 40
0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"view.restore()" L"btnRestore" (null) L"onclick" (null) 0 0 40 0031C2B4
0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"app.currentTask = 'NowPlaying';" L"taskBtnNowPlaying" (null) L"onclick"
(null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"ShowPlayMenu();" L"taskBtnPlay" (null) L"onclick" (null) 0 0 40 0031C2B4
0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"app.currentTask = 'MediaGuide';" L"taskBtnMediaGuide" (null) L"onclick"
(null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"app.currentTask = 'CDAudio';" L"taskBtnCDAudio" (null) L"onclick" (null) 0 0
40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"app.currentTask = 'MediaLibrary';" L"taskBtnMediaLibrary" (null) L"onclick"
(null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"app.currentTask = 'RadioTuner';" L"taskBtnRadioTuner" (null) L"onclick"
(null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"app.currentTask = 'PortableDevice';" L"taskBtnPortableDevice" (null)
L"onclick" (null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"app.currentTask = 'Services';" L"taskBtnSubscriptions" (null) L"onclick"
(null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"mnuSubscriptions.showEx(2)" L"taskBtnSubscriptionsMenu" (null) L"onclick"
(null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"app.currentTask = 'SkinViewer';" L"taskBtnSkinChooser" (null) L"onclick"
(null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"app.taskbarVisible=down;" L"Unnamed_buttonelement_18" (null) L"onclick"
(null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"if(event.button==2)ShowTaskMenu(TaskMenu2);" L"Unnamed_buttonelement_18"
(null) L"onmousedown" (null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"ShowTaskMenu(taskmenu);" L"Unnamed_buttonelement_19" (null) L"onclick" (null)
0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null) L"var url =
theme.loadString('res://wmploc/RT_STRING/#1356'); player.launchURL(url);"
L"btnSmallBrandLogo" (null) L"onclick" (null) 0 0 40 0031C2C4 0031C294)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"if((''!=g_IconURL)&&(image==g_strPlayIcon))player.launchURL(g_IconURL);"
L"QualityIcon" (null) L"onclick" (null) 0 0 40 0031C2C4 0031C294)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"app.configurePlugins(1);" L"running_background_plugins" (null) L"onclick"
(null) 0 0 40 0031C2C4 0031C294)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null) L"OnREW();"
L"rew" (null) L"onClick" (null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"g_fSeekDragging=true" L"seek" (null) L"ondragbegin" (null) 0 0 40 0031C2C4
0031C294)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"g_fSeekDragging=false;player.controls.currentposition=value;" L"seek" (null)
L"ondragend" (null) 0 0 40 0031C2C4 0031C294)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"OnFFWDMultiSpeed();" L"ffwd_multi" (null) L"onClick" (null) 0 0 40 0031C2B4
0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"SyncFFWDButtonToRate(player.settings.rate)" L"ffwd_multi" (null)
L"onmouseover" (null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"g_SetPlayPauseFocus=true; player.controls.pause();" L"PauseButton" (null)
L"onclick" (null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"PlayButtonClick(event);" L"PlayButton" (null) L"onClick" (null) 0 0 40
0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"player.controls.stop()" L"stop" (null) L"onclick" (null) 0 0 40 0031C2B4
0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"player.controls.Previous()" L"Unnamed_buttonelement_20" (null) L"onclick"
(null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"player.controls.Next()" L"Unnamed_buttonelement_21" (null) L"onclick" (null)
0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"player.settings.mute=down;" L"mute" (null) L"onClick" (null) 0 0 40 0031C2B4
0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"toolTip='res://wmploc/RT_STRING/#1810';" L"volume" (null) L"ondragend" (null)
0 0 40 0031C2C4 0031C294)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"player.settings.setMode('shuffle',down)" L"btnShuffle" (null) L"onclick"
(null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null) L"if
(event.shiftKey) CycleColors(g_rgColorPresets.length-1); else CycleColors(1)"
L"CycleColorPresets" (null) L"onclick" (null) 0 0 40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"app.gotoSkinMode()" L"Unnamed_buttonelement_22" (null) L"onclick" (null) 0 0
40 0031C2B4 0031C284)
0024:fixme:jscript:JScriptParse_AddScriptlet (0094A780)->((null)
L"view.size('bottomright')" L"Unnamed_buttonelement_23" (null) L"onmousedown"
(null) 0 0 40 0031C2B4 0031C284)
...
--- snip ---

Overriding 'jscript' to native makes it functional.

Wine source:

https://source.winehq.org/git/wine.git/blob/bc282905d9491b9f9fe4ae4b69a8ccdf99c5aaa8:/dlls/jscript/jscript.c#l1051

--- snip ---
1051 static HRESULT WINAPI JScriptParse_AddScriptlet(IActiveScriptParse *iface,
1052         LPCOLESTR pstrDefaultName, LPCOLESTR pstrCode, LPCOLESTR
pstrItemName,
1053         LPCOLESTR pstrSubItemName, LPCOLESTR pstrEventName, LPCOLESTR
pstrDelimiter,
1054         CTXARG_T dwSourceContextCookie, ULONG ulStartingLineNumber, DWORD
dwFlags,
1055         BSTR *pbstrName, EXCEPINFO *pexcepinfo)
1056 {
1057     JScript *This = impl_from_IActiveScriptParse(iface);
1058     FIXME("(%p)->(%s %s %s %s %s %s %s %u %x %p %p)\n", This,
debugstr_w(pstrDefaultName),
1059           debugstr_w(pstrCode), debugstr_w(pstrItemName),
debugstr_w(pstrSubItemName),
1060           debugstr_w(pstrEventName), debugstr_w(pstrDelimiter),
wine_dbgstr_longlong(dwSourceContextCookie),
1061           ulStartingLineNumber, dwFlags, pbstrName, pexcepinfo);
1062     return E_NOTIMPL;
1063 }
--- snip ---

$ sha1sum MPSetup.exe 
580536d10657fa3868de2869a3902d31a0de791b  MPSetup.exe

$ du -sh MPSetup.exe 
14M    MPSetup.exe

$ wine --version
wine-5.11-81-gbc282905d9

Regards

-- 
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