summaryrefslogtreecommitdiff
path: root/MobileCydia.mm
diff options
context:
space:
mode:
authorSam Bingner <sam@bingner.com>2018-09-30 15:05:38 -1000
committerSam Bingner <sam@bingner.com>2018-09-30 15:05:38 -1000
commite1fe198695e4c91f62772fb1dbbfdc4607503cdc (patch)
tree24bde2ebe8b7e8f1036497ea78a48e2829fd9078 /MobileCydia.mm
parentdfe8b17d3030459f6b66cc1736b4e5823d876fb3 (diff)
Try making uicache trigger
Diffstat (limited to 'MobileCydia.mm')
-rw-r--r--MobileCydia.mm9
1 files changed, 8 insertions, 1 deletions
diff --git a/MobileCydia.mm b/MobileCydia.mm
index 011fb7c..20fe182 100644
--- a/MobileCydia.mm
+++ b/MobileCydia.mm
@@ -593,6 +593,7 @@ static int PulseInterval_ = 500000;
static const NSString *UI_;
static int Finish_;
+static bool UICache_ = false;
static bool RestartSubstrate_;
static NSArray *Finishes_;
@@ -3382,6 +3383,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]);
@@ -3395,6 +3397,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];
@@ -8569,7 +8573,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 {