diff --git a/Stainless/StainlessServer.h b/Stainless/StainlessServer.h index 63bd735..8bda7d3 100644 --- a/Stainless/StainlessServer.h +++ b/Stainless/StainlessServer.h @@ -91,6 +91,7 @@ enum { BOOL webHistoryCanRecordVisits; BOOL webHistoryCanControlVisitCount; + BOOL webHistoryHasVisitCount; } @property(nonatomic, retain) NSString* ignoreHistory; diff --git a/Stainless/StainlessServer.m b/Stainless/StainlessServer.m index bc4eec4..59d3390 100644 --- a/Stainless/StainlessServer.m +++ b/Stainless/StainlessServer.m @@ -182,6 +182,7 @@ - (void)awakeFromNib webHistoryCanRecordVisits = NO; webHistoryCanControlVisitCount = NO; + webHistoryHasVisitCount = NO; WebHistoryItem* entry = [[WebHistoryItem alloc] initWithURLString:@"" title:@"" lastVisitedTimeInterval:[NSDate timeIntervalSinceReferenceDate]]; if([entry respondsToSelector:@selector(_recordInitialVisit)]) { @@ -192,6 +193,8 @@ - (void)awakeFromNib else if([entry respondsToSelector:@selector(_visitedWithTitle:)]) webHistoryCanRecordVisits = YES; } + if([entry respondsToSelector:@selector(visitCount)]) + webHistoryHasVisitCount = YES; [entry release]; [self refreshHistory]; @@ -2110,7 +2113,7 @@ - (oneway void)addURLToHistory:(bycopy NSString *)URLString title:(bycopy NSStri if(webHistoryCanRecordVisits) [entry _recordInitialVisit]; - else + else if(webHistoryHasVisitCount) [entry setVisitCount:1]; [clientHistory addItems:[NSArray arrayWithObject:entry]]; @@ -2248,7 +2251,8 @@ - (NSArray*)completionForURLString:(bycopy NSString*)urlString includeSearch:(BO [searchComplete swap]; NSMutableArray* matches = [searchComplete arrayOfDataMatchingString:urlString]; - [matches sortUsingSelector:@selector(visitCountCompare:)]; + if(webHistoryHasVisitCount) + [matches sortUsingSelector:@selector(visitCountCompare:)]; for(WebHistoryItem* item in matches) { NSString* alternateTitle = [item alternateTitle]; if(alternateTitle) { @@ -2273,7 +2277,8 @@ - (NSArray*)completionForURLString:(bycopy NSString*)urlString includeSearch:(BO completion = [NSMutableArray arrayWithCapacity:maxCount]; NSMutableArray* matches = [urlComplete arrayOfDataMatchingString:urlString]; - [matches sortUsingSelector:@selector(visitCountCompare:)]; + if(webHistoryHasVisitCount) + [matches sortUsingSelector:@selector(visitCountCompare:)]; for(WebHistoryItem* item in matches) { NSString* itemURLString = [item URLString];