 		}
 	}
 }
+import flash.ui.MouseCursor;
+
+import weave.utils.CustomCursorManager;
 
 internal class CursorEntry
 {
 	public function CursorEntry(id:int, name:String)
 	{
 		this.id = id;
-		this.name = name;
+		if (CustomCursorManager.customCursorsSupported)
+			this.name = name;
+		else
+			this.name = MouseCursor.BUTTON;
 	}
 	
 	public var id:Number;

package weave.utils
{
	import flash.display.BitmapData;
	import flash.geom.Point;
	import flash.ui.Mouse;
	import flash.ui.MouseCursor;
	import flash.ui.MouseCursorData;

	public class CustomCursorManager
	{
		public static var debug:Boolean = false;
		
		private static var _initialized:Boolean = false;
		private static var _customCursorsSupported:Boolean = true;
		public static function get customCursorsSupported():Boolean
		{
			if (!_initialized)
			{
				if (Capabilities.manufacturer == "Adobe Linux" && ExternalInterface.available)
				{
					_customCursorsSupported = ExternalInterface.call("function(id) {\
						try {\
							var weave = objectID ? document.getElementById(objectID) : document.body.firstChild;\
							return weave.children.wmode.value != 'transparent';\
						} catch (e) {\
							return true;\
						}\
					}", ExternalInterface.objectID);
				}
				_initialized = true;
			}
			return _customCursorsSupported;
		}
		
		/**
		 * This will register an embedded cursor.
