Fix error handling for corrupt MBTiles.

This commit is contained in:
Will White
2011-08-29 18:51:20 -04:00
parent 856c83993c
commit 083c7bb25c
+3 -2
View File
@@ -58,10 +58,10 @@ function MBTiles(uri, callback) {
} }
var mbtiles = cache[key]; var mbtiles = cache[key];
if (!mbtiles.open) { if (!mbtiles.open && !mbtiles.error) {
mbtiles.once('open', callback); mbtiles.once('open', callback);
} else { } else {
callback(null, mbtiles); callback(mbtiles.error || null, mbtiles);
} }
return undefined; return undefined;
} }
@@ -74,6 +74,7 @@ MBTiles.prototype._open = function(uri) {
var mbtiles = this; var mbtiles = this;
function error(err) { function error(err) {
process.nextTick(function() { process.nextTick(function() {
mbtiles.error = err;
mbtiles.emit('open', err); mbtiles.emit('open', err);
}); });
} }