Author: rmottola
Date: Wed Jun  1 14:28:20 2016
New Revision: 39829

URL: http://svn.gna.org/viewcvs/gnustep?rev=39829&view=rev
Log:
Pass data directly without Archiving/Unarchiving

Modified:
    apps/gworkspace/trunk/ChangeLog
    apps/gworkspace/trunk/Inspector/ContentViewers/ImageViewer/ImageViewer.m
    apps/gworkspace/trunk/Inspector/ContentViewers/ImageViewer/Resizer.m

Modified: apps/gworkspace/trunk/ChangeLog
URL: 
http://svn.gna.org/viewcvs/gnustep/apps/gworkspace/trunk/ChangeLog?rev=39829&r1=39828&r2=39829&view=diff
==============================================================================
--- apps/gworkspace/trunk/ChangeLog     (original)
+++ apps/gworkspace/trunk/ChangeLog     Wed Jun  1 14:28:20 2016
@@ -1,3 +1,9 @@
+2016-06-01 Riccardo Mottola <[email protected]>
+
+       * Inspector/ContentViewers/ImageViewer/ImageViewer.m
+       * Inspector/ContentViewers/ImageViewer/Resizer.m
+       Pass data directly without Archiving/Unarchiving.
+
 2016-06-01 Riccardo Mottola <[email protected]>
 
        * Inspector/ContentViewers/ImageViewer/ImageViewer.h

Modified: 
apps/gworkspace/trunk/Inspector/ContentViewers/ImageViewer/ImageViewer.m
URL: 
http://svn.gna.org/viewcvs/gnustep/apps/gworkspace/trunk/Inspector/ContentViewers/ImageViewer/ImageViewer.m?rev=39829&r1=39828&r2=39829&view=diff
==============================================================================
--- apps/gworkspace/trunk/Inspector/ContentViewers/ImageViewer/ImageViewer.m    
(original)
+++ apps/gworkspace/trunk/Inspector/ContentViewers/ImageViewer/ImageViewer.m    
Wed Jun  1 14:28:20 2016
@@ -296,64 +296,62 @@
   }
 }
 
-- (void)imageReady:(NSData *)data
+- (void)imageReady:(NSData *)imgdata
 {
   NSDictionary *imginfo;
-  NSData *imgdata;
-  BOOL imgok = YES;
+  BOOL imgok;
   NSString *lastPath;
 
-  imginfo = [NSUnarchiver unarchiveObjectWithData: data];
-  imgdata = [imginfo objectForKey: @"imgdata"];
-  if ([self superview]) {      
-    [inspector contentsReadyAt: imagePath];
-  }
-        
-  if (imgdata) {
-    DESTROY (image);
-    image = [[NSImage alloc] initWithData: imgdata];
-    
-    if (image) {
-      float width = [[imginfo objectForKey: @"width"] floatValue];
-      float height = [[imginfo objectForKey: @"height"] floatValue];
-      NSString *str;
-
-      if (valid == NO) {
-        valid = YES;
-        [errLabel removeFromSuperview];
-        [self addSubview: imview]; 
-      }
-
-      [imview setImage: image];
-
-      str = NSLocalizedString(@"Width:", @"");
-      str = [NSString stringWithFormat: @"%@ %.0f", str, width];
-      [widthLabel setStringValue: str];
-
-      str = NSLocalizedString(@"Height:", @"");
-      str = [NSString stringWithFormat: @"%@ %.0f", str, height];
-      [heightLabel setStringValue: str];
-
-      ASSIGN (editPath, imagePath);
-      [editButt setEnabled: YES];              
-      [[self window] makeFirstResponder: editButt];
+  imgok = NO;
+  if (imgdata)
+    {
+      [imgdata retain];
       
-    } else {
-      imgok = NO;
-    }
-    
-  } else {
-    imgok = NO;
-  }
+      if ([self superview])
+        [inspector contentsReadyAt: imagePath];
+      
+      DESTROY (image);
+      image = [[NSImage alloc] initWithData: imgdata];
+      [imgdata release];
+      imgok = YES;
+      if (image)
+        {
+          float width = [[imginfo objectForKey: @"width"] floatValue];
+          float height = [[imginfo objectForKey: @"height"] floatValue];
+          NSString *str;
+
+          if (valid == NO)
+            {
+              valid = YES;
+              [errLabel removeFromSuperview];
+              [self addSubview: imview]; 
+            }
+
+          [imview setImage: image];
+
+          str = NSLocalizedString(@"Width:", @"");
+          str = [NSString stringWithFormat: @"%@ %.0f", str, width];
+          [widthLabel setStringValue: str];
+
+          str = NSLocalizedString(@"Height:", @"");
+          str = [NSString stringWithFormat: @"%@ %.0f", str, height];
+          [heightLabel setStringValue: str];
+
+          ASSIGN (editPath, imagePath);
+          [editButt setEnabled: YES];          
+          [[self window] makeFirstResponder: editButt];
+        }
+    }
+
   
   if (imgok == NO) {
     if (valid == YES) {
       valid = NO;
       [imview removeFromSuperview];
-                       [self addSubview: errLabel];
+      [self addSubview: errLabel];
       [widthLabel setStringValue: @""];
       [heightLabel setStringValue: @""];
-                       [editButt setEnabled: NO];              
+      [editButt setEnabled: NO];               
     }
   }
   

Modified: apps/gworkspace/trunk/Inspector/ContentViewers/ImageViewer/Resizer.m
URL: 
http://svn.gna.org/viewcvs/gnustep/apps/gworkspace/trunk/Inspector/ContentViewers/ImageViewer/Resizer.m?rev=39829&r1=39828&r2=39829&view=diff
==============================================================================
--- apps/gworkspace/trunk/Inspector/ContentViewers/ImageViewer/Resizer.m        
(original)
+++ apps/gworkspace/trunk/Inspector/ContentViewers/ImageViewer/Resizer.m        
Wed Jun  1 14:28:20 2016
@@ -97,7 +97,10 @@
   CREATE_AUTORELEASE_POOL(arp);
   NSMutableDictionary *info = [NSMutableDictionary dictionary];
   NSImage *srcImage = [[NSImage alloc] initWithContentsOfFile: path];
-
+  NSData *returnData;
+  
+  returnData = nil;
+  
   if (srcImage && [srcImage isValid])
     {
       NSData *srcData = [srcImage TIFFRepresentation];
@@ -194,18 +197,20 @@
       NS_ENDHANDLER
 
       if (tiffData) {
-        [info setObject: tiffData forKey: @"imgdata"];
+        returnData = tiffData;
       } 
 
       RELEASE (dstRep);
       
     } else {
-      [info setObject: srcData forKey: @"imgdata"];
+        returnData = srcData;
     }
     
     RELEASE (srcImage);
   }
-  [[serverConnection rootProxy] imageReady: [NSArchiver 
archivedDataWithRootObject: info]];
+  [returnData retain];
+  [[serverConnection rootProxy] imageReady: returnData];
+  [returnData release];
   RELEASE (arp);
 }
 


_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to