Fixes auto updater regression, closes atom/atom#1949.
This commit is contained in:
		
					parent
					
						
							
								f280590adf
							
						
					
				
			
			
				commit
				
					
						a69c312389
					
				
			
		
					 2 changed files with 7 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -7,6 +7,7 @@
 | 
			
		|||
#include "base/time/time.h"
 | 
			
		||||
#include "base/values.h"
 | 
			
		||||
#include "atom/browser/auto_updater.h"
 | 
			
		||||
#include "atom/browser/browser.h"
 | 
			
		||||
#include "native_mate/dictionary.h"
 | 
			
		||||
#include "native_mate/object_template_builder.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -62,11 +63,13 @@ mate::ObjectTemplateBuilder AutoUpdater::GetObjectTemplateBuilder(
 | 
			
		|||
  return mate::ObjectTemplateBuilder(isolate)
 | 
			
		||||
      .SetMethod("setFeedUrl", &auto_updater::AutoUpdater::SetFeedURL)
 | 
			
		||||
      .SetMethod("checkForUpdates", &auto_updater::AutoUpdater::CheckForUpdates)
 | 
			
		||||
      .SetMethod("quitAndInstall", &AutoUpdater::QuitAndInstall);
 | 
			
		||||
      .SetMethod("_quitAndInstall", &AutoUpdater::QuitAndInstall);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AutoUpdater::QuitAndInstall() {
 | 
			
		||||
  if (!quit_and_install_.is_null())
 | 
			
		||||
  if (quit_and_install_.is_null())
 | 
			
		||||
    Browser::Get()->Shutdown();
 | 
			
		||||
  else
 | 
			
		||||
    quit_and_install_.Run();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,13 +12,13 @@ autoUpdater.quitAndInstall = ->
 | 
			
		|||
  BrowserWindow = require 'browser-window'
 | 
			
		||||
  windows = BrowserWindow.getAllWindows()
 | 
			
		||||
  if windows.length is 0
 | 
			
		||||
    AutoUpdater::quitAndInstall.call this
 | 
			
		||||
    @_quitAndInstall()
 | 
			
		||||
    return
 | 
			
		||||
 | 
			
		||||
  # Do the restart after all windows have been closed.
 | 
			
		||||
  app = require 'app'
 | 
			
		||||
  app.removeAllListeners 'window-all-closed'
 | 
			
		||||
  app.once 'window-all-closed', AutoUpdater::quitAndInstall.bind(this)
 | 
			
		||||
  app.once 'window-all-closed', @_quitAndInstall.bind(this)
 | 
			
		||||
  win.close() for win in windows
 | 
			
		||||
 | 
			
		||||
module.exports = autoUpdater
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue