Project: Birt
Bug 239546 marker change in "beforeDrawMarker" will infuence the following data points marker rendering
Reported: 2008-07-04 01:31:19 | Status: resolved fixed

I want to change a data points marker depending on some business logic. Currently, when changing marker n in "beforeDrawMarker", n+1 will remember the change. This is unwanted. You have to reset the change in "afterDrawMarker". UNfortunately, this is very buggy and/or not reliable. If you copy the marker, then everything is fine: /** * Convenient routine to render a marker */ protected final void renderMarker( Object oParent, IPrimitiveRenderer ipr, Marker m, Location lo, LineAttributes lia, Fill fPaletteEntry, DataPointHints dph, Integer markerSize, boolean bDeferred, boolean bConsiderTranspostion ) throws ChartException { m = (Marker) EcoreUtil.copy( m ); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // Convert Fill for negative value if ( dph != null && dph.getOrthogonalValue( ) instanceof Double ) {

Files changed in fix:
chart/org.eclipse.birt.chart.engine/src/org/eclipse/birt/chart/render/AxesRenderer.java