From 3cff6285167d7ad3aaa8f2da0c7042d14e60878b Mon Sep 17 00:00:00 2001 From: Diego Marcos Date: Thu, 14 Aug 2014 14:06:55 -0700 Subject: [PATCH] Merge pull request #22868 from mpizza/Bug_1053614_release_status_bug Bug 1053614 - [woodduck] repeatedly enter and leave camera app, then hig...h chance camera will be black screen when entering camera. --- apps/camera/js/lib/camera/camera.js | 2 +- apps/camera/test/unit/lib/camera/camera_test.js | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/camera/js/lib/camera/camera.js b/apps/camera/js/lib/camera/camera.js index 741b665fe5fd..acf54c1ada3c 100644 --- a/apps/camera/js/lib/camera/camera.js +++ b/apps/camera/js/lib/camera/camera.js @@ -655,8 +655,8 @@ Camera.prototype.release = function(done) { function onSuccess() { debug('successfully released'); self.ready(); - self.emit('released'); self.releasing = false; + self.emit('released'); done(); } diff --git a/apps/camera/test/unit/lib/camera/camera_test.js b/apps/camera/test/unit/lib/camera/camera_test.js index bab292dc9a92..c58373b5a7e1 100644 --- a/apps/camera/test/unit/lib/camera/camera_test.js +++ b/apps/camera/test/unit/lib/camera/camera_test.js @@ -961,6 +961,17 @@ suite('lib/camera/camera', function() { }); }); + test('Should change camera.releasing status before released fired', + function(done) { + var self = this; + this.camera.releasing = true; + this.camera.on('released', function() { + assert.isFalse(self.camera.releasing); + done(); + }); + this.camera.release(); + }); + test('Should call the callback with an error argument', function(done) { this.mozCamera.release = sinon.stub(); this.mozCamera.release.callsArgWithAsync(1, 'error');