Bug 151959 inappropriate screen operation
steps to reproduce: - create a report - add a grid item (3x3) - switch to Outline view - expand the grid item to see its rows and cells - select the grid item, and drag it into any of its own cell expected behavior: - is it an invalid screen operation? if it is, it should be banned actual behavior: - the grid item was disappeared surprisingly
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/core/DesignElement.java
protected void updateReference( ElementRefValue oldRef,
			ElementRefValue newRef, ElementPropertyDefn prop )
	{
		ReferenceableElement target;
		
		
		if ( oldRef != null )
		{
			target = oldRef.getTargetElement( );
			if ( target != null )
				target.dropClient( this );
		}
		
		
		
		if ( newRef != null )
		{
			target = newRef.getTargetElement( );
			if ( target != null )
				target.addClient( this, prop.getName( ) );
		}
	}
	/**
	 * Implements to cache a back-pointer from a referenced structure. This
	 * element has a structure reference property that can point to another
	 * "referencable" structure. To maintain semantic consistency, the
	 * referenced structure maintains a list of "clients" that identifies the
	 * elements that refer to it. The client list is used when the target
	 * structure changes names or is deleted. In these cases, the change
	 * automatically updates the clients as well.