summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add libproxy backend for QNetworkProxyFactoryDaniel Molkentin2015-02-056-3/+283
| | | | | | | | | | | | | | | | | | | | | | | | | | | It will be used on Unix systems if the required dev package is present. (Detected by a configure compile test.) You can configure with -no-libproxy to avoid the dependency. It will not be used on OS X or Windows, as we already implement the native API for getting proxies there. Currently we use whatever PAC runner is provided by the distro for running PAC scripts - if we want to run PAC scripts using Qt, then we would have to implement a pacrunner plugin to libproxy. Note that their webkit pacrunner is using javascriptcore already. Tested using the libproxy 0.4.7 that is included in Ubuntu 12.04. Re-tested using Ubuntu 14.04 which ships libproxy 0.4.11. It works except when both socks and http proxies are configured in the manual settings - in that case libproxy returns only the socks proxy. This seems to be covered by libproxy issue 119. [ChangeLog][QtNetwork] Introduce libproxy backend for Unix platforms, enabled automatically if the required dev package is present Task-number: QTBUG-26295 Change-Id: I521c0a198fcf482386ea8a189114a0077778265c Reviewed-by: Richard J. Moore <rich@kde.org>
* Add a qDebug operator overload to handle registered enumOlivier Goffart2015-02-053-1/+32
| | | | | | | | | So if you stream enum type into qDebug, it will show the name of the enum value instead of the int Change-Id: Iec5e826623353560319890d3e7c4ab97d0645f4a Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Introduces QMetaEnum::fromTypeOlivier Goffart2015-02-055-0/+92
| | | | | | Change-Id: I1976c1844e52ef8d70a1bbe9945f3299428dbf87 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* QMetatype: Register the QMetaObject of a Q_ENUM or Q_FLAGOlivier Goffart2015-02-053-3/+32
| | | | | Change-Id: Id1343c3fb51d88a43d4d97e8859dbe2b0cfbea34 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* improve support for cross-compilation to not directly supported platformsJochen Seemann2015-02-051-1/+9
| | | | | | | | | | | This adds a fallback platform OTHER to the platform-enum, which applies when -xplatform is set to an unsupported target, e.g. Linux. Without it, it would fall back to WINDOWS, with the consequence that logic like platform() != WINDOWS would break a proper configuration of Qt. Change-Id: Ie34522e23e375da6c24f66b3410638f85724a0f9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Fix regression from Qt4 with layout directionJan Arve Saether2015-02-052-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt4, if the result of the translation QApplication::translate("QT_LAYOUT_DIRECTION") returned "RTL", Qt usually called QApplication::setLayoutDirection(Qt::RightToLeft) in order for a translation file to specify if the UI should be left-to-right or right-to-left. However, due to modularization, we could no longer call QApplication::translate(), so the code was wrongly changed to call QCoreApplication::translate(....) instead. This was wrong, and in addition the translation files was never updated with the new context. This patch fixes it to only translate it with the QGuiApplication context. This is the only sensible context, since QApplication would lack QtQuick support, and QCoreApplication would not know how to change layout direction. [ChangeLog][QtGui][i18n] Fixed bug where layout direction did not switch according to the instruction in the translation file. Task-number: QTBUG-43447 Change-Id: Id0409a42d41b3b9ff1cd53d090c4d9c9802f5659 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* introduce /dev variants of qmake propertiesOswald Buddenhagen2015-02-056-13/+32
| | | | | | | | | these reflect the on-target paths (unlike /raw, which are host paths, just without the -sysroot). this is necessary for anything deployment-related, starting with RPATH. Change-Id: I13d598995d0e4d6cb0dc1fc7938b8631cf3e3a95 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* write relative paths to qconfig.cpp as far as possibleOswald Buddenhagen2015-02-055-311/+404
| | | | | | | | | | | | | | | this cuts down the bloat in the binaries and the binary patching requirements in the installer. as a side effect, the sysroot and makespecs are not binary patchable any more as well, which is ok, as the installer does not do it anyway. we now also warn if -[host]<foo>dir is not a subdir of -[host]prefix, as putting things outside the prefix is anti-thetical (the obvious exception being the (unix-only) -sysconfdir). Change-Id: I878f0e71a4dfcfd55b2f8b1cf3045b98b502569b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove trailing semicolons from #definesOswald Buddenhagen2015-02-052-6/+6
| | | | | Change-Id: I522a7e838ab0e5bbe5b22296ab74912ea79468f0 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* don't overquote paths in qconfig.cppOswald Buddenhagen2015-02-051-34/+34
| | | | | | | | the function for emitting paths to .pri files is obviously not suited for C++ code. Change-Id: I96386d61334d06997475f044dbeab22a55749cef Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make quoting in the prl writer more robustOswald Buddenhagen2015-02-053-12/+29
| | | | | Change-Id: Idd9f64ac608b7e4ed840d5d9925bf741e03d78ab Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* fix conditional nesting botch-up in RES_FILE constructionOswald Buddenhagen2015-02-051-6/+6
| | | | | | | | it makes no sense to test for OBJECTS_DIR emptiness when we are going to use DESTDIR instead. Change-Id: I0f7115fc8a9fe2a996417d5f50bd0165773129fa Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* don't resolve DESTDIR against source dir in RES_FILE constructionOswald Buddenhagen2015-02-051-1/+1
| | | | | | | that makes no sense at all. and OBJECTS_DIR is not resolved, either. Change-Id: Ie76b9de6bb11ae42945255f2e168943066d2f60d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* don't fail to normalize RES_FILE for no apparent reasonOswald Buddenhagen2015-02-051-1/+1
| | | | | Change-Id: I43d2e45a2743cd8d78229b5ae2bd5f63d92d74f8 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make the installed meta files play nicely with sysrootsOswald Buddenhagen2015-02-053-9/+26
| | | | | | | | | | | | | | | pkg-config .pc files use the raw target paths (and pkg-config patches up -I and -L flags on the fly), so these files were actually already fine. libtool .la files use the magic prefix = to denote the sysroot. this works only with libtool 2.4+ (sept 2010). qmake .prl files have no built-in sysrootification magic, but as they are read by qmake, it's possible to put property references into them. this makes them relocatable, both inside and outside sysroots. Change-Id: I97236ac81e7aba4e4771d14a44cbf59144cc2d3e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* base the libexec fallback logic on the makespecOswald Buddenhagen2015-02-051-1/+1
| | | | | | | this is consistent with the unix version. Change-Id: I84e15dd590b4ed9702f8a9dc0e8b655c930588d5 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* simplify mkspec determination when writing qconfig.cppOswald Buddenhagen2015-02-051-9/+3
| | | | | | | | we don't actually support qualified specs anyway - all tests assume that they can use startsWith() on the spec name. Change-Id: I9dc8688858d4798c3a18c34757318dcd7fd47c57 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make makeabs a functionOswald Buddenhagen2015-02-052-41/+41
| | | | | | | there is no reason at all for it to be an external script. Change-Id: I836f38dd06f61350dd9f83015857abb07981c62d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* simplify absolute unix path detectionOswald Buddenhagen2015-02-051-8/+1
| | | | | | | | use the posix builtin that is used two lines down as well instead of sed with platform-specific options. Change-Id: I439f79554d883564150004c1f7b6d8655a0ef192 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* configure --help clarifications relating to -*prefixOswald Buddenhagen2015-02-052-11/+13
| | | | | Change-Id: I71c78b7c91c9fedb7d55731b3f61d46ea75c9b8d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix xcb's dbus dependencyLaszlo Agocs2015-02-051-2/+2
| | | | | | | | | Getting a build error on Raspbian due to the lack of libdbus-1. Configure chooses dbus-1 at runtime so there should be no reason to force -ldbus-1 in xcb. Change-Id: I3f35e0069b3abae59d575c5e3d8f4f24f7d935d2 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* xcb: do not leak window system integrationLaszlo Agocs2015-02-052-1/+4
| | | | | | | | | | | | Destroy the GLX or EGL backend. This also requires fixing an uninitalized member in the native interfaace handler. Besides fixing the leak this will also do eglTerminate on exit, which is very beneficial for proper resource cleanup and avoids "Display is destroyed with resources" warnings on Mesa with debugging enabled. Change-Id: Ibd62d6964e86ac1319abed1f06b478327c348a0e Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Diaglib: Fix compilation with MSVC 2010 / SDK 7.X.Friedemann Kleint2015-02-051-0/+4
| | | | | Change-Id: Idf6adc6d3788c3ac6fda770c4cf42bceb530cd48 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Windows: Allow for passing a modified argv to QCoreApplication.Friedemann Kleint2015-02-054-33/+53
| | | | | | | | | | | | | | | | | Check by comparing __argc/__argv whether a modified argv was passed to QCoreApplication. If that is the case, build QCoreApplication::arguments() from that argv instead of using the command line. [ChangeLog][Important Behavior Changes][QCoreApplication] On Windows, QCoreApplication::arguments() now returns a list built from argv on Windows as well if a modified argv was passed to the class' constructor. Task-number: QTBUG-30330 Task-number: QTSOLBUG-184 Change-Id: I2498bb554130e7bfaeada3aebe786dfdd0eb534d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Avoid creating a QPixmap on QBrush comparisonsAllan Sandfeld Jensen2015-02-043-4/+49
| | | | | | | | | | | | | | | We shouldn't create QPixmaps when comparing QBrushes that do not contain a QPixmap. This patch extends the comparison logic to comparing QImage cachekeys if the brushes are QImage based. Note the comparison still produces false negatives on equal content on different pixmaps and images, but this is preserving existing behavior. Task-number: QTBUG-43766 Change-Id: I001b4032172c1e568aad311f7df2eaae6aee8dc6 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* QComboBox: use QModelIndex::sibling() instead of index()+parent()Marc Mutz2015-02-041-3/+1
| | | | | | | | | QAIM::sibling() may be more efficient, esp. in cases where only the column number needs to be adjusted. It is a no-op if the column number is already correct. Change-Id: Iabb8d5ef58d083da971a9d2f3702908257e5cc0a Reviewed-by: David Faure <david.faure@kdab.com>
* Correct QPainter's is_brush_transparentAllan Sandfeld Jensen2015-02-041-5/+8
| | | | | | | | | | | 1-bit QImage's should not be considered transparent unless they have use transparent colors in the color table or have no color table. By using hasAlphaChannel we also catch other transparent brush textures. The method is only used in determining emulation specifiers. Change-Id: I120ee1de4dc2df666c3e2acb1e40b53a8de40754 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Generate SSE4.1 versions of premultiplying methods where convenientAllan Sandfeld Jensen2015-02-043-7/+62
| | | | | | | | | | The autovectorized versions of premultiplying conversions are almost twice as fast with SSE4.1 as with SSE2. Therefore this patch lets compilers that can make those versions convenient without duplicating code do that and lets us use them when available. Change-Id: I699035963abe55a38b9ef8ba7b4a8c961c8dfcdd Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Remove traces of the Maemo platformTor Arne Vestbø2015-02-0412-741/+4
| | | | | | | Change-Id: I6b551de331aa0386ea53d8e96f50b669777d2d69 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* a11y: Fix warning about instance method '-invalidate' not foundTor Arne Vestbø2015-02-041-0/+5
| | | | | | | | | | The interface declaration of QMacAccessibilityElement lives in the Cocoa platform plugin. We replicate the needed parts in QtGui to silence the compiler. Change-Id: I2d1984c988777d3c7af82df90390624c93fd85b5 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* make shellQuoteWin() be more sparing with circumflexesOswald Buddenhagen2015-02-042-16/+38
| | | | | | | | | | | | ... as newer versions of nmake (and jom, for compatibility) have botched circumflex processing (they simply don't do it when shortcutting the shell evaluation). as a side effect, the output is also more readable if the string contains quotes. Change-Id: I0506b59ceecb70da258c482f9973156b2803066d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* always use single quotes in shellQuoteUnix()Oswald Buddenhagen2015-02-041-1/+1
| | | | | | | | double quotes cause mingw32-make to switch from direct execution to going through the shell, so avoid them. Change-Id: I05b71a050e425a1b327f747fab01755ff528ba0b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* add value quoting to qtAddToolEnv()Oswald Buddenhagen2015-02-041-1/+2
| | | | | | | | | for sh, this is usual quoting. for cmd, this means escaping closing parens - everything else is permitted anyway. Change-Id: I1179849d95f1f1f9e4b0d62ecd88917a1327f60f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* nuke pointless QT_BUILD_TREE assignmentsOswald Buddenhagen2015-02-044-4/+4
| | | | | | | this variable has been dead for the most part for some years. Change-Id: I834e23c5db4585cacfa7fa556509dabc030e5c37 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* de-noise testOswald Buddenhagen2015-02-042-0/+4
| | | | | | | | don't complain about various missing things resulting from replacing default_pre.prf and having a private .qmake.cache. Change-Id: Ie3471b514ebb1a80b72a480144551b56b5c7a254 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make configure -redo and config.status able to handle spaces in argumentsOswald Buddenhagen2015-02-042-9/+11
| | | | | Change-Id: If6ffe381b03595885570ae431a9937c6fdce164b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove support for ancient /bin/sh which mishandle empty "$@"Oswald Buddenhagen2015-02-041-5/+1
| | | | | Change-Id: Id936a48e8b9a5b8e15512481e464a0e9366b9152 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove some redundant backslashesOswald Buddenhagen2015-02-041-3/+3
| | | | | | | %QTSRC% always contains a trailing backslash. Change-Id: I96772c18f45655f8dbe386f9351d0823fa70f1d0 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove redundant CXX definitionOswald Buddenhagen2015-02-041-1/+0
| | | | | | | configure.bat adds it anyway. Change-Id: Ica0d49c08f3d0ddbc51c211d61da1150444c6782 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make test support qmake path with spacesOswald Buddenhagen2015-02-043-19/+30
| | | | | Change-Id: I66d8b3cc742c44d02c224bbfc4086500af0d5f4a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* prune pointless INCLUDEPATH fixingOswald Buddenhagen2015-02-041-5/+0
| | | | | | | | MakefileGenerator::init() fixifies the variable, so there is no point in the windows generator adjusting path separators as well. Change-Id: I9331631125ee16ce4d64e38153f3c67f2f78b16b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* fix versioned lib lookup with normalized full pathsOswald Buddenhagen2015-02-041-1/+1
| | | | | | | | this is admittedly a rather improbable use case, so unlikely to have any real world effect. Change-Id: If98f0de90043525f0555f8ddf98f8b4352e5a0a7 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove pointless return value from QMakeParser::read()Oswald Buddenhagen2015-02-045-40/+31
| | | | | | | | | | it always returned true nowadays. an obvious followup effect is that the return value of parsedProBlock() doesn't need to be null-checked any more as well. Change-Id: I782785cab9b721a78a342a010921a73e642ebe7f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* don't re-implement QDir::mkpath()Oswald Buddenhagen2015-02-041-35/+1
| | | | | Change-Id: Ic5cd5d3048c19047f22641698acbf678301d366e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* rename fileVarGlue() => fixFileVarGlue()Oswald Buddenhagen2015-02-042-4/+4
| | | | | | | ... because it also fixes the path, and we'll need the "plain" name later. Change-Id: I86da8f53e44a68005c413c4b78b1b1682746e22e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* xcode: remove special treatment of YACCSOURCES and LEXSOURCESOswald Buddenhagen2015-02-041-23/+2
| | | | | | | | | | we (supposedly) fully support QMAKE_EXTRA_COMPILERS, so there is no need for any special casing here. Change-Id: I4e9d389320a3e5ad0acbf73823ff1e6f7b9c370f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* don't rely on the right moc being in PATHOswald Buddenhagen2015-02-041-16/+21
| | | | | Change-Id: Ibe89f9d3090398e0c5fc63d32dec18934bf89ac4 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* don't rely on the right qdbuscpp2xml/qdbusxml2cpp being in PATHOswald Buddenhagen2015-02-042-2/+5
| | | | | Change-Id: I50f639632dcb37c9752b41241a21c9fcd9dde0dd Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Move Rfc822NameType, DnsNameType and UniformResourceIdentifierType.Richard J. Moore2015-02-044-16/+34
| | | | | | | | | Move these types to QAsn1Element so that they can use the toString() method which guards against malicious ASN.1. Change-Id: I7d6155147a6fc2d41da6f3ae87551b6cb75aa9ce Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Daniel Molkentin <daniel@molkentin.de>
* Harden QAsn1Element against malicious ASN.1 strings.Richard J. Moore2015-02-042-0/+42
| | | | | | | | | | | | We don't currently use this class for critical things like hostname verification however we still want to ensure that it is not possible to trick it using ASN.1 strings with embedded NUL characters. This will avoid problems in the future. Change-Id: Ibf3bc142a94fc9cad5f06db50f375399a087f9dc Reviewed-by: Jeremy Lainé <jeremy.laine@m4x.org> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Daniel Molkentin <daniel@molkentin.de>