From 8dbdaafa2948a9c2fb180a9571bf3bb0a669b934 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Sat, 19 Feb 2011 16:16:44 -0800 Subject: Use setViewportWidth: only on main thread. --- MobileCydia.mm | 2 +- UICaboodle/BrowserView.h | 2 ++ UICaboodle/BrowserView.mm | 8 ++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/MobileCydia.mm b/MobileCydia.mm index cdc9a52..17b08bd 100644 --- a/MobileCydia.mm +++ b/MobileCydia.mm @@ -4109,7 +4109,7 @@ static NSString *Warning_; } - (void) setViewportWidth:(float)width { - [indirect_ setViewportWidth:width]; + [indirect_ setViewportWidthOnMainThread:width]; } - (NSString *) stringWithFormat:(NSString *)format arguments:(WebScriptObject *)arguments { diff --git a/UICaboodle/BrowserView.h b/UICaboodle/BrowserView.h index 4e9be45..51cb345 100644 --- a/UICaboodle/BrowserView.h +++ b/UICaboodle/BrowserView.h @@ -130,4 +130,6 @@ - (void) dispatchEvent:(NSString *)event; +- (void) setViewportWidthOnMainThread:(float)value; + @end diff --git a/UICaboodle/BrowserView.mm b/UICaboodle/BrowserView.mm index d549640..43f2905 100644 --- a/UICaboodle/BrowserView.mm +++ b/UICaboodle/BrowserView.mm @@ -646,6 +646,14 @@ static void $UIWebViewWebViewDelegate$webViewClose$(UIWebViewWebViewDelegate *se [self _setViewportWidth]; } +- (void) _setViewportWidthOnMainThread:(NSNumber *)width { + [self setViewportWidth:[width floatValue]]; +} + +- (void) setViewportWidthOnMainThread:(float)width { + [self performSelectorOnMainThread:@selector(_setViewportWidthOnMainThread:) withObject:[NSNumber numberWithFloat:width] waitUntilDone:NO]; +} + - (void) webViewUpdateViewSettings:(UIWebView *)view { [self _setViewportWidth]; } -- cgit v1.2.3