Fix the failing sendSync

This commit is contained in:
Cheng Zhao 2015-12-07 21:25:19 +08:00
parent 95e7c796ec
commit 647f151906

View file

@ -119,7 +119,11 @@ metaToPlainObject = (meta) ->
# Browser calls a callback in renderer. # Browser calls a callback in renderer.
ipcRenderer.on 'ATOM_RENDERER_CALLBACK', (event, id, args) -> ipcRenderer.on 'ATOM_RENDERER_CALLBACK', (event, id, args) ->
callbacksRegistry.apply id, metaToValue(args) # Delay the callback to next tick in case the browser is still in the middle
# of sending this message while the callback sends a sync message to browser,
# which can fail sometimes.
setImmediate ->
callbacksRegistry.apply id, metaToValue(args)
# A callback in browser is released. # A callback in browser is released.
ipcRenderer.on 'ATOM_RENDERER_RELEASE_CALLBACK', (event, id) -> ipcRenderer.on 'ATOM_RENDERER_RELEASE_CALLBACK', (event, id) ->