1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-22 08:47:59 +01:00

Fix bugs yay.

--HG--
branch : groups
This commit is contained in:
Kris Maglione
2011-02-10 23:45:39 -05:00
parent 30e2971424
commit 43a27346bd
5 changed files with 20 additions and 11 deletions

View File

@@ -105,6 +105,10 @@ var Browser = Module("browser", XPCOM(Ci.nsISupportsWeakReference, ModuleBase),
// only thrown for the current tab, not when another tab changes // only thrown for the current tab, not when another tab changes
if (flags & Ci.nsIWebProgressListener.STATE_START) { if (flags & Ci.nsIWebProgressListener.STATE_START) {
statusline.progress = 0; statusline.progress = 0;
while (document.commandDispatcher.focusedWindow == webProgress.DOMWindow
&& modes.have(modes.INPUT))
modes.pop();
} }
else if (flags & Ci.nsIWebProgressListener.STATE_STOP) { else if (flags & Ci.nsIWebProgressListener.STATE_STOP) {
// Workaround for bugs 591425 and 606877, dactyl bug #81 // Workaround for bugs 591425 and 606877, dactyl bug #81

View File

@@ -387,7 +387,7 @@ var Mappings = Module("mappings", {
* @param {string} filter The filter string to match. * @param {string} filter The filter string to match.
*/ */
list: function (modes, filter, hives) { list: function (modes, filter, hives) {
hives = hives || mappings.userHives; hives = (hives || mappings.userHives).filter(function (h) modes.some(function (m) h.getStack(m).length));
let modeSign = ""; let modeSign = "";
modes.filter(function (m) m.char).forEach(function (m) { modeSign += m.char; }); modes.filter(function (m) m.char).forEach(function (m) { modeSign += m.char; });
@@ -410,12 +410,12 @@ var Mappings = Module("mappings", {
</tr> </tr>
<col style="min-width: 6em; padding-right: 1em;"/> <col style="min-width: 6em; padding-right: 1em;"/>
{ {
template.map(hives, function (hive) template.map(hives, function (hive) let (i = 0)
<tr style="height: .5ex;"/> + <tr style="height: .5ex;"/> +
template.map(maps(hive), function (map) template.map(maps(hive), function (map)
template.map(map.names, function (name, i) template.map(map.names, function (name)
<tr> <tr>
<td highlight="Title">{!i ? hive.name : ""}</td> <td highlight="Title">{!i++ ? hive.name : ""}</td>
<td>{modeSign}</td> <td>{modeSign}</td>
<td>{name}</td> <td>{name}</td>
<td>{map.rhs || map.action.toSource()}</td> <td>{map.rhs || map.action.toSource()}</td>

View File

@@ -1017,7 +1017,7 @@ var Timer = Class("Timer", {
notify: function (timer, force) { notify: function (timer, force) {
try { try {
if (loaded.util && util.rehashing || typeof util === "undefined" || !force && this.doneAt == 0) if (!loaded || loaded.util && util.rehashing || typeof util === "undefined" || !force && this.doneAt == 0)
return; return;
this._timer.cancel(); this._timer.cancel();

View File

@@ -80,14 +80,16 @@ var Contexts = Module("contexts", {
const contexts = this; const contexts = this;
this.modules = modules; this.modules = modules;
modules.plugins.contexts = {};
this.groupList = []; this.groupList = [];
this.groupMap = {}; this.groupMap = {};
this.groupsProto = {}; this.groupsProto = {};
this.hives = {}; this.hives = {};
this.hiveProto = {}; this.hiveProto = {};
this.user = this.addGroup("user", "User-defined items", null, true);
this.builtin = this.addGroup("builtin", "Builtin items"); this.builtin = this.addGroup("builtin", "Builtin items");
this.user = this.addGroup("user", "User-defined items", null, true);
this.builtinGroups = [this.builtin, this.user]; this.builtinGroups = [this.builtin, this.user];
this.builtin.modifiable = false; this.builtin.modifiable = false;
@@ -122,8 +124,8 @@ var Contexts = Module("contexts", {
for (let hive in values(this.groupList)) for (let hive in values(this.groupList))
util.trapErrors("destroy", hive); util.trapErrors("destroy", hive);
for (let plugin in values(plugins.contexts)) for (let [name, plugin] in iter(this.modules.plugins.contexts))
if (plugin.onUnload) if (plugin && "onUnload" in plugin)
util.trapErrors("onUnload", plugin); util.trapErrors("onUnload", plugin);
}, },
@@ -360,7 +362,8 @@ var Contexts = Module("contexts", {
action.macro = util.compileMacro(rhs, true); action.macro = util.compileMacro(rhs, true);
break; break;
case "-ex": case "-ex":
action = function action() commands.execute(action.macro, makeParams(this, arguments), action = function action() this.modules.commands
.execute(action.macro, makeParams(this, arguments),
false, null, action.context); false, null, action.context);
action.macro = util.compileMacro(rhs, true); action.macro = util.compileMacro(rhs, true);
action.context = this.context && update({}, this.context); action.context = this.context && update({}, this.context);

View File

@@ -296,8 +296,10 @@ var Overlay = Module("Overlay", {
frob("init"); frob("init");
defineModule.modules.forEach(function ({ lazyInit, constructor: { className } }) { defineModule.modules.forEach(function ({ lazyInit, constructor: { className } }) {
if (!lazyInit) if (!lazyInit) {
frob(className); frob(className);
modules[className] = modules[className];
}
else else
modules.__defineGetter__(className, function () { modules.__defineGetter__(className, function () {
delete modules[className]; delete modules[className];