Skip to content

Commit 5aca350

Browse files
committed
fix: crash fix when no axis labels
1 parent aefacae commit 5aca350

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

src/charting/renderer/XAxisRenderer.ts

+3
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,9 @@ export class XAxisRenderer extends AxisRenderer {
158158
const labelRotationAngleDegrees = axis.getLabelRotationAngle();
159159
const centeringEnabled = axis.isCenterAxisLabelsEnabled();
160160
const entryCount = axis.mEntryCount;
161+
if (entryCount === 0) {
162+
return;
163+
}
161164
const length = entryCount * 2;
162165
if (this.labelsPositionsBuffer.length !== length) {
163166
this.labelsPositionsBuffer = Utils.createArrayBuffer(length);

src/charting/renderer/XAxisRendererHorizontalBarChart.ts

+15-6
Original file line numberDiff line numberDiff line change
@@ -119,17 +119,26 @@ export class XAxisRendererHorizontalBarChart extends XAxisRenderer {
119119
const axis = this.mXAxis;
120120
const labelRotationAngleDegrees = axis.getLabelRotationAngle();
121121
const centeringEnabled = axis.isCenterAxisLabelsEnabled();
122-
123-
const positions = Utils.createNativeArray(axis.mEntryCount * 2);
124-
125-
for (let i = 0; i < positions.length; i += 2) {
122+
const entryCount = axis.mEntryCount;
123+
if (entryCount === 0) {
124+
return;
125+
}
126+
if (this.labelsPositionsBuffer.length !== length) {
127+
this.labelsPositionsBuffer = Utils.createArrayBuffer(length);
128+
}
129+
const positionsBuffer = this.labelsPositionsBuffer;
130+
for (let i = 0; i < length; i += 2) {
126131
// only fill x values
127132
if (centeringEnabled) {
128-
positions[i + 1] = axis.mCenteredEntries[i / 2];
133+
positionsBuffer[i] = axis.mCenteredEntries[i / 2];
129134
} else {
130-
positions[i + 1] = axis.mEntries[i / 2];
135+
positionsBuffer[i] = axis.mEntries[i / 2];
136+
}
137+
if (i + 1 < length) {
138+
positionsBuffer[i + 1] = 0;
131139
}
132140
}
141+
const positions = Utils.pointsFromBuffer(positionsBuffer);
133142

134143
this.mTrans.pointValuesToPixel(positions);
135144
const labels = axis.mLabels;

0 commit comments

Comments
 (0)