From 0b7bface5b3f629e65d24846d0d0e754f7f288d7 Mon Sep 17 00:00:00 2001 From: dswitkin Date: Thu, 10 Apr 2008 20:57:37 +0000 Subject: [PATCH] Made sure the BitmapSource subclasses do not reuse a BitArray which is too small. git-svn-id: https://zxing.googlecode.com/svn/trunk@355 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- .../google/zxing/client/android/RGBMonochromeBitmapSource.java | 2 +- .../google/zxing/client/android/RGBMonochromeBitmapSource.java | 2 +- .../zxing/client/j2me/LCDUIImageMonochromeBitmapSource.java | 2 +- .../zxing/client/j2se/BufferedImageMonochromeBitmapSource.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/android-m3/src/com/google/zxing/client/android/RGBMonochromeBitmapSource.java b/android-m3/src/com/google/zxing/client/android/RGBMonochromeBitmapSource.java index 5e6faa057..2fe42c5ab 100755 --- a/android-m3/src/com/google/zxing/client/android/RGBMonochromeBitmapSource.java +++ b/android-m3/src/com/google/zxing/client/android/RGBMonochromeBitmapSource.java @@ -52,7 +52,7 @@ final class RGBMonochromeBitmapSource implements MonochromeBitmapSource { } public BitArray getBlackRow(int y, BitArray row, int startX, int getWidth) { - if (row == null) { + if (row == null || row.getSize() < getWidth) { row = new BitArray(getWidth); } else { row.clear(); diff --git a/android/src/com/google/zxing/client/android/RGBMonochromeBitmapSource.java b/android/src/com/google/zxing/client/android/RGBMonochromeBitmapSource.java index 100a9d466..7461d0a68 100755 --- a/android/src/com/google/zxing/client/android/RGBMonochromeBitmapSource.java +++ b/android/src/com/google/zxing/client/android/RGBMonochromeBitmapSource.java @@ -55,7 +55,7 @@ final class RGBMonochromeBitmapSource implements MonochromeBitmapSource { } public BitArray getBlackRow(int y, BitArray row, int startX, int getWidth) { - if (row == null) { + if (row == null || row.getSize() < getWidth) { row = new BitArray(getWidth); } else { row.clear(); diff --git a/javame/src/com/google/zxing/client/j2me/LCDUIImageMonochromeBitmapSource.java b/javame/src/com/google/zxing/client/j2me/LCDUIImageMonochromeBitmapSource.java index cadb81532..266cebf1c 100644 --- a/javame/src/com/google/zxing/client/j2me/LCDUIImageMonochromeBitmapSource.java +++ b/javame/src/com/google/zxing/client/j2me/LCDUIImageMonochromeBitmapSource.java @@ -57,7 +57,7 @@ public final class LCDUIImageMonochromeBitmapSource implements MonochromeBitmapS } public BitArray getBlackRow(int y, BitArray row, int startX, int getWidth) { - if (row == null) { + if (row == null || row.getSize() < getWidth) { row = new BitArray(getWidth); } else { row.clear(); diff --git a/javase/src/com/google/zxing/client/j2se/BufferedImageMonochromeBitmapSource.java b/javase/src/com/google/zxing/client/j2se/BufferedImageMonochromeBitmapSource.java index dd7c584d0..0ec70814f 100644 --- a/javase/src/com/google/zxing/client/j2se/BufferedImageMonochromeBitmapSource.java +++ b/javase/src/com/google/zxing/client/j2se/BufferedImageMonochromeBitmapSource.java @@ -109,7 +109,7 @@ public final class BufferedImageMonochromeBitmapSource implements MonochromeBitm } public BitArray getBlackRow(int y, BitArray row, int startX, int getWidth) { - if (row == null) { + if (row == null || row.getSize() < getWidth) { row = new BitArray(getWidth); } else { row.clear();