aboutsummaryrefslogtreecommitdiff
path: root/generic
diff options
context:
space:
mode:
Diffstat (limited to 'generic')
-rw-r--r--generic/Tabular.c16
-rw-r--r--generic/Track.c3
2 files changed, 15 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;
}
diff --git a/generic/Track.c b/generic/Track.c
index fb6a587..0b741b0 100644
--- a/generic/Track.c
+++ b/generic/Track.c
@@ -1265,6 +1265,9 @@ IsSensitive(Item item,
else if (item_part >= 0) {
return ITEM_P.IsFieldSensitive(&((TrackItem) item)->field_set, item_part);
}
+ else if (item_part == ZN_NO_PART) {
+ return ISSET(item->flags, SENSITIVE_BIT);
+ }
return True;
}