FLUID-5593: After speaking has finished, the model is reset, and wipes out any custom model properties.

Metadata

Source
FLUID-5593
Type
Bug
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
N/A
Reporter
Justin Obara
Created
2015-02-06T11:17:42.123-0500
Updated
2015-06-26T09:59:11.905-0400
Versions
N/A
Fixed Versions
  1. 1.9
Component
  1. Self Voicing

Description

The handleEnd method, which is called after speaking has finished, resets the model by replacing it with false values. However since this replaces the model, if there are custom properties added to the model (e.g. enabled used by the enactor), they will be removed.

current method.

fluid.textToSpeech.handleEnd = function (that) {
if (!that.queue.length) {
that.applier.change("", {
speaking: false,
pending: false,
paused: false
});
}
};

The correct action should be to only change the values it cares about. Perhaps by merging these values with the current model and passing this into to the applier call.

fluid.textToSpeech.handleEnd = function (that) {
var resetValues = {
speaking: false,
pending: false,
paused: false
};

if (!that.queue.length) {
var newModel = $.extend({}, that.model, resetValues);
that.applier.change("", newModel);
}
};

Comments

  • Cindy Li commented 2015-02-09T11:03:53.756-0500

    Merged the pull request https://github.com/fluid-project/infusion/pull/585 into the master branch @ 9d6d22b8cc7489d78b22b5cf7e1d58338e94c080

  • Justin Obara commented 2015-06-26T09:50:52.616-0400

    Reopening to change the fix version to 1.9