Changeset 9109

Show
Ignore:
Timestamp:
06/11/08 00:13:43 (4 months ago)
Author:
hannes
Message:

* Fix dontEnum(): Don't try to set attributes unless object actually

has the property.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • helma-ng/trunk/modules/core/object.js

    r8882 r9109  
    1414 * $Date: 2007-12-13 13:21:48 +0100 (Don, 13 Dez 2007) $ 
    1515 */ 
     16 
     17// importModule('helma.logging', 'logging'); 
     18// var log = logging.getLog(__name__); 
    1619 
    1720__shared__ = true; 
     
    3437    var wrapped = cx.wrapFactory.wrapAsJavaObject(cx, global, this, null); 
    3538    for (var i = 0; i < length; i++) { 
     39        if (!this.hasOwnProperty(arguments[i])) { 
     40            continue; 
     41        } 
    3642        try { 
    3743            wrapped.setAttributes(arguments[i], rhino.ScriptableObject.DONTENUM); 
    3844        } catch (e) { 
    39             // java.lang.System.err.println("Error: " + e); 
    40             // FIXME we need a logging module! 
     45            java.lang.System.err.println("Error in dontEnum: " + e); 
    4146        } 
    4247    } 
    43     return null
     48    return
    4449} 
    4550 
     
    128133 
    129134// prevent any newly added properties from being enumerated 
    130 for (var i in Object) 
    131    Object.dontEnum(i); 
    132135for (var i in Object.prototype) 
    133136   Object.prototype.dontEnum(i); 
    134