protected override void Close()
        {
            base.Close();

            if (effect != null)
            {
                effect.Dispose();
            }
            effect = null;

            if (info != null)
            {
                info.Dispose();
            }
            info = null;
        }
        protected override void SetView(PhotoImageView value)
        {
            if (view != null)
            {
                view.ExposeEvent -= ExposeEvent;
                view.QueueDraw();
                view.DoubleBuffered = double_buffer;
            }

            base.SetView(value);

            if (view == null)
            {
                return;
            }

            info = new Widgets.ImageInfo(view.CompletePixbuf());

            double_buffer       = (view.WidgetFlags & WidgetFlags.DoubleBuffered) == WidgetFlags.DoubleBuffered;
            view.DoubleBuffered = true;
            view.ExposeEvent   += ExposeEvent;
            view.QueueDraw();
        }
		protected override void Close ()
		{
			base.Close ();

			if (effect != null)
				effect.Dispose ();
			effect = null;
			
			if (info != null)
				info.Dispose ();
			info = null;
			
		}
		protected override void SetView (PhotoImageView value)
		{
			if (view != null) {
				view.ExposeEvent -= ExposeEvent;
				view.QueueDraw ();
				view.DoubleBuffered = double_buffer;
			}

			base.SetView (value);

			if (view == null)
				return;

			info = new Widgets.ImageInfo (view.CompletePixbuf ());

			double_buffer = (view.WidgetFlags & WidgetFlags.DoubleBuffered) == WidgetFlags.DoubleBuffered;
			view.DoubleBuffered = true;
			view.ExposeEvent += ExposeEvent;
			view.QueueDraw ();
		}