diff options
author | Sam Bingner <sam@bingner.com> | 2018-09-30 15:05:38 -1000 |
---|---|---|
committer | Sam Bingner <sam@bingner.com> | 2019-05-27 14:16:11 -1000 |
commit | 6f6bdfbcbb3b5dc0a67e28cfe36523e0433ecbeb (patch) | |
tree | 6838775f341277db5d1e752138dec45efe6cbfa9 /MobileCydia.mm | |
parent | 3916b31c1a7f80bad761770af4cf3002aa474d5e (diff) |
Try making uicache trigger
Diffstat (limited to 'MobileCydia.mm')
-rw-r--r-- | MobileCydia.mm | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/MobileCydia.mm b/MobileCydia.mm index ba6afa0..2fc28ec 100644 --- a/MobileCydia.mm +++ b/MobileCydia.mm @@ -589,6 +589,7 @@ static int PulseInterval_ = 500000; static const NSString *UI_; static int Finish_; +static bool UICache_ = false; static bool RestartSubstrate_; static NSArray *Finishes_; @@ -3378,6 +3379,7 @@ class CydiaLogCleaner : std::string line; static RegEx finish_r("finish:([^:]*)"); + static RegEx uicache_r("uicache:(1|[Yy][Ee][Ss])"); while (std::getline(is, line)) { NSAutoreleasePool *pool([[NSAutoreleasePool alloc] init]); @@ -3391,6 +3393,8 @@ class CydiaLogCleaner : int index = [Finishes_ indexOfObject:finish]; if (index != INT_MAX && index > Finish_) Finish_ = index; + } else if (uicache_r(data, size)) { + UICache_ = true; } [pool release]; @@ -8565,7 +8569,10 @@ _end - (void) perform_ { [database_ perform]; [self performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:YES]; - [self performSelectorOnMainThread:@selector(uicache) withObject:nil waitUntilDone:YES]; + if (UICache_) { + UICache_ = false; + [self performSelectorOnMainThread:@selector(uicache) withObject:nil waitUntilDone:YES]; + } } - (void) confirmWithNavigationController:(UINavigationController *)navigation { |