summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjoye <joye>2014-03-26 16:04:27 (GMT)
committerjoye <joye>2014-03-26 16:04:27 (GMT)
commitf83383dfc9a21b194a536f989394e8d0f9151f5a (patch)
tree19d06c36f39f159a681e84d01015b82c11e11814
parentc5b8b91fafe35f792b8cf948d21f4bf130c69e2f (diff)
downloadblt-f83383dfc9a21b194a536f989394e8d0f9151f5a.zip
blt-f83383dfc9a21b194a536f989394e8d0f9151f5a.tar.gz
blt-f83383dfc9a21b194a536f989394e8d0f9151f5a.tar.bz2
*** empty log message ***
-rw-r--r--src/bltGrAxis.C29
1 files changed, 21 insertions, 8 deletions
diff --git a/src/bltGrAxis.C b/src/bltGrAxis.C
index 33db4b4..9b66be5 100644
--- a/src/bltGrAxis.C
+++ b/src/bltGrAxis.C
@@ -538,12 +538,21 @@ static void DestroyAxis(Axis *axisPtr)
if (axisPtr->activeTickGC)
Tk_FreeGC(graphPtr->display, axisPtr->activeTickGC);
+ if (axisPtr->major.segments)
+ free(axisPtr->major.segments);
if (axisPtr->major.gc)
Blt_FreePrivateGC(graphPtr->display, axisPtr->major.gc);
+ if (axisPtr->minor.segments)
+ free(axisPtr->minor.segments);
if (axisPtr->minor.gc)
Blt_FreePrivateGC(graphPtr->display, axisPtr->minor.gc);
+ if (axisPtr->t1Ptr)
+ free(axisPtr->t1Ptr);
+ if (axisPtr->t2Ptr)
+ free(axisPtr->t2Ptr);
+
FreeTickLabels(axisPtr->tickLabels);
Blt_Chain_Destroy(axisPtr->tickLabels);
@@ -2635,8 +2644,14 @@ static void MapGridlines(Axis *axisPtr)
if (axisPtr->showGridMinor)
needed += (t1Ptr->nTicks * t2Ptr->nTicks);
- if (needed == 0)
+ if (needed == 0) {
+ // Free generated ticks
+ if (t1Ptr != axisPtr->t1Ptr)
+ free(t1Ptr);
+ if (t2Ptr != axisPtr->t2Ptr)
+ free(t2Ptr);
return;
+ }
needed = t1Ptr->nTicks;
if (needed != axisPtr->major.nAllocated) {
@@ -2665,10 +2680,8 @@ static void MapGridlines(Axis *axisPtr)
int j;
for (j = 0; j < t2Ptr->nTicks; j++) {
- double subValue;
-
- subValue = value + (axisPtr->majorSweep.step *
- t2Ptr->values[j]);
+ double subValue = value + (axisPtr->majorSweep.step *
+ t2Ptr->values[j]);
if (InRange(subValue, &axisPtr->axisRange)) {
MakeGridLine(axisPtr, subValue, s2);
s2++;
@@ -2681,11 +2694,11 @@ static void MapGridlines(Axis *axisPtr)
}
}
+ // Free generated ticks
if (t1Ptr != axisPtr->t1Ptr)
- free(t1Ptr); /* Free generated ticks. */
-
+ free(t1Ptr);
if (t2Ptr != axisPtr->t2Ptr)
- free(t2Ptr); /* Free generated ticks. */
+ free(t2Ptr);
axisPtr->major.nUsed = s1 - axisPtr->major.segments;
axisPtr->minor.nUsed = s2 - axisPtr->minor.segments;