fix broken register() on events r=tschaub (Closes #1502)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7610 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -406,7 +406,6 @@ OpenLayers.Events = OpenLayers.Class({
|
||||
initialize: function (object, element, eventTypes, fallThrough) {
|
||||
this.object = object;
|
||||
this.element = element;
|
||||
this.eventTypes = eventTypes;
|
||||
this.fallThrough = fallThrough;
|
||||
this.listeners = {};
|
||||
|
||||
@@ -418,9 +417,10 @@ OpenLayers.Events = OpenLayers.Class({
|
||||
|
||||
// if eventTypes is specified, create a listeners list for each
|
||||
// custom application event.
|
||||
if (this.eventTypes != null) {
|
||||
for (var i = 0; i < this.eventTypes.length; i++) {
|
||||
this.addEventType(this.eventTypes[i]);
|
||||
this.eventTypes = [];
|
||||
if (eventTypes != null) {
|
||||
for (var i = 0; i < eventTypes.length; i++) {
|
||||
this.addEventType(eventTypes[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -457,6 +457,7 @@ OpenLayers.Events = OpenLayers.Class({
|
||||
*/
|
||||
addEventType: function(eventName) {
|
||||
if (!this.listeners[eventName]) {
|
||||
this.eventTypes.push(eventName);
|
||||
this.listeners[eventName] = [];
|
||||
}
|
||||
},
|
||||
@@ -532,16 +533,14 @@ OpenLayers.Events = OpenLayers.Class({
|
||||
*/
|
||||
register: function (type, obj, func) {
|
||||
|
||||
if (func != null &&
|
||||
((this.eventTypes && OpenLayers.Util.indexOf(this.eventTypes, type) != -1) ||
|
||||
OpenLayers.Util.indexOf(this.BROWSER_EVENTS, type) != -1)) {
|
||||
if ( (func != null) &&
|
||||
(OpenLayers.Util.indexOf(this.eventTypes, type) != -1) ) {
|
||||
|
||||
if (obj == null) {
|
||||
obj = this.object;
|
||||
}
|
||||
var listeners = this.listeners[type];
|
||||
if (listeners != null) {
|
||||
listeners.push( {obj: obj, func: func} );
|
||||
}
|
||||
listeners.push( {obj: obj, func: func} );
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user