[SCM] Multi-format 1D/2D barcode image processing library branch, upstream, updated. 24d4480bc48cf9eabf7b2bd2f528248b0e458809

rpechayr rpechayr at 59b500cc-1b3d-0410-9834-0bbf25fbcc57
Wed Aug 4 01:31:47 UTC 2010


The following commit has been merged in the upstream branch:
commit 7a9d557c6d1dc1db0e9d256161f0a0eec1558632
Author: rpechayr <rpechayr at 59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Date:   Sun May 30 11:40:09 2010 +0000

    [iphone] all memory leaks fixed. A number of minor bugs corrected
    
    git-svn-id: http://zxing.googlecode.com/svn/trunk@1397 59b500cc-1b3d-0410-9834-0bbf25fbcc57

diff --git a/iphone/ScanTest/Classes/RootViewController.m b/iphone/ScanTest/Classes/RootViewController.m
index cec4693..2af80bb 100644
--- a/iphone/ScanTest/Classes/RootViewController.m
+++ b/iphone/ScanTest/Classes/RootViewController.m
@@ -7,11 +7,16 @@
 //
 
 #import "RootViewController.h"
+ at interface RootViewController()
+ at property (nonatomic,retain) ZXingWidgetController *scanController;
+
+ at end
 
 
 @implementation RootViewController
 @synthesize resultsView;
 @synthesize resultsToDisplay;
+ at synthesize scanController;
 #pragma mark -
 #pragma mark View lifecycle
 
@@ -19,10 +24,9 @@
     [super viewDidLoad];
 	[self setTitle:@"ZXing"];
   
-	scanController = [[ZXingWidgetController alloc] initWithDelegate:self];
-	[scanController setOneDMode:NO];
-	[scanController setShowCancel:YES];
-	scanController = [scanController initWithDelegate:self];
+  ZXingWidgetController *widController = [[ZXingWidgetController alloc] initWithDelegate:self showCancel:YES OneDMode:NO];
+	self.scanController = widController;
+  [widController release];
 	NSBundle *mainBundle = [NSBundle mainBundle];
 	[scanController setSoundToPlay:[[NSURL fileURLWithPath:[mainBundle pathForResource:@"beep-beep" ofType:@"aiff"] isDirectory:NO] retain]];
    
diff --git a/iphone/ScanTest/ScanTest.xcodeproj/project.pbxproj b/iphone/ScanTest/ScanTest.xcodeproj/project.pbxproj
index 2b04330..af58649 100755
--- a/iphone/ScanTest/ScanTest.xcodeproj/project.pbxproj
+++ b/iphone/ScanTest/ScanTest.xcodeproj/project.pbxproj
@@ -279,6 +279,7 @@
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				COPY_PHASE_STRIP = YES;
+				EXPORTED_SYMBOLS_FILE = ../ZXingWidget/exportList;
 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
 				GCC_PREFIX_HEADER = ScanTest_Prefix.pch;
 				INFOPLIST_FILE = "ScanTest-Info.plist";
@@ -317,7 +318,7 @@
 				HEADER_SEARCH_PATHS = "../ZXingWidget/Classes/**";
 				OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
 				PREBINDING = NO;
-				SDKROOT = iphonesimulator3.1.3;
+				SDKROOT = iphoneos3.1.3;
 			};
 			name = Release;
 		};
diff --git a/iphone/ZXingWidget/Classes/Decoder.mm b/iphone/ZXingWidget/Classes/Decoder.mm
index edc6336..cc2c7d6 100644
--- a/iphone/ZXingWidget/Classes/Decoder.mm
+++ b/iphone/ZXingWidget/Classes/Decoder.mm
@@ -155,10 +155,8 @@ using namespace zxing;
 }  
 
 - (void)decode:(id)arg {
-  
   NSAutoreleasePool* mainpool = [[NSAutoreleasePool alloc] init];
   { 
-
     NSSet *formatReaders = [FormatReader formatReaders];
     
     Ref<LuminanceSource> source (new GrayBytesMonochromeBitmapSource(subsetData, subsetWidth, subsetHeight, subsetBytesPerRow));
@@ -252,25 +250,27 @@ using namespace zxing;
   [self decodeImage:i cropRect:CGRectMake(0.0f, 0.0f, i.size.width, i.size.height)];
 }
 
-- (void) decodeImage:(UIImage *)i cropRect:(CGRect)cr {
-  self.image = i;
-  self.cropRect = cr;
-  
+
+- (void) asyncDecodeImage {
   [self prepareSubset];
   [self willDecodeImage];
+  [self performSelectorOnMainThread:@selector(willDecodeImage) 
+                         withObject:nil 
+                      waitUntilDone:NO];
   [self performSelectorOnMainThread:@selector(progressDecodingImage:)
-               withObject:NSLocalizedString(@"Decoder MessageWhileDecoding", @"Decoding ...")
-            waitUntilDone:NO];
-  NSInvocationOperation *op = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(decode:) object:nil];
+                         withObject:NSLocalizedString(@"Decoder MessageWhileDecoding", @"Decoding ...")
+                      waitUntilDone:NO];
+/*  NSInvocationOperation *op = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(decode:) object:nil];
+  [operationQueue addOperation:op];
+  [op release];*/
+  [self decode:nil];
+}
+- (void) decodeImage:(UIImage *)i cropRect:(CGRect)cr {
+  self.image = i;
+  self.cropRect = cr;
+  NSInvocationOperation *op = [[NSInvocationOperation  alloc] initWithTarget:self selector:@selector(asyncDecodeImage) object:nil];
   [operationQueue addOperation:op];
   [op release];
-  //[self performSelectorInBackground:@selector(decode:) withObject:nil];
-
- 
-  //[self performSelector:@selector(decode:) onThread:decodingThread withObject:nil waitUntilDone:NO];
-  /*[NSThread detachNewThreadSelector:@selector(decode:) 
-               toTarget:self 
-               withObject:nil];*/
 }
 
 - (void) dealloc {
diff --git a/iphone/ZXingWidget/Classes/ZXingWidgetController.h b/iphone/ZXingWidget/Classes/ZXingWidgetController.h
index daf29b9..252d4aa 100755
--- a/iphone/ZXingWidget/Classes/ZXingWidgetController.h
+++ b/iphone/ZXingWidget/Classes/ZXingWidgetController.h
@@ -35,13 +35,13 @@
 }
 
 @property (nonatomic, assign) id<ZXingDelegate> delegate;
