         // If a TextField has the focus, then check to see if it's already
         // handling mouse wheel events.  For now, we'll make the same 
         // assumption about TextView.
+        
         var focusOwner:InteractiveObject = getFocus();
         if ((focusOwner is TextField) && TextField(focusOwner).mouseWheelEnabled)
             return;    
-        if (focusOwner is TextView)
-            return;        
+
+        if (!textViewClassLoaded)
+        {
+            textViewClassLoaded = true;
+            const s:String = "mx.components.TextView";
+            if (ApplicationDomain.currentDomain.hasDefinition(s))
+                textViewClass = Class(ApplicationDomain.currentDomain.getDefinition(s));
+        }
+        if (textViewClass && (focusOwner is textViewClass))
+            return;
 
         var nSteps:uint = Math.abs(event.delta);
         var unit:ScrollUnit;
 
+        // Scroll event.delta "steps".  If the VSB is up, scroll vertically,
+        // if -only- the HSB is up then scroll horizontally.
+         
         if (verticalScrollBar && verticalScrollBar.visible)
         {
             unit = (event.delta < 0) ? ScrollUnit.DOWN : ScrollUnit.UP;

        }
    }
    
    private function mouseWheelHandler(event:MouseEvent):void
    {
        var vp:IViewport = viewport;

            event.preventDefault();
        }            
    }

}

}
