]> git.saurik.com Git - cydia.git/blobdiff - MobileCydia.mm
Add a _trace() to applicationDidFinishLaunching:.
[cydia.git] / MobileCydia.mm
index 34781f6619781f0a352f882917d3f2aea230d123..d6adebabcdab5d134d16279ea7b55783603d80c5 100644 (file)
@@ -1430,7 +1430,6 @@ typedef std::map< unsigned long, _H<Source> > SourceMap;
 struct PackageValue :
     Cytore::Block
 {
-    Cytore::Offset<void> reserved_;
     Cytore::Offset<PackageValue> next_;
 
     uint32_t index_ : 23;
@@ -1450,7 +1449,6 @@ struct PackageValue :
 struct MetaValue :
     Cytore::Block
 {
-    Cytore::Offset<void> reserved_;
     Cytore::Offset<PackageValue> packages_[1 << 16];
 };
 
@@ -5001,14 +4999,14 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
 }
 
 - (void) onSwitch:(id)sender {
-    NSMutableDictionary *metadata = [Sections_ objectForKey:basic_];
+    NSMutableDictionary *metadata([Sections_ objectForKey:basic_]);
     if (metadata == nil) {
         metadata = [NSMutableDictionary dictionaryWithCapacity:2];
         [Sections_ setObject:metadata forKey:basic_];
     }
 
-    Changed_ = true;
     [metadata setObject:[NSNumber numberWithBool:([switch_ isOn] == NO)] forKey:@"Hidden"];
+    Changed_ = true;
 }
 
 - (void) setSection:(Section *)section editing:(BOOL)editing {
@@ -7560,7 +7558,6 @@ freeing the view controllers on tab change */
         nil];
 
         [Metadata_ setObject:Settings_ forKey:@"Settings"];
-
         Changed_ = true;
 
         if (rolling)
@@ -8063,21 +8060,24 @@ static _finline void _setHomePage(Cydia *self) {
 }
 
 - (void) _saveConfig {
+    _trace();
+    MetaFile_.Sync();
+    _trace();
+
     if (Changed_) {
-        _trace();
         NSString *error(nil);
+
         if (NSData *data = [NSPropertyListSerialization dataFromPropertyList:Metadata_ format:NSPropertyListBinaryFormat_v1_0 errorDescription:&error]) {
             _trace();
             NSError *error(nil);
             if (![data writeToFile:@"/var/lib/cydia/metadata.plist" options:NSAtomicWrite error:&error])
                 NSLog(@"failure to save metadata data: %@", error);
             _trace();
+
+            Changed_ = false;
         } else {
             NSLog(@"failure to serialize metadata: %@", error);
-            return;
         }
-
-        Changed_ = false;
     }
 }
 
@@ -8754,6 +8754,7 @@ static _finline void _setHomePage(Cydia *self) {
 }
 
 - (void) applicationDidFinishLaunching:(id)unused {
+_trace();
     [CYBrowserController _initialize];
 
     [NSURLProtocol registerClass:[CydiaURLProtocol class]];