summaryrefslogtreecommitdiff
path: root/indra/llimage/llpngwrapper.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2024-04-12 02:03:49 +0300
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2024-04-12 16:03:07 +0300
commitf5a7fba76a24a96f906abcbd928f37e4eabfa76c (patch)
tree351bcb646148529e988b021c2533ab78a82d4ea0 /indra/llimage/llpngwrapper.cpp
parent00e09ddcad8ec2c33ecbcdd0da09bd7819bc3509 (diff)
viewer-private#226 Unhandled PngError throws application into a loop
png_read_info triggered a PngError, LLAppViewer::frame() handled it instead of LLPngWrapper::readPng, and since status didn't change viewer tried to decode image again and again and again.
Diffstat (limited to 'indra/llimage/llpngwrapper.cpp')
-rw-r--r--indra/llimage/llpngwrapper.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/indra/llimage/llpngwrapper.cpp b/indra/llimage/llpngwrapper.cpp
index cad7c00042..55d867728f 100644
--- a/indra/llimage/llpngwrapper.cpp
+++ b/indra/llimage/llpngwrapper.cpp
@@ -216,6 +216,13 @@ BOOL LLPngWrapper::readPng(U8* src, S32 dataSize, LLImageRaw* rawImage, ImageInf
releaseResources();
return (FALSE);
}
+ catch (...)
+ {
+ mErrorMessage = "LLPngWrapper";
+ releaseResources();
+ LOG_UNHANDLED_EXCEPTION("");
+ return (FALSE);
+ }
// Clean up and return
releaseResources();