- at property (nonatomic, assign) BOOL showCancel;
 @property (nonatomic, assign) NSURL *soundToPlay;
- at property (nonatomic, assign) BOOL oneDMode;
 @property (nonatomic, retain) ParsedResult *result;
 @property (nonatomic, retain) NSArray *actions;
+ at property (nonatomic, retain) OverlayView *overlayView;
+
+- (id)initWithDelegate:(id<ZXingDelegate>)delegate showCancel:(BOOL)shouldShowCancel OneDMode:(BOOL)shouldUseoOneDMode;
 
-- (id)initWithDelegate:(id<ZXingDelegate>)delegate;
 - (BOOL)fixedFocus;
 @end
 
diff --git a/iphone/ZXingWidget/Classes/ZXingWidgetController.m b/iphone/ZXingWidget/Classes/ZXingWidgetController.m
index 173af15..672d376 100755
--- a/iphone/ZXingWidget/Classes/ZXingWidgetController.m
+++ b/iphone/ZXingWidget/Classes/ZXingWidgetController.m
@@ -27,14 +27,29 @@
 #define FIRST_TAKE_DELAY 1.0
 #define ONE_D_BAND_HEIGHT 10.0
 
-CGImageRef UIGetScreenImage();
+CGImageRef UIGetScreenImage(void);
+
+ at interface ZXingWidgetController ()
+
+ at property BOOL showCancel;
+ at property BOOL oneDMode;
+
+ at end
+
+
+
+
 
 @implementation ZXingWidgetController
- at synthesize result, actions, showCancel, delegate, soundToPlay, oneDMode;
+ at synthesize result, actions, delegate, soundToPlay;
+ at synthesize overlayView;
+ at synthesize oneDMode, showCancel;
 
-- (id)initWithDelegate:(id<ZXingDelegate>)scanDelegate {
+- (id)initWithDelegate:(id<ZXingDelegate>)scanDelegate showCancel:(BOOL)shouldShowCancel OneDMode:(BOOL)shouldUseoOneDMode {
   if (self = [super init]) {
     [self setDelegate:scanDelegate];
+    self.oneDMode = shouldUseoOneDMode;
+    self.showCancel = shouldShowCancel;
     beepSound = -1;
     self.wantsFullScreenLayout = YES;
     if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
@@ -65,7 +80,8 @@ CGImageRef UIGetScreenImage();
   if (beepSound != -1) {
     AudioServicesDisposeSystemSoundID(beepSound);
   }
-  [overlayView dealloc];
+  self.cameraOverlayView = nil;
+  [overlayView release];
   [super dealloc];
 }
 
diff --git a/iphone/ZXingWidget/ZXingWidget.xcodeproj/project.pbxproj b/iphone/ZXingWidget/ZXingWidget.xcodeproj/project.pbxproj
index 86cc47f..3fea652 100644
--- a/iphone/ZXingWidget/ZXingWidget.xcodeproj/project.pbxproj
+++ b/iphone/ZXingWidget/ZXingWidget.xcodeproj/project.pbxproj
@@ -1130,6 +1130,7 @@
 				HEADER_SEARCH_PATHS = ../../cpp/core/src;
 				INSTALL_PATH = /usr/local/lib;
 				PRODUCT_NAME = ZXingWidget;
+				SDKROOT = iphoneos3.1.3;
 			};
 			name = Release;
 		};
@@ -1144,7 +1145,7 @@
 				IPHONEOS_DEPLOYMENT_TARGET = 3.1.3;
 				OTHER_LDFLAGS = "-ObjC";
 				PREBINDING = NO;
-				SDKROOT = iphoneos4.0;
+				SDKROOT = iphoneos3.1.3;
 			};
 			name = Debug;
 		};
@@ -1158,7 +1159,7 @@
 				IPHONEOS_DEPLOYMENT_TARGET = 3.1.3;
 				OTHER_LDFLAGS = "-ObjC";
 				PREBINDING = NO;
-				SDKROOT = iphoneos4.0;
+				SDKROOT = iphoneos3.1.3;
 			};
 			name = Release;
 		};

-- 
Multi-format 1D/2D barcode image processing library



More information about the Pkg-google-commits mailing list