fixes for drag-n-drop broken by use of boost::shared_ptr<T>