summaryrefslogtreecommitdiffstats
path: root/src/3rdparty
Commit message (Collapse)AuthorAgeFilesLines
* Accessibility Linux: Do not depend on external libatspi2Frederik Gladhorn2012-11-082-0/+1245
| | | | | | | | | | | This has (and still does) caused lots of grief since it means accessibility was often unintendedly not built. Instead copy the lib-at-spi-2 header file needed for the type enum and build it by default again. Change-Id: I1ba26f20edff1aeb444c96a37928f36230ac7576 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Add configure option to minimize xcb runtime dependenciesKai Koehne2012-11-0734-0/+37063
| | | | | | | | | | | | | | | | | | | | | | | Some of the xcb- libraries we depend upon are not (yet) common across distributions. This is problematic for binaries that should be working on different distributions. The patch mitigates this by: Adding the files from libxcb-proto (version 0.1.6), compiled with libxcb-1.5 xcb-util (version 0.3.9) xcb-util-image (version 0.3.9) xcb-util-keysyms (version 0.3.9) xcb-util-renderutil (version 0.3.8) xcb-util-wm (version 0.3.9) from xcb.freedesktop.org/dist to src/3rdparty/xcb. Adding a configure option '-qt-xcb' to use the sources instead of linking to the respective runtime libraries. Task-number: QTBUG-27803 Change-Id: I6ea87daa382871b2b9072a601511523fa0b9f44b Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Dynamically resolve functions of dwmapi.dll.Friedemann Kleint2012-11-061-11/+28
| | | | | | | | | | The library is not present on Windows XP, for which /DELAYLOAD is used in ANGLE. However, as this causes problems with MinGW, use dynamic resolution. Task-number: QTBUG-27741 Change-Id: Ie4a2706d57b751fbb6fc6f3e76ef2e8ddac3b892 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Add ANGLE as a 3rdparty library to Qt.Jason Barron2012-10-24223-0/+66542
| | | | | | | | | | | | | | | | | | | | | | | ANGLE is a component that implements the OpenGL ES 2.0 API on top of DirectX 9. See the following for more info: http://code.google.com/p/angleproject/ ANGLE is now the default configuration on Windows. If you want to use desktop OpenGL, you should build Qt with the following configure options: -opengl desktop To configure Qt to use another OpenGL ES 2 implementation, you should use: -opengl es2 -no-angle Task-number: QTBUG-24207 Change-Id: Iefcbeaa37ed920f431729749ab8333b248fe5134 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QTextBoundaryFinder: Introduce BoundaryReason::MandatoryBreak flagKonstantin Ritt2012-10-101-1/+1
| | | | | | | | | | that will be returned by boundaryReasons() when the boundary finder is at the line end position (CR, LF, NewLine Function, End of Text, etc.). The MandatoryBreak flag, if set, means the text should be wrapped at a given position. Change-Id: I32d4f570935d2e015bfc5f18915396a15f009fde Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Remove Windows CE time conversion compatibility functionsSimon Hausmann2012-09-262-702/+0
| | | | | | | | | | These files were used by WebKit for Windows CE, but they are not needed anymore since https://bugs.webkit.org/show_bug.cgi?id=93446 Change-Id: Ic6808bf177ff18c668a5a281687a5b7842786ef0 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Kevin Funk <kevin.funk@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* QCharAttributes: add wordStart/wordEnd flagsKonstantin Ritt2012-09-262-2/+12
| | | | | | | | | | | | | | | A simple heuristic is used to detect the word beginning and ending by looking at the word break property value of surrounding characters. This behaves better than the white-spaces based implementation used before and makes it possible to tailor the default algorithm for complex scripts. BIG FAT WARNING: The QCharAttributes buffer now has to have a length of string length + 1 for the flags at end of text. Task-Id: QTBUG-6498 Change-Id: I5589b191ffde6a50d2af0c14a00430d3852c67b4 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-222-47/+47
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* A step out from Harfbuzz (reduce dependency)Konstantin Ritt2012-09-226-32/+25
| | | | | | | | | | | | | | | | | Introduce QCharAttributes and use it instead of HB_CharAttributes everywhere in Qt (in Harfbuzz, the HB_CharAttributes is only used in the text segmentation algorithm which has been moved from HB to Qt (well, most of it)). Rename some members to better reflect their meaning, remember to keep HB_CharAttributes in sync with QCharAttributes. Also replace HB_ScriptItem with a (temporary) QUnicodeTools::ScriptItem struct that will be replaced with a more efficient/friendly solution a bit later. The soft hyphen and the mandatory break detection has been factored out of the default text breaking algorithm to a higher level in order to refactor the QCharAttributes bitfields and to optimize the implementation for the common case. Change-Id: Ieb365623ae954430f1c8b2dfcd65c82973143eec Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* remove usage of QT_MAKEDLL in favor of the new QT_STATIC macroJoerg Bornemann2012-09-141-3/+3
| | | | | | Change-Id: I411cab0d92a8cad6b4f3676afe5cee050c4b789b Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Harfbuzz: fix build with NO_OPENTYPE macro definedKonstantin Ritt2012-08-293-1/+7
| | | | | | | | Remove `DEFINES += QT_NO_OPENTYPE` since there are no QT_NO_OPENTYPE guards and I'm not sure defining NO_OPENTYPE won't break some things. Change-Id: I7b36d3f200408aee99db73c56baa9b4a21cb54f9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* HarfBuzz: fix unused parameter / variable warningsMarc Mutz2012-08-251-2/+5
| | | | | | Change-Id: I362c80081ac4e4d0b9126385bab5a77826810926 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix performence problem while shaping a lines with many scriptsOlivier Goffart2012-08-231-1/+1
| | | | | | | | | Fix quadradic behaviour regression introduced in commit 2e6b8b4734710377e25c199e3ff7865628e7d723 Task-number: QTBUG-22275 Change-Id: I343452c6b1cd0e571770e5dadd3cd6fd3167c96d Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* make it possible to pass configure zlib lib nameAndreas Holzammer2012-08-211-1/+4
| | | | | Change-Id: I82fde11436261dab51393b35dfbf2a753df58ec9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Fix freetype font rendering for Windows CEAndreas Holzammer2012-08-201-1/+1
| | | | | | | | | | Windows CE does not have support for GetGlyphOutline. So addGlyphToPath will not work. QML uses it for their distance field rendering. One option to bypass this issue is to use freetype as rendering backend. Change-Id: I965254344945cbdad771a5d505fb61c1cc2087df Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove trailing comma in enumThiago Macieira2012-08-151-1/+1
| | | | | | | | | | | Spotted by ICC: qfreelist_p.h(127): warning #271: trailing comma is nonstandard BlockCount = 4, ^ Change-Id: Ib64d1d19ca0514e7582a295da48cbf6705aa8c44 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Silence a false-positive warning about uninitialised variable with ICCThiago Macieira2012-08-153-3/+3
| | | | | | | | | | | | | | | | ICC complains like so: harfbuzz-gpos.c(95): warning #592: variable "error" is used before its value is set return error; ^ However, line 95 is never executed because the condition on line 94 is always false. That's why it's a false positive. The same construct happens in the other two places. Still, silence the warning. Change-Id: I168d916d6837d4ac346facfd22b3e5b4e22ef7f0 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Add Linux Accessibility BridgeFrederik Gladhorn2012-08-144-0/+116
| | | | | | | | This is a plugin that bridges the QAccessible world to AT-SPI 2 on Linux. Change-Id: I7af22621ee6a3cefc723b137b7f227a611cf6641 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Fix PCRE build under non-__GNUC__ compilersGiuseppe D'Angelo2012-06-261-4/+6
| | | | | | | | | | | | | | | | | | | | PCRE's JIT has several paths that end in a #error under compilers that don't #define __GNUC__. This is because either - those platforms were unavailable to PCRE devs so they were not tested; - the #ifdef guards inline assembly fragments in GCC (AT&T) syntax; - the #ifdef guards functions present f.i. in ARM's EABI and unavailable f.i. under WinCE. This commit disables PCRE's JIT under ARM and MIPS unless __GCC__ is defined. The MIPS #define from MSVC (_M_MRX000) is also dropped. Change-Id: I59f959c321413845ffbdf1ac32740b400422e0ee Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
* We shouldn't have a Makefile here.Lars Knoll2012-06-251-9/+0
| | | | | Change-Id: If55952b4aa9b95ff9311c1b7338b77af62a5c503 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Namespace the bundled zlib symbols, to avoid clash with user zlibaavit2012-06-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | When Qt is being compiled and is using the bundled zlib, QtCore needs to export the zlib symbols, since zlib is needed in other Qt libraries as well. That gives a danger of a potentially disastrous symbol clash if the user later on links with both Qt and an external zlib (ref. e.g. QTBUG-15071). This commit enables a zlib compilation flag that causes all zlib symbols to be redefined with a prefix. Hence, they will not clash with a standard zlib. A minor drawback is that zlib.h will now have #defines for a few semi-normal identifiers. Hence, a couple of more changes are done: In the private qzip code, the identifer crc32 had to be renamed. QHttpNetworkReplyPrivate needed no change, but as a defensive measure the #include <zlib.h> is moved from the _p.h file to the .cpp file, to avoid surprising compilation errors later in code that include that header. This commit does not in itself solve the issue of how to let Qt libraries outside of qtbase use the same bundled zlib, but it is a prerequisite for that. Change-Id: If84105901a8c90d35009faffe660c85a6bd2fee5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Shift positions for lineBreakTypeKonstantin Ritt2012-06-072-4/+2
| | | | | | | | | | | | | | | | | | | to keep them consistent with positions for all other flags. This changes the internal behavior so that attributes[0].lineBreakType now means "break opportunity at start of the text (before the first character in the string)" and is always assigned with HB_NoBreak to conform rule LB2 (see http://www.unicode.org/reports/tr14/#LB2). The current implementation is based on the sample implementation from tr14 that aimed to be as simple as possible rather than to be optimal. From now, we can use pieces of the attributes array "as is" without having to adjust some positions. Or we can analize some long text by chunks (e.g. paragraph by paragraph) and consume less memory. This introduces a minor overhead that will be eliminated shortly. Change-Id: Ic873a05a9d5203b1c3d5aff2e4445a3f034c4bd2 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Re-generate the Arabic joining tables from UCD 6.1.0Konstantin Ritt2012-05-301-33/+36
| | | | | | | | | | Some names were fixed to meet their values in the Unicode data files (e.g. Zain -> Zhain); Some other names were added as a value alias (Nya -> Noon) or deprecated but retained as a value alias for BC (HamzaOnHehGoal -> TehMarbutaGoal); Newly assigned Arabic characters were mapped into respective joining types and classes) Change-Id: Ic4b4a6baf70f51fb5936f74fe9a173b8790dda11 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Disable GSUB feature when text contains surrogatesEskil Abrahamsen Blomfeldt2012-05-291-1/+12
| | | | | | | | | | | | | | | This is a work-around for a feature missing in Harfbuzz that can make a text run that contains a surrogate and a ligature crash. This will potentially cause the ligatures to break up if you combine them with a surrogate, causing visual changes to the text, but the scripts that require GSUB should not be affected by this, since they will not use surrogates. Still, it's not a permanent fix, but will serve as a bandaid for the crash until the underlying problem has been fixed. Task-number: QTBUG-22275 Change-Id: I90c37fba76bc7d1f369f3afddd1bd0dc306f5750 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Remove capitalization when specifying include-libraries.kb2012-05-141-1/+1
| | | | | | | | | | | | | MinGW installations on case-sensitive filesystems expect lowercase names of include-libraries and (usually) include files. When crosscompiling on Debian 6 (targeting MS Windows) linking fails because mingw is looking for non-existent include-libraries. Using lowercase names solves this. Change-Id: Id3454f4ed8ba42b6ea93d65d9c0ce567db6712df Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Avoid trying to load libthai again and again if it's not presentSimon Hausmann2012-05-101-1/+3
| | | | | Change-Id: I3bcbde7bbb307fb27c36709c33c8ff5cd09ab7f8 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* move the default text breaking algorithm impl from HarfBuzz to QtKonstantin Ritt2012-05-109-693/+12
| | | | | | | | | | | there are several reasons to do this: * text breaking is not a shaper's job; * since the text breaking rules are bound to a specific Unicode version, updating Qt's internal unicode data would require updating the data in HB as well; * makes porting to HurfBuzz-NG some easier Change-Id: I0bbf8e8a343bc074696f4ddf2ae4e7fa32a61629 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Avoid assert in QTextLayout for certain stringsEskil Abrahamsen Blomfeldt2012-05-091-0/+4
| | | | | | | | | | | | | | | | | | | As in other shapers, we need to make sure that the default attributes of the first character is set before doing the greek-specific composition (which will set the attributes for characters > 0). The effect of this would be that the clusterStart did not default to true in the start of the string, and we would get an unexpected situation in addNextCluster() in QTextLayout which would cause an assert. The example in the task, which combines a greek polytonic (dasia-oxia: u1FDE) with a regular combining diacritic (asterisk under: u0359), is not a correct string, but should not cause an assert. Task-number: QTBUG-22864 Change-Id: Ieaff3cccbd10abc634e95e9a79dcde4c48504a3c Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Enable some SQLITE extensions by defaultRafael Roquetto2012-05-041-1/+1
| | | | | | | | | | Enable SQLITE_ENABLE_FTS3 SQLITE_ENABLE_FTS3_PARENTHESIS SQLITE_ENABLE_RTREE by default on all platforms. These options were previously enabled in Ubuntu, Nokia N9 and in some mobile devices. Change-Id: I5b3d2d9a683916216058ca94ec82957bd8cacdb0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
* Remove Linux check for fdatasync().Robin Burchell2012-05-031-1/+1
| | | | | | | | | Android lacks an fdatasync() implementation. Upstream sqlite has also removed this part of the ifdef. Change-Id: I656f1b67e8e8880308372a90b100fe9b23f96455 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Revert "Harfbuzz-shaper - fix incorrect logClusters being set in ↵Eskil Abrahamsen Blomfeldt2012-04-261-35/+13
| | | | | | | | | | | | | | HB_OpenTypePosition" This reverts commit add629d4f16a536fc56d55727195e3247b621a54. The commit caused crashes when laying out some text (e.g. ordinary Arabic text) with certain fonts (it triggered the assert in QTextLayout::addNextCluster()). The regressions will have to be weeded out before the fix can be recommitted. Change-Id: Iee457f138367d4cf8fcbd2e518271d8eaa95a62c Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Fixed libjpeg compiler warning about macro redefinition.Janne Anttila2012-04-181-1/+1
| | | | | | | | | | | When compiling Qt for Windows CE the MSVC reported the followin warning: warning C4005: '_CRT_SECURE_NO_DEPRECATE' : macro redefinition Fixed by adding ifdef quard for duplicate _CRT_SECURE_NO_DEPRECATE. Task-number: QTBUG-22512 Change-Id: I8c37ffe6ca275c80a7b7e6b23f39f3ab06b332f1 Reviewed-by: aavit <qt_aavit@ovi.com> (cherry picked from commit 1a1a8f004824b981865c6239747ff05d8e6f812a)
* Fixed MSVC compiler warning for zlib when compiling on WEC7.Janne Anttila2012-04-171-2/+6
| | | | | | | | | | | WEC7 mkspecs define _CRT_SECURE_NO_DEPRECATE globally. zlib redefined the same macro without checking if it is already defined. Added #ifdef guard to zlib when defining _CRT_SECURE_NO_DEPRECATE. Task-number: QTBUG-22512 Change-Id: I477b24b7bc0ebb4cd8a619b11668eceb0f5064d4 Reviewed-by: aavit <qt_aavit@ovi.com> (cherry picked from commit a0a970447d63e5c9afdb55d179d671d9c24e9061)
* Upgrading libpng: Patches to libpng 1.5.10 for Qt usageaavit2012-04-174-5/+19
| | | | | | | | | This is the collection of those earlier patches to libpng in Qt that are still relevant, updated as required. For details, refer to the git history of the src/3rdparty/libpng directory of Qt 4 and Qt 5/qtbase. Change-Id: Ia922441024536eec9b8ced8c3c5e4dc941ae152f Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
* Upgrading libpng: Adding clean copy of libpng 1.5.10aavit2012-04-1738-22763/+7982
| | | | | | | | | | | | | This commit removes the previous version of the bundled libpng (1.5.4), as well as all local modifications to it. It adds an unmodified copy of the official libpng source distribution, except that various extraneous files have been removed, as usual. The patches required to build it in Qt will follow in separate commit(s). Change-Id: I90149f87fc889c44a3b60b21cdf755020f3a8e39 Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
* Apply Qt config option "-no-largefile" to SQLite make processSergey Gusarov2012-04-121-0/+1
| | | | | | | | | This patch fixes compilation error if there is no 64 bit support in compiler. Task-number: QTBUG-15395 Change-Id: Ife4afb05491d36af93bf4ad3ba8fa227710655f0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Remove QWS era pvr headersDonald Carr2012-04-103-748/+0
| | | | | | | | | The QWS powervr plugin ceased to exist with the move to QPA; these headers are therefore entirely redundant Change-Id: I28c7baae15df5bb9d7ea3763e3a018e9e1ae1fc6 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Harfbuzz-thai - fix buffer overflow when setting item attributesJohn Tapsell2012-04-021-2/+7
| | | | | | | Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> Change-Id: I92de853b57e2e06211193a2b30ac7c308374c961 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Remove legacy font cache from 3rdpartyDonald Carr2012-03-2239-986075/+0
| | | | | Change-Id: I5a02251565c0c72e8762c0b41cdf5802c7df1938 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix GPOS positioning for some fontsEskil Abrahamsen Blomfeldt2012-03-201-4/+5
| | | | | | | | | | | | We need to do ACCESS_Frame for each 2 byte frame, otherwise the position of the cursor in the input stream will not be updated by enough, and we will read twice as many pairsets. Depending on the value read for the SecondGlyph in the broken pairsets, we might get strange kerning results. Change-Id: I7fb5a850afe0364b3dd50869d5f36fd14d2f4eaf Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com> Reviewed-by: Adrian Yanes <ext-adrian.yanes@nokia.com>
* Harfbuzz-shaper - fix incorrect logClusters being set in HB_OpenTypePositionJohn Tapsell2012-03-201-13/+35
| | | | | | | | | | | | | | After shaping in HB_OpenTypePosition, when we come to calculate the new logClusters array we have to take into account that the glyphs passed in are not a 1 to 1 correspondance with the original string, because some shaping might have already been done. So we must use the old logClusters values (stored in tmpLogClusters) to map from the glyphs passed in back to the original string. This fixes visual word wrapping problems in thai Change-Id: I384dfa98f0946e9e074728f89542acb2b6b6bc27 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Compile in the LSB envHarald Fernengel2012-03-151-1/+1
| | | | | | | | madvise is not part of the LSB, use posix_madvise instead Change-Id: I661e8c5aece5a764a2a9032fcfab49241ab96dd8 Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add support for IAccessible2 on WindowsJan-Arve Saether2012-03-13122-0/+39404
| | | | | Change-Id: Ia955ab46dc5037ed1c74e0acc525e98b02552c97 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Optimize HB memory consumption of PairPos1 in GPOS tablesEskil Abrahamsen Blomfeldt2012-03-132-28/+101
| | | | | | | | | | | | | This is pretty much the same fix as in be0dfa34737a014e7ad060a90c4c24be9998fe13 but for PairPos format 1 instead of 2. With very simple GPOS tables we would waste a lot of memory on caching an uncompressed table, so we now compress it in memory as well. Change-Id: I601331b4b83f636dab9e1ac403b343558c15b0de Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Harfbuzz GPOS hinting- do not consider a subtable to be invalid if it is ↵John Tapsell2012-03-121-0/+3
| | | | | | | | | | | | just empty Considering a subtable to be invalid when it was empty meant that it returned an error causing all further hinting to be aborted. This means that we get no hinting in certain cases with certain fonts. Change-Id: I840c016dc85935b4f2c4373c66a79b4bd8b3a30d Reviewed-by: Adrian Yanes <ext-adrian.yanes@nokia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Allow compilation of 3rdparty/pcre on QNXSean Harmer2012-03-081-0/+4
| | | | | | Change-Id: If9a56d5e042c8da9626feab377388e9bfc22b129 Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make cache of opentype tables in Harfbuzz face lazyEskil Abrahamsen Blomfeldt2012-03-062-2/+32
| | | | | | | | | | | | | | | | | | | | The mechanism in fontconfig which determines if a certain character is available (FcCharSetHasChar()) may give false positives, in which case we would load and unload those fonts per every char for which FC gave us a false positive. This was a major performance regression. Specifically the false positives happened when looking at e.g. italic variants of certain multilingual fonts, since we only check the charset of the font family as a whole and not of the specific variant, which may only support a subset of the chars. To optimize this, we remove the deletion of the font engines after loading them, but also wait with loading the opentype tables until they are actually needed. This means that for the false positives, we will load the font, but the cached data for each unused font will be much smaller. Change-Id: Idfc794401a2080da5946bf65204eb947aeb635ed Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* QRegularExpression: import PCRE under 3rdparty/Giuseppe D'Angelo2012-03-0365-0/+54615
| | | | | | | | | | Imported only the minimum subset of PCRE version 8.30, without documentation, tests, examples, etc. by using the import_from_pcre_tarball.sh script. Change-Id: Ib1112a6179789814cc3c90cbde59408d2ccd0f57 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Compile SHA-2 code on systems without stdint.hBradley T. Hughes2012-02-281-1/+2
| | | | | | | | | | stdint.h is a C99-ism, which isn't available everywhere. The sha.h header tells us we need 4 typedefs. Add these to qcryptographichash.cpp before including sha.h and comment out the stdint.h include in sha.h. Change-Id: I1ede9569fa7eaa84de3befeb3c58cc6a05aa522c Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Add SHA-224, SHA-256, SHA-384, and SHA-512 support to QCryptographicHashBradley T. Hughes2012-02-274-0/+2001
| | | | | | | | | | | This adds Sha224, Sha256, Sha384, and Sha512 enum values to QCryptographicHash::Algorithm. The implementation comes from RFC 6234, http://tools.ietf.org/html/rfc6234, which is added to src/3rdparty/rfc6234. Only the headers and SHA-2 code is included in src/3rdparty/rfc6234 (the SHA1, HMAC, and HKDF code is not included). Change-Id: I85139fd118291f15efc22899a5ddd1cc83810cfb Reviewed-by: Lars Knoll <lars.knoll@nokia.com>