summaryrefslogtreecommitdiff
path: root/data/uikittools/2_sbreload.diff
diff options
context:
space:
mode:
authorSam Bingner <sam@bingner.com>2019-10-23 23:26:45 -1000
committerSam Bingner <sam@bingner.com>2019-10-23 23:26:45 -1000
commit907d20416333ce7a16953cafc2b938a1758f2bee (patch)
treed2449ab401c4092181faa115446d95721c8baeb3 /data/uikittools/2_sbreload.diff
parent0bcec9f6b28c56aa9333bf78dcd322c25afb858e (diff)
Update sbreload to avoid strange apple(?) bug
Diffstat (limited to 'data/uikittools/2_sbreload.diff')
-rw-r--r--data/uikittools/2_sbreload.diff43
1 files changed, 43 insertions, 0 deletions
diff --git a/data/uikittools/2_sbreload.diff b/data/uikittools/2_sbreload.diff
new file mode 100644
index 000000000..88dcd40f4
--- /dev/null
+++ b/data/uikittools/2_sbreload.diff
@@ -0,0 +1,43 @@
+diff --git a/sbreload.m b/sbreload.m
+index e36134f..85b8e17 100644
+--- a/sbreload.m
++++ b/sbreload.m
+@@ -49,6 +49,7 @@
+ #define FLAG_PLATFORMIZE (1 << 1)
+ #include <dlfcn.h>
+ #include <objc/runtime.h>
++#include <xpc/xpc.h>
+
+ @interface FBSSystemService
+ +(id)sharedService;
+@@ -143,16 +144,26 @@ void platformizeme() {
+ case kCFNumberLongType:
+ case kCFNumberLongLongType:
+ CFNumberGetValue(cfr, kCFNumberLongLongType, &n);
+- r = launch_data_alloc(LAUNCH_DATA_INTEGER);
+- launch_data_set_integer(r, n);
++ if (kCFCoreFoundationVersionNumber >= 1443.00) {
++ r = (launch_data_t)xpc_int64_create(n);
++ } else {
++ // This hangs forever if I call it on new iOS???
++ r = launch_data_alloc(LAUNCH_DATA_INTEGER);
++ launch_data_set_integer(r, n);
++ }
+ break;
+ case kCFNumberFloat32Type:
+ case kCFNumberFloat64Type:
+ case kCFNumberFloatType:
+ case kCFNumberDoubleType:
+ CFNumberGetValue(cfr, kCFNumberDoubleType, &d);
+- r = launch_data_alloc(LAUNCH_DATA_REAL);
+- launch_data_set_real(r, d);
++ if (kCFCoreFoundationVersionNumber >= 1443.00) {
++ r = (launch_data_t)xpc_double_create(d);
++ } else {
++ // Not sure if this hangs, but added to be safe
++ r = launch_data_alloc(LAUNCH_DATA_REAL);
++ launch_data_set_real(r, d);
++ }
+ break;
+ default:
+ r = NULL;