Community
Participate
Working Groups
Build Identifier: 20100617-1415 Commands implemented in org.eclipse.birt.report.designer.core.commands (e.g. DeleteCommand, SetPropertyCommand, ...) doesn't have set command label. In method ActivityStack.getUndoLabel is assert label != null. Workaround: public class MyCommandStack extends WrapperCommandStack { public MyCommandStack(org.eclipse.birt.report.model.api.CommandStack ar) { super(ar); } public void execute(Command command) { // Prevents command assertion in ActivityStack if (command != null && command.getLabel() == null) command.setLabel(""); super.execute(command); } } In subclass of GraphicalEditor (e.g. ReportEditorWithRuler) implement method: protected void configureGraphicalViewer() { ... ModuleHandle model = getModel(); CommandStack modelCommandStack = model==null?null:model.getCommandStack(); MyCommandStack myCommandStack = new MyCommandStack(modelCommandStack); getGraphicalViewer().getEditDomain().setCommandStack(myCommandStack); ... } Reproducible: Always Steps to Reproduce: 1. Open new report design BIRT Report Designer. 2. Insert label into report and write some text into label. 3. End label editing with <Enter> or mouse click outside label. 4. Assert label != null in ActivityStack.getUndoLabel If view Property Editor is shown, assertion happens every time.
Fixed.
Verified in daily build 2.6.2.v20101021-0630