summaryrefslogtreecommitdiffstats
path: root/src/gui/image
Commit message (Collapse)AuthorAgeFilesLines
* Don't crash when BMP color table is brokenHarald Fernengel2011-02-041-0/+2
| | | | | | | | | | If the BMP's number of color table entries is out of bounds, we would resize our color table vector to a silly value, leading to crashes later on. If the number of color table entries is larger than 256, just stop processing the BMP since it's most probably corrupt. Task-number: QT-4534 Reviewed-by: Robert Griebl
* Fix loop count in animanted gifs sometimes being incorrectSimon Hausmann2011-01-241-2/+8
| | | | | | | | Applied patch supplied in QT-4426, which also completes https://bugs.webkit.org/show_bug.cgi?id=36818 Task-number: QT-4426 Reviewed-by: Kim Motoyoshi Kalland <kim.kalland@nokia.com>
* Update copyright year to 2011.Jason McDonald2011-01-1075-75/+75
| | | | Reviewed-by: Trust Me
* Made documentation of QPixmap::createMaskFromColor match behaviour.Samuel Rødal2010-12-221-2/+2
| | | | | Task-number: QTBUG-16223 Reviewed-by: Gunnar Sletta
* Prevent always deep-copying in QPixmap::toImage() for raster pixmaps.Samuel Rødal2010-12-071-5/+8
| | | | | | | | | Calling paintEngine() can cause a deep copy since it will indirectly call the bits() function. Since we don't want to create a paint engine if it doesn't exist we should access the QImageData paintEngine variable directly instead. Reviewed-by: Olivier Goffart
* Make sure to do a deep copy of a QImage when it's being painted on.Samuel Rødal2010-12-062-8/+25
| | | | | | | Not doing so can produce some hard-to-track-down bugs in the app. Task-number: QTBUG-15749 Reviewed-by: Gunnar Sletta
* Improvement of de30288: handle PNGs having 1 to 4 bytes truncated.aavit2010-12-011-1/+2
| | | | | Task-number: QT-4103 Reviewed-by: trustme
* Workaround for certain malformed PNGs that lack the final crc bytesaavit2010-12-011-34/+46
| | | | | Task-number: QT-4103 Reviewed-by: gunnar
* Doc: Fixing typoSergio Ahumada2010-11-092-2/+2
|
* Fixed tst_qwidget::testContentsPropagation auto-test failure.Samuel Rødal2010-11-091-3/+5
| | | | | | | | | | | Some auto-tests render into a QPixmap and check the result against QPixmap::grabWidget(). Change acc1a2bd5520369c made grabWidget() render into a QImage to be able to preserve background transparency. Instead, to avoid breaking various auto-tests, we can use a QPixmap and fill it with transparent if the widget's isOpaque flag is not set. Task-number: QTBUG-14945 Reviewed-by: Kim
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-11-051-2/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: More fix for QTBUG-14640:oci performance problem with qlonglong Doc: Fixing typo Fixed grabWidget sometimes returning uninitialized memory. Fix Malayalam Rendering - 'Ra' is PreBase Update .def files for QtGui and QtOpenVG Use 32bit textures for alpha textures after all. One more fix for dithering. Doc: Fixing typo Fix QTBUG-14640:oci performance problem with qlonglong 32bit => 16bit conversion has 4byte-aligned output. Fix gcc bug in qReallocAligned Prevented threading related crash in OpenGL module. Fix possible crash in QStaticText and QDeclarativeTextLayout Fix QTBUG-14132 oracle (xe) stored procedures with bind variables get errors
| * Fixed grabWidget sometimes returning uninitialized memory.Samuel Rødal2010-11-031-2/+3
| | | | | | | | | | | | | | | | | | Use a QImage initialized with transparent to prevent any translucent parts of the widget to end up as garbage, and to ensure that the resulting QPixmap ends up with an alpha format only when needed. Task-number: QTBUG-14945 Reviewed-by: Kim
* | Prevent excessive seeks in xbm detectionHarald Fernengel2010-11-041-8/+17
|/ | | | | | | | | When auto-detecting an image type, the xbm handler would read the entire file just to figure out that it's not an xbm. This patch limits the read to maximum 4k and also breaks if line length >= 299. Task-number: QT-4021 Reviewed-by: Robert Griebl
* Major refactoring: creating a new QPixmapData subclass for live textures.Michael Dominic K2010-10-211-1/+1
| | | | | | | Moving code from qmeegopixmapdata there. Merge-request: 2494 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-10-121-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (49 commits) Assistant: Insert all keywords with empty ids, as ids are not mendatory. qmake: delete .pdb file when making 'distclean' instead of 'clean' qmake: pass include directories to MS resource compiler use specified pkg-config qmake/symbian: Add icons with backslashes in pkg files Make qtconfig help messages translatable remove exec bits again ... Add TIFFClose to QTIffHandler::option() to avoid memory leak [QCocoaView scrollWheel:] can end up recursing infinitely when a scrollWheel event is sent to two stacked MDI windows Added missing QtWebKit example files and some whitespace fixes. Added missing native separator transforms. Doc: tuning search reasult box qdoc: Don't generate html output for png files. Doc: Correcting Windows CE 6.0 to Windows Embedded CE 6.0 Doc: correcting bug - lenght() pointed to setLength() in "See also" section. Correct link is resize() Doc: correct spelling Doc: correcting spelling - qdbusxml2dcpp to qdbusxml2cpp Doc: correcting grammar on the installation pages Doc: correcting broken link to labs Doc: adding note to function QWSKeyboardHandler::processKeycode - that it was added in Qt 4.6 ...
| * Add TIFFClose to QTIffHandler::option() to avoid memory leakTopi Reiniö2010-10-111-0/+1
| | | | | | | | | | Task-number: QTBUG-14261 Reviewed-by: aavit
* | Fix for CFbsBitmap to QPixmap conversion.Jani Hautakangas2010-10-121-1/+2
|/ | | | | | | | | | Symbian bitmap formats may have different scanline length when compared to QImage formats. We need to define scanline length for intermediate QImage when converting from CFbsBitmap to QPixmap. Task-number: QTBUG-14218 Reviewed-by: Jason Barron
* Avoid in-place convertion of images with multiple referencesBenjamin Poulain2010-10-081-0/+4
| | | | | | | | | | | | | | | | The decoding from image reader was assuming the image reader do not keep the image internally. This is not true for the GIF plugins because the previous image can be used to compose the current image. This was causing crash on ARM because the 16 bits color depth causes the image memory to be reduce by half. When the plugin was accessing the memory, it assumes the images has not changed and is on 32 bits. This patch disable the in-place conversion if a detach is required. Regular conversion is the correct solution in this case, and it can also be made faster by converting while copying. Reviewed-by: Andreas Kling
* Live texture updates to meegographicssystem plugin.Michael Dominic K2010-10-071-0/+1
| | | | | Merge-request: 848 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fixed potential crash when loading corrupt GIFs.Kim Motoyoshi Kalland2010-09-281-2/+11
| | | | | Task-number: QTBUG-13774 Reviewed-by: aavit
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7aavit2010-09-272-14/+32
|\
| * Compile on Symbian - rework the X11 mask patch a bit.Trond Kjernåsen2010-09-235-20/+17
| | | | | | | | | | | | | | | | Avoid adding a virtual QPixmapData::hasMask() function, we can do without it. Made QPixmap::hasAlpha() fast, so we can use that instead. Reviewed-by: Samuel
| * Fixed QPixmap::resize() for X11 pixmap with masks.Trond Kjernåsen2010-09-231-9/+14
| | | | | | | | | | | | | | Regression from 4.6. Made the tst_QPixmap::resizePreserveMask() test fail. Reviewed-by: Samuel
| * Fixed drawing of QPixmaps with masks in the GL 2 and X11 engines.Trond Kjernåsen2010-09-224-1/+17
| | | | | | | | | | | | | | | | | | | | | | A regression from 4.6.x. This is an X11-only problem caused by the separate masks that an X11 QPixmap can contain. These masks we're not taken into account when a number optimizations were done for 4.7. Introduction of the texture-from-pixmap extension in 4.6 also broke masked pixmaps under X11. Task-number: QTBUG-13814 Reviewed-by: Samuel
* | Avoid creating copy of an image in memory when storing as pngaavit2010-09-271-47/+45
| | | | | | | | | | Task-number: QT-3871 Reviewed-by: Kim
* | Optimization of pixel conversion when storing jpegaavit2010-09-241-13/+19
|/ | | | Reviewed-by: Kim
* Avoid creating copy of an image in memory when storing as jpegaavit2010-09-211-28/+13
| | | | | Task-number: QT-3871 Reviewed-by: Kim
* Fixed infinite loop when loading jpeg without EOI from memory.Kim Motoyoshi Kalland2010-09-201-11/+8
| | | | | Task-number: QTBUG-13653 Reviewed-by: aavit
* Give a warning in QPixmap::handle() if pixmap is not X11 class.Samuel Rødal2010-09-201-2/+6
| | | | Reviewed-by: Markus Goetz
* Fixed memory corruption issue in qt_blurImage for Indexed8 images.Samuel Rødal2010-09-171-4/+11
| | | | | | | If transposed was set to 0 we did not check the color depth of the image and ended up with a buffer overflow. Reviewed-by: Jens Bache-Wiig
* Merge branch '4.7-upstream' into 4.7-docA-Team2010-09-161-1/+1
|\
| * Fixed regression in QPixmap::size() for null pixmaps.Samuel Rødal2010-09-161-1/+1
| | | | | | | | | | | | | | | | | | After change 79eef278228aac21fbf QPixmap::size() started returning QSize(-1, -1) for null pixmaps. This restores the old behavior of returning QSize(0, 0), and is symmetric with QImage::size(). Task-number: QT-3934 Reviewed-by: Trond
* | Merge branch '4.7-upstream' into 4.7-docA-Team2010-09-091-5/+0
|\ \ | |/
| * Remove unnecessary function declarations from qpixmap_s60_p.hJani Hautakangas2010-09-071-5/+0
| | | | | | | | Reviewed-by: TRUSTME
* | Merge branch '4.7-oslo1' into 4.7-docA-Team2010-09-072-8/+10
|\ \ | |/
| * Remove unused variableThomas Zander2010-09-071-1/+0
| | | | | | | | Reviewed-by: axis
| * Make compile on gcceThomas Zander2010-09-072-7/+10
| | | | | | | | | | | | | | instead of friend use static to avoid gcce saying a formerly extern declaration turned into a static declaration. Reviewed-by: axis
* | Merge branch '4.7-oslo1' into 4.7-docA-Team2010-09-072-2/+53
|\ \ | |/
| * QPixmaps try to access FBS connection after the connection has been closed.Jani Hautakangas2010-09-062-2/+53
| | | | | | | | | | | | | | | | This patch fixed the issue by tracking pixmaps and destroying native bitmaps before FBS connection is closed. Task-number: QTBUG-9112 Reviewed-by: Jason Barron
* | Fixed spelling, broken links, and missing default values.Jerome Pasion2010-08-301-2/+2
|/ | | | | Tasks: QTBUG-13271, QTBUG-13212, QTBUG-12321 Reviewer: David Boddie
* Revised fix for pixmap loadingJens Bache-Wiig2010-08-201-0/+5
| | | | | | | | | | | | Change 2c8f9dee611 had an unwelcome side-effect and was reverted. Since we do have the undocumented behavior that we scan for all possible extensions when QPixmap is provided with a filename without extensions we could not simply exit if the file did not exist. We now check if there are extensions before doing so. Reviewed-by: gabi Task-number: QTBUG-11137
* Fixes a regression preventing loading images without extensionsThierry Bastian2010-08-191-3/+0
| | | | | Task-number: QTBUG-12560 Reviewed-by: gabi
* Use the fast Neon conversion for converting colors of jpeg images.Benjamin Poulain2010-08-061-2/+9
| | | | Reviewed-by: Andreas Kling
* Do the conversion from RGB888 to RGB32 using NeonBenjamin Poulain2010-08-063-0/+123
| | | | | | | | Doing the conversion with Neon is 700% faster. Help by Thiago Macieira on vacation. Reviewed-by: Thiago Macieira
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-08-042-8/+26
|\ | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Add the qt_ prefix to convert_rgb888_to_rgb32_ssse3 Update changes-4.7.0 Use the fast conversion from RGB888 to RGB32 for Jpeg images Move the SIMD defines to the common declaration of Qt symbols Fixed: QT_DEPRECATED_WARNINGS defines QT3_SUPPORT
| * Add the qt_ prefix to convert_rgb888_to_rgb32_ssse3Benjamin Poulain2010-08-032-4/+4
| | | | | | | | | | | | | | Exported function needs to have the qt_ prefix. Beviewed-by: Olivier Goffart Reviewed-by: Andreas Kling
| * Use the fast conversion from RGB888 to RGB32 for Jpeg imagesBenjamin Poulain2010-08-032-7/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | The commit 90642dd2b6b14c39cc6178f1161331895809b342 introduce a fast way to convert from RGB888 to RGB32 with SSSE3. This patch uses that function to do the color conversion when decoding jpeg images. The #defines for the SIMD extension have been moved to the common code in order to be able to compile the jpeg handler directly in QtGui or as a plugin. Reviewed-by: Andreas Kling
* | Unbreak QImage::rgbSwapped() for many image formats.Andreas Kling2010-08-031-41/+35
|/ | | | | | | These formats had broken rgbSwapped() implementations: argb8565, argb6666, rgb555, argb8555, rgb444, argb4444 Reviewed-by: Benjamin Poulain
* Fix compilation with QT_NO_TEXTCODECTasuku Suzuki2010-07-291-1/+1
| | | | | Merge-request: 755 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Use SSSE3 to convert from RGB888 to RGB32Benjamin Poulain2010-07-263-1/+160
| | | | | | | | | | | | | | | Converting from RGB encoded on 24bits to RGB encoded on 32 bits is quite inefficient. This type of conversion is common for some image format. The patch implement the conversion with SSSE3. This reduce by 3 the number of instructions, pushing the bottleneck to memory bandwidth. On Atom N450, the new benchmark is 40% faster for scanlines of 2000 pixels, 30% faster for scanlines of 32 pixels, and 15% slower for small images (3 and 8px). Reviewed-by: Olivier Goffart