Bug 121815 NullPointerException when undo a delete action.
Description: NullPointerException when undo a delete action. Steps to reproduce: 1. Attached is a grid/table/list nest report, select the outer grid and press delete button. 2. Press Ctrl+Z Expected result: The deleted items are recovered without exception. Actual result: java.lang.NullPointerException at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.ReportElementEditPart.getRefreshManager(ReportElementEditPart.java:713) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.ReportElementEditPart.refreshVisuals(ReportElementEditPart.java:513) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.LabelEditPart.markDirty(LabelEditPart.java:65) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.ReportElementEditPart.markDirty(ReportElementEditPart.java:677) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.ReportElementEditPart.markDirty(ReportElementEditPart.java:677) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.ReportElementEditPart.markDirty(ReportElementEditPart.java:677) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.ReportElementEditPart.markDirty(ReportElementEditPart.java:677) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.TableEditPart.markDirty(TableEditPart.java:1228) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.ReportElementEditPart.markDirty(ReportElementEditPart.java:655) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.GridEditPart.elementChanged(GridEditPart.java:73) at org.eclipse.birt.report.model.core.DesignElement.broadcast(DesignElement.java:776) at org.eclipse.birt.report.model.activity.NotificationRecordTask.doTask(NotificationRecordTask.java:199) at org.eclipse.birt.report.model.activity.FilterEventsCompoundRecord.performPostTasks(FilterEventsCompoundRecord.java:76) at org.eclipse.birt.report.model.activity.CompoundRecord.undo(CompoundRecord.java:127) at org.eclipse.birt.report.model.activity.ActivityStack.undo(ActivityStack.java:397) at org.eclipse.birt.report.designer.internal.ui.command.WrapperCommandStack.undo(WrapperCommandStack.java:59) at org.eclipse.gef.ui.actions.UndoAction.run(UndoAction.java:93) at org.eclipse.jface.action.Action.runWithEvent(Action.java:996) at org.eclipse.ui.actions.RetargetAction.runWithEvent(RetargetAction.java:222) at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:117) at org.eclipse.core.commands.Command.execute(Command.java:311) at org.eclipse.core.commands.ParameterizedCommand.execute(ParameterizedCommand.java:396) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:459) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:781) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:828) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:550) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:493) at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:117) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:917) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:842) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:867) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:852) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:880) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:876) at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1190) at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3135) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3038) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3706) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1656) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2711) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948)
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/internal/ui/editors/schematic/editparts/GridEditPart.java
{
	private static final String GUIDEHANDLE_TEXT = Messages.getString( "GridEditPart.GUIDEHANDLE_TEXT" ); 
	/**
	 * Constructor
	 * 
	 * @param obj
	 */
	public GridEditPart( Object obj )
	{
		super( obj );
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
	 */
	protected IFigure createFigure( )
	{
		TableFigure viewport = new GridFigure( );
		viewport.setOpaque( false );
		innerLayers = new FreeformLayeredPane( );
		createLayers( innerLayers );