         if (o.exclude)
         {
             o.modalMask = new Sprite();
-            updateModalMask(smp ? smp.systemManager : sm,
-                            modalWindow, o.exclude, o.modalMask);    
+            updateModalMask(realSm, modalWindow, o.exclude, o.excludeRect, o.modalMask);    
             modalWindow.mask = o.modalMask;
             childrenList.addChild(o.modalMask);
         }
-        
         
         // a modal mousedownoutside handler just dispatches the event
         o._mouseDownOutsideHandler  = dispatchMouseDownOutsideEvent;

 */
class PopUpData
{
    //--------------------------------------------------------------------------
    //
    //  Constructor

    /**
     *   @private
     * 
     *   Rectangle to exclude from the <code>exclude</code> component
     *   which is in turn excluded from the modal dialog.
     *   This is passed within a sandbox so A.2 can tell A what
     *   the size of A.2.3 was. Each top-level application
     *   calculates excludeRect if there is mutual trust with its parent. 
     *   If there is no trust this property will be null.
     */  
    public var excludeRect:Rectangle;
     
    /**
     *   @private
     * 
     *   Mask created from the modalWindow and exclude fields.
     */  
    public var modalMask:Sprite;
