Cocoa port : Fix bugs in clipboard operations
authorDamien Plisson <damien.plisson@yahoo.fr>
Mon, 5 Oct 2009 15:00:07 +0000 (15:00 +0000)
committerDamien Plisson <damien.plisson@yahoo.fr>
Mon, 5 Oct 2009 15:00:07 +0000 (15:00 +0000)
intern/ghost/intern/GHOST_SystemCocoa.mm

index c66153ab6705ee708c86c2083076e4cec1f06638..06ce2882bebad3177ddd2a4a78bf91b19af2f284 100644 (file)
@@ -1271,7 +1271,7 @@ GHOST_TUns8* GHOST_SystemCocoa::getClipboard(bool selection) const
        
        NSPasteboard *pasteBoard = [NSPasteboard generalPasteboard];
        
-       if (pasteBoard = nil) {
+       if (pasteBoard == nil) {
                [pool drain];
                return NULL;
        }
@@ -1289,11 +1289,19 @@ GHOST_TUns8* GHOST_SystemCocoa::getClipboard(bool selection) const
        
        NSString * textPasted = [pasteBoard stringForType:@"public.utf8-plain-text"];
 
+       if (textPasted == nil) {
+               [pool drain];
+               return NULL;
+       }
+       
        pastedTextSize = [textPasted lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
        
        temp_buff = (GHOST_TUns8*) malloc(pastedTextSize+1); 
 
-       if (temp_buff == NULL) return NULL;
+       if (temp_buff == NULL) {
+               [pool drain];
+               return NULL;
+       }
        
        strncpy((char*)temp_buff, [textPasted UTF8String], pastedTextSize);
        
@@ -1318,12 +1326,12 @@ void GHOST_SystemCocoa::putClipboard(GHOST_TInt8 *buffer, bool selection) const
                
        NSPasteboard *pasteBoard = [NSPasteboard generalPasteboard];
        
-       if (pasteBoard = nil) {
+       if (pasteBoard == nil) {
                [pool drain];
                return;
        }
        
-       NSArray *supportedTypes = [NSArray arrayWithObjects: @"public.utf8-plain-text",nil];
+       NSArray *supportedTypes = [NSArray arrayWithObject:@"public.utf8-plain-text"];
        
        [pasteBoard declareTypes:supportedTypes owner:nil];