projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(render_strip) Fix bug that sometimes caused joined text in joined
[pspp]
/
src
/
tab.c
diff --git
a/src/tab.c
b/src/tab.c
index 8672bd76be8378bbef60864b55d3de9a55684f09..3166740f2002645b4f3db15deb088a675ba077ad 100644
(file)
--- a/
src/tab.c
+++ b/
src/tab.c
@@
-115,6
+115,7
@@
tab_destroy (struct tab_table *t)
{
assert (t != NULL);
pool_destroy (t->container);
{
assert (t != NULL);
pool_destroy (t->container);
+ t=0;
}
/* Sets the width and height of a table, in columns and rows,
}
/* Sets the width and height of a table, in columns and rows,
@@
-1339,8
+1340,7
@@
render_strip (int x, int y, int r, int c1, int c2, int r1 unused, int r2)
{
j->hit = tab_hit;
{
j->hit = tab_hit;
- if (j->x1 == c / 2 && j->y1 == r / 2
- && j->x2 <= c2 && j->y2 <= r2)
+ if (j->x1 == c / 2 && j->y1 == r / 2)
{
struct outp_text text;
{
struct outp_text text;
@@
-1354,15
+1354,15
@@
render_strip (int x, int y, int r, int c1, int c2, int r1 unused, int r2)
int c;
for (c = j->x1, text.h = -t->wrv[j->x2];
int c;
for (c = j->x1, text.h = -t->wrv[j->x2];
- c < j->x2
; c++)
- text.h += t->w[c] + t->wrv[c + 1];
+ c < j->x2
&& c < c2 / 2; c++)
+ text.h += t->w[c] + t->wrv[c + 1];
}
{
int r;
for (r = j->y1, text.v = -t->hrh[j->y2];
}
{
int r;
for (r = j->y1, text.v = -t->hrh[j->y2];
- r < j->y2; r++)
+ r < j->y2
&& r < r2 / 2
; r++)
text.v += t->h[r] + t->hrh[r + 1];
}
d->class->text_draw (d, &text);
text.v += t->h[r] + t->hrh[r + 1];
}
d->class->text_draw (d, &text);