Merge pull request #240 from ajkopinga.

This commit is contained in:
ahocevar
2012-02-28 10:49:48 +01:00
2 changed files with 9 additions and 2 deletions
+2 -1
View File
@@ -787,7 +787,8 @@ OpenLayers.Renderer.Canvas = OpenLayers.Class(OpenLayers.Renderer, {
*/ */
getFeatureIdFromEvent: function(evt) { getFeatureIdFromEvent: function(evt) {
var featureId, feature; var featureId, feature;
if (this.hitDetection) {
if (this.hitDetection && this.root.style.display !== "none") {
// this dragging check should go in the feature handler // this dragging check should go in the feature handler
if (!this.map.dragging) { if (!this.map.dragging) {
var xy = evt.xy; var xy = evt.xy;
+7 -1
View File
@@ -336,12 +336,18 @@
} }
var num = cases.length; var num = cases.length;
t.plan(num); t.plan(2 * num);
var c, feature; var c, feature;
for (var i=0; i<num; ++i) { for (var i=0; i<num; ++i) {
c = cases[i]; c = cases[i];
feature = layer.renderer.getFeatureIdFromEvent({xy: px(c.x, c.y)}); feature = layer.renderer.getFeatureIdFromEvent({xy: px(c.x, c.y)});
t.eq(feature && feature.id, c.id, c.msg); t.eq(feature && feature.id, c.id, c.msg);
// Extra test: hit detection on an invisible canvas should return undefined
layer.setVisibility(false);
feature = layer.renderer.getFeatureIdFromEvent({xy: px(c.x, c.y)});
t.eq(feature, undefined, c.msg + ' (invisible)');
layer.setVisibility(true);
} }
map.destroy(); map.destroy();