diff options
author | Ruben Brunk <rubenbrunk@google.com> | 2013-03-27 11:19:23 -0700 |
---|---|---|
committer | Ruben Brunk <rubenbrunk@google.com> | 2013-03-27 11:32:17 -0700 |
commit | 2f7cb89c74f7d0c01d847bdfe7fbd8c31c2d0fb5 (patch) | |
tree | c4dcc003391a426849ce7bf3b3627f9c5fa448f4 /src | |
parent | a148e5b2139e6dad6c77f79e3440abb671db70b2 (diff) | |
download | android_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.java | 11 |
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()); } |