summaryrefslogtreecommitdiffstats
path: root/patches/source/qt/qt.fix.broken.gif.crash.diff
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/qt/qt.fix.broken.gif.crash.diff')
-rw-r--r--patches/source/qt/qt.fix.broken.gif.crash.diff16
1 files changed, 16 insertions, 0 deletions
diff --git a/patches/source/qt/qt.fix.broken.gif.crash.diff b/patches/source/qt/qt.fix.broken.gif.crash.diff
new file mode 100644
index 00000000..7f74d71f
--- /dev/null
+++ b/patches/source/qt/qt.fix.broken.gif.crash.diff
@@ -0,0 +1,16 @@
+--- ./src/gui/image/qgifhandler.cpp.orig 2014-04-10 13:37:12.000000000 -0500
++++ ./src/gui/image/qgifhandler.cpp 2014-04-25 13:42:48.468692269 -0500
+@@ -358,6 +358,13 @@
+ bits = image->bits();
+ memset(bits, 0, image->byteCount());
+ }
++
++ // Check if the previous attempt to create the image failed. If it
++ // did then the image is broken and we should give up.
++ if (image->isNull()) {
++ state = Error;
++ return -1;
++ }
+
+ disposePrevious(image);
+ disposed = false;