From 9e3703a49d1ba71c5951f3dbe7818884719e0b8d Mon Sep 17 00:00:00 2001
From: Jens Petersen <juhpetersen+conkeror@gmail.com>
Date: Mon, 6 Oct 2008 00:21:47 +1000
Subject: [PATCH] Use window close hooks in delete_window and quit

	* modules/commands.js (quit): run delete_window on windows so that
	window delete hooks get run when quitting
	(delete_window): run window_before_close_hook and window_close_hook
---
 modules/commands.js |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/modules/commands.js b/modules/commands.js
index eac86a6..fea7c36 100644
--- a/modules/commands.js
+++ b/modules/commands.js
@@ -13,6 +13,11 @@ define_hook("quit_hook");
 
 function quit ()
 {
+    var windows_left = false;
+    for_each_window(function (w) {if (!delete_window(w)) { windows_left = true; }});
+    if (windows_left) {
+      return;
+    }
     quit_hook.run();
     var appStartup = Cc["@mozilla.org/toolkit/app-startup;1"]
         .getService(Ci.nsIAppStartup);
@@ -55,7 +60,12 @@ interactive("make-window",
 
 function delete_window (window)
 {
+    if (!window_before_close_hook.run(window)) {
+        return false;
+    }
+    window_close_hook.run(window);
     window.window.close();
+    return true;
 }
 interactive("delete-window",
             "Delete the current window.",
-- 
1.5.5.1

