#4763: QScript is broken on 64-bit Windows
-------------------------------+-------------------------------------
 Reporter:  pastdue            |             Owner:  Per
     Type:  bug                |            Status:  new
 Priority:  normal             |         Milestone:  unspecified
Component:  JavaScript Issues  |           Version:  git/master
 Keywords:                     |        Blocked By:
 Blocking:  64-bit Windows     |  Operating System:  All/Non-Specific
-------------------------------+-------------------------------------
 Building a 64-bit Windows build succeeds, but running it (for example,
 starting a skirmish game) throws a bunch of script errors.

 What appears to be happening is something similar to this Qt bug (which is
 still unresolved) that apparently only affects 64-bit Windows builds of
 Qt: https://bugreports.qt.io/browse/QTBUG-39416

 - When `checkResearch` in `mp\multiplay\skirmish\nb_includes\research.js`
 is triggered,
 - `enumIdleStructList` in `mp\multiplay\skirmish\nb_includes\stats.js` is
 called
 - This seems to properly enumerate the research labs...
 - But at some later point what gets passed to `js_structureIdle` is a
 `QScriptContext` that is:
 {{{
 filter(function () {
     [native code]
 }) at -1
 }}}
 Whereas on macOS, what gets passed to `js_structureIdle` is a
 `QScriptContext` that is:
 {{{
 <native>([object Object], 0, [object Object],[object Object]) at -1
 }}}
 Hence, on 64-bit macOS (and 32-bit Windows), `context->argument(0)` is a
 '''structure Object''',
 but on 64-bit Windows it's `function () { [native code] }`.

 At this point, I think it's unlikely that any QScript bugs on 64-bit
 Windows will *ever* be resolved (given QScript's deprecated status).

 So 64-bit Windows builds appear to be broken until we can switch to a
 different JavaScript engine.

--
Ticket URL: <http://developer.wz2100.net/ticket/4763>
Warzone 2100 Trac <http://developer.wz2100.net/>
The Warzone 2100 Project
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Warzone2100-project mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/warzone2100-project

Reply via email to