 		{
 			proxied_object ||= display_object;
 			super(proxied_object);
+			proxied_object.addEventListener('render', after_textfield_render);
 		}
 
 		/**

			// apply new text format
			this.defaultTextFormat = tf;
			this.setTextFormat(tf);
			reset_text_size();
		}

		/**

			this.htmlText = e.newValue;
		}

		private function after_textfield_render (e:Object) :void
		{
			reset_text_size();
		}


		private function reset_text_size () :void
		{
			// if autoSizing, work around scroll bug with this height hack
			if (_autoSize != 'none')
			{
				proxied_object.autoSize = _autoSize;
				with (proxied_object)
				{
					autoSize = _autoSize;
					var h:Number = height;
					autoSize = 'none';
					height = h + getTextFormat().leading + 4;
				}
			}
		}

		private function set_text_property (p:String, t:String) :void
		{
			t ||= '';
			setProperty(p, t);
		}
	}
}