Skip to content

Commit

Permalink
[TIMOB-9222][TIMOB-9223] Fix crashes on setData, hasData.
Browse files Browse the repository at this point in the history
Fix hasText, hasData return values.
  • Loading branch information
Arthur Evans committed May 25, 2012
1 parent 3e08ce1 commit 19f8add
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 6 deletions.
4 changes: 2 additions & 2 deletions iphone/Classes/TiUIClipboardProxy.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
-(void)clearText:(id)args;
-(id)getData:(id)args;
-(NSString *)getText:(id)args;
-(BOOL)hasData:(id)args;
-(BOOL)hasText:(id)args;
-(id)hasData:(id)args;
-(id)hasText:(id)args;
-(void)setData:(id)args;
-(void)setText:(id)args;

Expand Down
36 changes: 32 additions & 4 deletions iphone/Classes/TiUIClipboardProxy.m
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,20 @@ -(void)clearText:(id)args
board.strings = nil;
}

-(id)getData:(id)arg
-(id)getData:(id)args
{
id arg = nil;
if ([args isKindOfClass:[NSArray class]])
{
if ([args count] > 0)
{
arg = [args objectAtIndex:0];
}
}
else
{
arg = args;
}
ENSURE_STRING(arg);
NSString *mimeType = arg;
__block id result;
Expand Down Expand Up @@ -153,8 +165,20 @@ -(NSString *)getText:(id)args
return [self getData: @"text/plain"];
}

-(BOOL)hasData:(id)arg
-(id)hasData:(id)args
{
id arg = nil;
if ([args isKindOfClass:[NSArray class]])
{
if ([args count] > 0)
{
arg = [args objectAtIndex:0];
}
}
else
{
arg = args;
}
ENSURE_STRING_OR_NIL(arg);
NSString *mimeType = arg;
__block BOOL result=NO;
Expand Down Expand Up @@ -187,10 +211,10 @@ -(BOOL)hasData:(id)arg
}
}
}, YES);
return result;
return NUMBOOL(result);
}

-(BOOL)hasText:(id)args
-(id)hasText:(id)args
{
return [self hasData: @"text/plain"];
}
Expand All @@ -202,6 +226,10 @@ -(void)setData:(id)args

NSString *mimeType = [TiUtils stringValue: [args objectAtIndex: 0]];
id data = [args objectAtIndex: 1];
if (data == nil) {
DebugLog(@"[WARN] setData: data object was nil.");
return;
}
UIPasteboard *board = [UIPasteboard generalPasteboard];
ClipboardType dataType = mimeTypeToDataType(mimeType);

Expand Down

0 comments on commit 19f8add

Please sign in to comment.