Merge pull request #5430 from deepak1556/ipc_renderer_patch
ipcRenderer: fix crash with multiple listeners to sync message
This commit is contained in:
commit
b05fa2ed5b
2 changed files with 19 additions and 1 deletions
|
@ -45,7 +45,10 @@ bool Event::SendReply(const base::string16& json) {
|
|||
return false;
|
||||
|
||||
AtomViewHostMsg_Message_Sync::WriteReplyParams(message_, json);
|
||||
return sender_->Send(message_);
|
||||
bool success = sender_->Send(message_);
|
||||
message_ = NULL;
|
||||
sender_ = NULL;
|
||||
return success;
|
||||
}
|
||||
|
||||
// static
|
||||
|
|
|
@ -200,6 +200,21 @@ describe('ipc module', function () {
|
|||
})
|
||||
w.loadURL('file://' + path.join(fixtures, 'api', 'send-sync-message.html'))
|
||||
})
|
||||
|
||||
it('does not crash when reply is sent by multiple listeners', function (done) {
|
||||
var w = new BrowserWindow({
|
||||
show: false
|
||||
})
|
||||
ipcMain.on('send-sync-message', function (event) {
|
||||
event.returnValue = null
|
||||
})
|
||||
ipcMain.on('send-sync-message', function (event) {
|
||||
event.returnValue = null
|
||||
w.destroy()
|
||||
done()
|
||||
})
|
||||
w.loadURL('file://' + path.join(fixtures, 'api', 'send-sync-message.html'))
|
||||
})
|
||||
})
|
||||
|
||||
describe('remote listeners', function () {
|
||||
|
|
Loading…
Add table
Reference in a new issue