summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MobileCydia.mm5
-rw-r--r--iPhonePrivate.h1
-rw-r--r--makefile1
3 files changed, 6 insertions, 1 deletions
diff --git a/MobileCydia.mm b/MobileCydia.mm
index 872e818..6121e6e 100644
--- a/MobileCydia.mm
+++ b/MobileCydia.mm
@@ -4449,7 +4449,10 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
break;
case 4:
- system("reboot");
+ if (void (*SBReboot)(mach_port_t) = reinterpret_cast<void (*)(mach_port_t)>(dlsym(RTLD_DEFAULT, "SBReboot")))
+ SBReboot(SBSSpringBoardServerPort());
+ else
+ system("reboot");
break;
}
}
diff --git a/iPhonePrivate.h b/iPhonePrivate.h
index e6a79dc..9778f9d 100644
--- a/iPhonePrivate.h
+++ b/iPhonePrivate.h
@@ -350,6 +350,7 @@ extern float const UIWebViewGrowsAndShrinksToFitHeight;
extern float const UIWebViewScalesToFitScale;
// }}}
// extern "C" *(); {{{
+extern "C" mach_port_t SBSSpringBoardServerPort();
extern "C" UIImage *_UIImageWithName(NSString *name);
extern "C" void UISetColor(CGColorRef color);
// }}}
diff --git a/makefile b/makefile
index d932617..70c5432 100644
--- a/makefile
+++ b/makefile
@@ -30,6 +30,7 @@ link += -framework GraphicsServices
link += -framework IOKit
link += -framework JavaScriptCore
link += -framework QuartzCore
+link += -framework SpringBoardServices
link += -framework SystemConfiguration
link += -framework WebCore
link += -framework WebKit