aboutsummaryrefslogtreecommitdiff
path: root/generic/Tabular.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/Tabular.c')
-rw-r--r--generic/Tabular.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/generic/Tabular.c b/generic/Tabular.c
index 1cbe425..5a0acb4 100644
--- a/generic/Tabular.c
+++ b/generic/Tabular.c
@@ -350,7 +350,12 @@ IsSensitive(Item item,
!item->parent->class->IsSensitive(item->parent, ZN_NO_PART)) {
return False;
}
- return ITEM_P.IsFieldSensitive(&((TabularItem) item)->field_set, item_part);
+ if (item_part == ZN_NO_PART) {
+ return ISSET(item->flags, SENSITIVE_BIT);
+ }
+ else {
+ return ITEM_P.IsFieldSensitive(&((TabularItem) item)->field_set, item_part);
+ }
}
@@ -374,9 +379,12 @@ Pick(Item item,
double dist;
dist = ITEM_P.FieldsPick(&((TabularItem) item)->field_set, p, &best_part);
- /* printf("tabular %d reporting part %d, distance %lf\n",
- item->id, best_part, dist); */
-
+ /*printf("tabular %d reporting part %d, distance %lf\n",
+ item->id, best_part, dist);*/
+ if (dist <= 0.0) {
+ dist = 0.0;
+ }
+
*part = best_part;
return dist;
}