smartdevicelink/sdl_javascript_suite

Crash happens when changing layout while HMI type is PROJECTION

crokita opened this issue · 0 comments

Bug Report

It happens when invoking the screen manager's changeLayout method, passing in a template change. _TextAndGraphicUpdateOperation will then be called and send a SetDisplayLayout to update the layout.

The SCM receives an OnSystemCapabilityUpdated notification from core and inside it is an empty windows capability object for DISPLAYS. This empty object causes an error in the SCM's _createDeprecatedDisplayCapabilities method where the defaultMainWindow's getTemplatesAvailable method is invoked for finding templates available.

Reproduction Steps
  1. Make an app with an HMI type of PROJECTION
  2. Connect the app and go into HMI_FULL
  3. Send the following:
    this._sdlManager.getScreenManager().changeLayout(new SDL.rpc.structs.TemplateConfiguration()
        .setTemplate(SDL.rpc.enums.PredefinedLayout.GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS));
Expected Behavior

The layout is changed without issues

Observed Behavior

The library crashes and the app disconnects

Browser & Version Information
  • Browser and Version: Firefox
  • SDL JavaScript Suite Module: The NodeJS build specifically. No issues with the vanilla JS build
  • SDL JavaScript Version: 1.4 RC
  • Testing Against: Core 7.1.1