summaryrefslogtreecommitdiff
path: root/MobileSafety.mm
diff options
context:
space:
mode:
Diffstat (limited to 'MobileSafety.mm')
-rw-r--r--MobileSafety.mm16
1 files changed, 16 insertions, 0 deletions
diff --git a/MobileSafety.mm b/MobileSafety.mm
index a3e8960..0d9d7ad 100644
--- a/MobileSafety.mm
+++ b/MobileSafety.mm
@@ -300,3 +300,19 @@ MSInstanceMessageHook1(void, BKSApplicationLaunchSettings, setEnvironment, NSDic
[modified setObject:@"1" forKey:@"_MSSafeMode"];
return MSOldCall(modified);
}
+
+MSInitialize {
+ NSAutoreleasePool *pool([[NSAutoreleasePool alloc] init]);
+
+ // on iOS 6, backboardd is in charge of brightness, and freaks out when SpringBoard restarts :(
+ // the result is that the device is super dark until we attempt to update the brightness here.
+
+ if (kCFCoreFoundationVersionNumber >= 700) {
+ if (void (*GSEventSetBacklightLevel)(float) = reinterpret_cast<void (*)(float)>(dlsym(RTLD_DEFAULT, "GSEventSetBacklightLevel")))
+ if (NSMutableDictionary *defaults = [NSMutableDictionary dictionaryWithContentsOfFile:[NSString stringWithFormat:@"%@/Library/Preferences/com.apple.springboard.plist", NSHomeDirectory()]])
+ if (NSNumber *level = [defaults objectForKey:@"SBBacklightLevel2"])
+ GSEventSetBacklightLevel([level floatValue]);
+ }
+
+ [pool release];
+}