summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRuben Brunk <rubenbrunk@google.com>2013-03-27 11:19:23 -0700
committerRuben Brunk <rubenbrunk@google.com>2013-03-27 11:32:17 -0700
commit2f7cb89c74f7d0c01d847bdfe7fbd8c31c2d0fb5 (patch)
treec4dcc003391a426849ce7bf3b3627f9c5fa448f4 /src
parenta148e5b2139e6dad6c77f79e3440abb671db70b2 (diff)
downloadandroid_packages_apps_Snap-2f7cb89c74f7d0c01d847bdfe7fbd8c31c2d0fb5.tar.gz
android_packages_apps_Snap-2f7cb89c74f7d0c01d847bdfe7fbd8c31c2d0fb5.tar.bz2
android_packages_apps_Snap-2f7cb89c74f7d0c01d847bdfe7fbd8c31c2d0fb5.zip
Fixed renderscript crashes.
Bug: 8478659 Bug: 8459181 Bug: 8450339 Bug: 8457323 createFilter() initializes a ton of parameters in the RenderScript filters. Using stale parameters from a previous call to createFilter() causes segfaults. Change-Id: Id54b956b7fe83be5089b1d47c3bedcca66237ddf
Diffstat (limited to 'src')
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterRS.java11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterRS.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterRS.java
index 56e848aa7..cff071142 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterRS.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterRS.java
@@ -70,15 +70,12 @@ public abstract class ImageFilterRS extends ImageFilter {
if (DEBUG) {
Log.v(LOGTAG, "apply filter " + getName() + " in pipeline " + pipeline.getName());
}
- boolean needsUpdate = pipeline.prepareRenderscriptAllocations(bitmap);
- if (needsUpdate || !isResourcesLoaded()) {
- // the allocations changed size
- freeResources();
- createFilter(sResources, scaleFactor, quality);
- setResourcesLoaded(true);
- }
+ pipeline.prepareRenderscriptAllocations(bitmap);
+ createFilter(sResources, scaleFactor, quality);
+ setResourcesLoaded(true);
runFilter();
update(bitmap);
+ freeResources();
if (DEBUG) {
Log.v(LOGTAG, "DONE apply filter " + getName() + " in pipeline " + pipeline.getName());
}