Bug 146976 Save state of the report not correct.
Reproduce: 1) New a library "lib1", add a label "label1" 2) Publish "lib1" 3) New a report "report1", use "lib1" 4) Drag "lib1.label1" into "report1" 5) Go back to "lib1", drop "label1", save and publish again. 6) Go to "report1", refresh the libaray explorer and design. 7) Save "report1" 8) Now, we go back to "lib1" 9) Undo the previous "delete command", "label1" is added back. 10) Save "lib1", and re-publish. 11) Go to "report1", refresh the libaray explorer and design. 12) Save "report1" At this stage, "report1" is saved, but the dirty indicator(*) still displayed in the left side of the report name. I am testing on build N20060613
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/core/Module.java
/**
	 * The hash map for the id-to-element lookup.
	 */
	protected HashMap idMap = new HashMap( );
	/**
	 * The undo/redo stack for operations on this module.
	 */
	protected ActivityStack activityStack = new ActivityStack( );
	/**
	 * The save state used for dirty file detection. See
	 * {@link org.eclipse.birt.report.model.activity.ActivityStack}for details.
	 */
	protected int saveState = 0;
	/**
	 * The array of name spaces. The meanings of each name space is defined in
	 * {@link org.eclipse.birt.report.model.api.metadata.MetaDataConstants MetaDataConstants}.
	 */
	protected NameSpace nameSpaces[] = new NameSpace[NAME_SPACE_COUNT];
	/**
	 * The array of module name spaces. Each name space has the corresponding
	 * module name space.
	 */
	protected IModuleNameScope moduleNameSpaces[] = new IModuleNameScope[NAME_SPACE_COUNT];
	/**
	 * Internal table to store a bunch of user-defined messages. One message can
	 * be defined in several translations, one translation per locale.
	 */
	protected TranslationTable translations = new TranslationTable( );
	/**
	 * The property definition list of all the referencable structure list