summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add QPlatformSurface::screen() constJesus Fernandez2017-09-048-18/+29
| | | | | | | | | | | | | | Classes inheriting QPlatformSurface need to return the QPlatformScreen to allow the platform integration plugin to know information about the used screen by the surface. QPlatformSurface and QPlatformWindow had the same function defined, but it was not possible to call it without casting the QPlatformSurface pointer. Change-Id: I1f93fe7c13ebbc51769677038edeca4de5db0024 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* moc: Use 'using' instead of 'typedef' in generated codeAlexander Volkov2017-09-041-1/+1
| | | | | | | | | | | | 'using' is recommended by C++ Core Guidelines for improving readability: https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rt-using In the case of generated code it can be useful to leave moc files unchanged when modernizing code with clang-tidy's 'modernize-use-using'. Change-Id: Iabb4de2aa8d2f9396d8c8d4ee21f80fffff1dadc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Introduce Http2DirectAttributeTimur Pocheptsov2017-09-049-9/+72
| | | | | | | | | | | | | | | | | Now that we have a proper ALPN/NPN + Protocol Upgrade, we can also add H2Direct - this can be useful for our users that have to work with either Secure Transport or a TLS implementation not supporting ALPN/NPN and with 'h2direct' servers in case they have prior knowledge of HTTP/2 support. The difference with RFC 7540 is the fact we also allow this 'direct' in case of 'https' scheme (it appears existing HTTP/2 server implementations support such mode too). [ChangeLog][QtNetwork] Add Http2DirectAttribute to enable 'direct' HTTP/2 protocol without ALPN/NPN and without protocol upgrade negotiations. Task-number: QTBUG-61397 Change-Id: I0499d33ec45dede765890059fd9542dab236bd5d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Item widgets: make indexFromItem const-correctGiuseppe D'Angelo2017-09-027-6/+45
| | | | | | | | | The item is not supposed to be modified, so it should be passed as pointer-to-const. A similar change was already done for QTreeWidget in b2aeeaf628839d0fc0149db94e0a02c369ad16bc. Change-Id: I75d597867771f414821693a50f97c94b05a4ccb2 Reviewed-by: David Faure <david.faure@kdab.com>
* Merge "Merge remote-tracking branch 'origin/5.9' into dev" into refs/staging/devLiang Qi2017-08-31150-939/+2300
|\
| * Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-08-31150-939/+2300
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/examples.pro qmake/library/qmakebuiltins.cpp src/corelib/global/qglobal.cpp Re-apply b525ec2 to qrandom.cpp(code movement in 030782e) src/corelib/global/qnamespace.qdoc src/corelib/global/qrandom.cpp src/gui/kernel/qwindow.cpp Re-apply a3d59c7 to QWindowPrivate::setVisible() (code movement in d7a9e08) src/network/ssl/qsslkey_openssl.cpp src/plugins/platforms/android/androidjniinput.cpp src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/widgets/widgets/qmenu.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp Change-Id: If7ab427804408877a93cbe02079fca58e568bfd3
| | * Revert "tst_qwidget::activation expect fail on Win 10"Joni Jäntti2017-08-301-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 85612817685f8b64307276a2ce9ef79d9e048be4. This change needs to be reverted because Windows 10 Creator's Update doesn't fail on this test anymore during CI runs. Reason for this is unknown. Change-Id: Ice250ecedb14ac96fb3693b2d9884ef452a91cc2 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
| | * Fix error attribute(target("+crc")) is unknownPeter Seiderer2017-08-292-0/+5
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-61975 Change-Id: I0b1b55c0737dad485b5ace8e6eb7cb842589453d Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | * examples: fix compile without opengl supportPeter Seiderer2017-08-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Compile examples/opengl only in case opengl support is available. Task-number: QTBUG-62372 Change-Id: I742a1eb7b7639a5a722c4d5e9b4ee070b629b02e Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * Avoid assert on large clips in qt_alphamapblit_genericAllan Sandfeld Jensen2017-08-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | It is (end - start) that represent the number of pixels being worked on and needs to be smaller than the buffer size. Change-Id: I75a22bc2656ac1c7d231278c3a1931758090f8ce Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | * QFbVtHandler: Remove unused sys/signalfd.h includeDongmei Wang2017-08-291-1/+0
| | | | | | | | | | | | | | | | | | Change-Id: Ia9fa3c4de0a1dbdd1b36730c82f5180c2128cbcf Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | * Cocoa integration: do not use released sessionTimur Pocheptsov2017-08-291-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTBUG_10735_crashWithDialog started to show flakyness recently - it crashes, but not every time (which fits the definition of UB perfectly). While the test itself is doing weird things and puts our event dispatcher into a weird state, our API allows to: 1. Using QDialog to enter event loop (with runModalSession under the hood), then ... 2. to call from a slot (e.g. timer-attached) QApplication::closeAllWindows() while ... 3. we are still inside that special loop and using the 'session' object, thus ... 4. on the next iteration with [NSApp runModalSession:session] we'll re-use already released session (released by endModalSession which in turn was called indirectly by closeAllWindows). And Cocoa gives us a warning/hint: "Use of freed session detected. Do not call runModalSession: after calling endModalSesion:." Task-number: QTBUG-62589 Change-Id: Ie651cee1fba43cfd2b0fc44af5eddc5fd52e2907 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
| | * Revert "tst_qgraphicswidget expect fail on Win 10"Joni Jäntti2017-08-291-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3d5bf00f18b5b9d1f5de4ff610ad15d5d0ed8c3d. This change needs to be reverted because Windows 10 Creator's Update doesn't fail on this test anymore during CI runs. Reason for this is unknown. Change-Id: I9f1c88606c97afc5952af34e04310612b783a9c2 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
| | * QWidgets/CommonStyle: Fix tooltip drawing under HighDPIAlessandro Portale2017-08-291-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delegating the border painting to qDrawPlainRect ensures that there are no off-by-one pixel issues. Task-number: QTBUG-61849 Change-Id: I56dc849da80fad00d02a0f9c60dbb621e6de7c48 Reviewed-by: Michael Winkelmann <michael.winkelmann@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
| | * Fix: WebP missing from QMovie::supportedFormats()Eirik Aavitsland2017-08-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use QImageReader::supportsOption() instead of ::supportsAnimation(), since the former checks what the handler supports in general, not just the particular device. Task-number: QTBUG-61642 Change-Id: I57db24425b4fd8821446659936e6a8ca55008921 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| | * Fix jumping to anchors with offline styleEike Ziller2017-08-291-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the style changes after the browser already jumped to an anchor, the resulting browser position will be messed up. So, after we changed the style we need to make sure that we jump to the anchor again. Since browsers do not jump to anchors that they already jumped to, that means first jumping to the top, then to the actual anchor. Task-number: QTCREATORBUG-18448 Change-Id: I86c736adab6940903276f8a896b4054ddae11ebe Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| | * QFileInfo: Clarify documentation on symlinksFriedemann Kleint2017-08-291-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | Explain symbolic links vs shortcuts. Change-Id: I12176616be72c97607ee1f441d1ea05af5e9e549 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * Doc: Fix exampleRobert Loehning2017-08-281-2/+2
| | | | | | | | | | | | | | | Change-Id: Ic678b69c6c9820701c4cc10c7797f599e5d71b7a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| | * QCocoaMenu: Stop update timerGabriel de Dietrich2017-08-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This amends patch f27d1ccbb24ec2fd4098f2976503478831006cc8. Change-Id: I4c7a390a5f2cdd3307007c7b6708692c36f861b4 Task-number: QTBUG-62396 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Remove unused mkspecs variable QMAKE_LIBS_NISJoerg Bornemann2017-08-2810-10/+0
| | | | | | | | | | | | | | | Change-Id: I09a161fe4706c19eba4ff54cdb03a10edc34871a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * Remove QMAKE_LIBS_CORE variableJoerg Bornemann2017-08-288-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | Define the lib dependencies for corelib in corelib.pro, where they belong. Change-Id: I973d3b0c571782d869b27dea243e899db4dddc43 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * Remove QMAKE_LIBS_NETWORK from QSqlQuery benchmarkJoerg Bornemann2017-08-281-1/+0
| | | | | | | | | | | | | | | | | | | | | This was added in c6612de3 for WEC7 which we do not support anymore. Change-Id: I329374bb8375d629a6f7619236371c0fc953792d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * Make it possible to override QT_LOGGING_TO_CONSOLE in test casesJoerg Bornemann2017-08-281-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is currently impossible to get output from autotests in Visual Studio or Qt Creator when running under the debugger. Qt Creator's cdb integration cannot distinguish between the inferior's console output and cdb's console output. If the inferior's output came from OutputDebugString we'd be able to catch and display it. Pave a way to force QTestLib's logging facility use OutputDebugString. Task-number: QTCREATORBUG-16161 Change-Id: Iccd69c283626266ee4384a6163a8b72bb0e7df27 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * QCompleter: Add check before setting the widgetGabriel de Dietrich2017-08-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This prevents unnecessarily removing and reinstalling the completer as event filter on the same widget. This does not prevent what's going on in QComboBox::focusInEvent(), where we'd set the line edit as widget just to immediately override it with combo box itself. Change-Id: I70c081a920f4daf4d7560e5cd7158e4070042d42 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Fix crashes with libproxy+webkitgtk: it's not threadsafeThiago Macieira2017-08-272-25/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm getting crashes in Akonadi processes due to libproxy. I don't have direct evidence that this was caused by a threading condition, but it's clear from the source code of libproxy that the plugins it runs for expanding PAC scripts are not thread-safe. To overcome this problem, we only run libproxy functions in one thread only. #0 0x00007f745f0ac1d8 in JSC::HeapTimer::timerDidFire() () at /usr/lib64/libjavascriptcoregtk-4.0.so.18 #1 0x00007f745f0ac287 in () at /usr/lib64/libjavascriptcoregtk-4.0.so.18 #2 0x00007f748e5ae9c5 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f748e5aed88 in () at /usr/lib64/libglib-2.0.so.0 #4 0x00007f748e5aee1c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #5 0x00007f7494f4268f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007f7494eeb35a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #7 0x00007f7494d1b31a in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #8 0x00007f7494d1fd2e in () at /usr/lib64/libQt5Core.so.5 #9 0x00007f74913174e7 in start_thread () at /lib64/libpthread.so.0 The pacrunner implementation of libproxy uses libdbus-1 which (officially) is thread-safe, but experience tells that it has problems. Since it is not running a JS engine, we don't need a thread, but we do need to lock around it. Change-Id: I84e45059a888497fb55ffffd14d2f638f21e807d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * Fix resolution of relative symlinks from relative path on unixOrgad Shaneh2017-08-272-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider the following: /root/target - a file /root/path/link -> ../target /root/path/other/exe - executable Running from /root/path/other. exe is: #include <QDebug> #include <QFileInfo> int main() { qDebug() << QFileInfo("../link").symLinkTarget() return 0; } The link references /root/target, but the current output is /root/path/target. The link doesn't depend on the PWD. It depends on its own directory. Change-Id: I61e95018154a75e0e0d795ee801068e18870a5df Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Update bundled libpng to version 1.6.32André Klitzing2017-08-2625-245/+1212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add import script. The remaining diff to clean 1.6.32 is archived in the qtpatches.diff file. [ChangeLog][Third-Party Code] libpng was updated to version 1.6.32 Change-Id: I1b4b78e39a6eb098d1b66c2528e47544bd9e6713 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * QFileInfo: Fix typo in docOrgad Shaneh2017-08-261-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: Id1051f08a870461b172b646c126eb44e8addc114 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| | * qmake: fix hypothetical raw data leak in $$replace()Oswald Buddenhagen2017-08-261-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the replacement value may well constitute the whole output string - this is in fact common, given this rather typical usage pattern: BAR = $$replace(FOO, -flag, -otherflag) this must be considered when constructing the return value. compare 3c8134958c6. as of now, this is irrelevant, as QString::replace(QRegExp, QString) will always memcpy the replacement into a detached copy of the target, but one never knows. Change-Id: Ia1f271f45023746040fc28ce6d88a6609e05e5c2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * qmake: fix hypothetical raw data leaks relating to qt i/o classesOswald Buddenhagen2017-08-261-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | technically, we should not rely on the i/o classes not storing the strings beyond the instantiated object's life time. Change-Id: I0990769b3cf86860184869036c096c531160e9be Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * qmake: remove pointless use of raw data in $$[QMAKEFEATURES] accessOswald Buddenhagen2017-08-262-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | property values are de-facto guaranteed to be backed by full QStrings, so there is nothing to be gained from using the raw data optimization, while doing so risks raw data leaks. Change-Id: I3d43da9aaadd4d5811c4b1a9d7ac734049da423c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * qmake: remove seemingly pointless QString::detach() callsOswald Buddenhagen2017-08-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it's not clear why detaching would be necessary; there is no danger of a raw data leak here. concatenating a QStringRef with a non-empty QLatin1String (the only expected use of this overload) will yield a detached QString anyway, so this makes little difference in practice. amends f137957e08. Change-Id: I521c0e89a8b0c1ae62b1450e81b0ae91a931bcfa Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * qmake: prune obsolete QString::detach() callOswald Buddenhagen2017-08-261-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | no m_tmp is involved any more in this code path; it uses QStringRef. amends 11d957d04381. Change-Id: Ib272d61edfb150a549c5e6a9a60d53502702e802 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * qmake: make more use of ProString built-insOswald Buddenhagen2017-08-263-19/+15
| | | | | | | | | | | | | | | | | | | | | saves some noisy toQString() uses. Change-Id: I62a9e2725c4baabac311124d19c7d8b40f54c8f7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * qmake: fix raw data detach avoidanceOswald Buddenhagen2017-08-263-12/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | the m_tmp array is a member, so the index toggle for accessing it also needs to be one - otherwise, odd iteration counts will defeat the mechanism. Change-Id: If7a800ed5a4b4168625daf1ebbd5d2d164569d8e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * qmake: fix excessive detaching of raw dataOswald Buddenhagen2017-08-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... in $$basename(), $$dirname(), and contains(). the latter case is marginal, as it only applies to mutuals which are regexes, which i don't remember ever seeing used. QRegExp saves a copy of the matched string, so it's necessary to alternate between two temporaries to avoid detaching. we already did that in most places. Change-Id: I97b8294585c17c76d1756f83971f42cb88353af0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * qmake: make yet more use of ProString::toQStringRef()Oswald Buddenhagen2017-08-265-15/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | in most cases, the main advantage is not using toQString(m_tmp), which reduces the possibility of raw data leaks. in cases where we used toQString() without temporary, this is a slight optimization. Change-Id: Ib343acffd383aa2c4fefab75fb52762fb534dfc6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * Add missing #ifdef for isTouchScreen() implementationAndy Shaw2017-08-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The definition of isTouchScreen() is protected with XCB_USE_XINPUT22 so the implementation needs to have this too. Task-number: QTBUG-62226 Change-Id: Icc3de01a6cb1299b43e56fc9f77833764131ca4b Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| | * Append the QMAKE_EXTRA_ARGS to the output instead of overwriting itAndy Shaw2017-08-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When QMAKE_* variable assignments were passed to the configure line they would cause the current contents of the private pro output to be overwritten. This would cause anything added to it before the QMAKE_* variable assignments to be parsed to be lost. Change-Id: Idcb8cad5f07cbb96b4da204384f5618b95b375b0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * Cocoa: Fix compile when using QT_NO_TABLETEVENTAndy Shaw2017-08-252-0/+6
| | | | | | | | | | | | | | | Change-Id: I76f08d747009a5bf2c0e8004c3443e16e83b6a7d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * QMenuPrivate: Fix implicit type conversion warningsGabriel de Dietrich2017-08-251-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | As reported within Qt Creator. Change-Id: I9dc06b9fba52936e01e01fb0e8cdf4b216c46551 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Initialize the print engine with the given printer nameAndy Shaw2017-08-2515-22/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally when the QPrinter was created it would create the engine with the default printer and then change it afterwards even though the desired printer may already be known here. So by passing the printer name we ensure that it is initialized with the desired one right away. Task-number: QTBUG-62221 Change-Id: Iaa90243708b57bf89354a527a982ac45c991f603 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * iOS: Remove support for OpenGL-backed QBackingStoreTor Arne Vestbø2017-08-243-141/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default on iOS has been raster for two years now, as of 3e892e4a97, and we haven't seen any major performance regressions that would warrant keeping the OpenGL based code-path alive. This includes the default surface format, which was ony set so that QPainter clip regions would work when using the GL backed backing store. Change-Id: I37b880a758b9c3fad1f23ae60268629ffbe9bc3e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Fix QCFType::constructFromGet() crash when passed a nullptrTor Arne Vestbø2017-08-241-1/+2
| | | | | | | | | | | | | | | | | | Change-Id: I83cbbb47af8580fa67cbc75fee07bc1e123895eb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Adapt qmake's raw-string parser to avoid confusion by macrosEdward Welbourne2017-08-244-9/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A macro name ending in R might expand to a string; if this precedes a string constant, we're juxtaposing the strings. My first parser for raw strings would mistake it for a raw string instead, ignoring the part of the identifier before R. Re-worked the exploration of what came before the string to catch these cases, too. The backwards parsing would also allow any messy jumble of [RLUu8]* as prefix for the string; but in fact R must (if present) be last in the prefix and *it* can have at most one prefix, [LUu] or u8. Anything else is an identifier that happens to precede the string. Reworked the parsing to allow only one prefix and not treat R specially unless it's immediately (modulo BSNL) before the string's open-quotes. Add link to the cppreference page about string literals, on which the grammar now parsed is based. Added a test for the issue this addresses. Verified that this fails on 5.6, dev and 5.9 without the fix. Expanded the existing test to cover R-with-prefix cases. Task-number: QTBUG-55633 Change-Id: I541486c2ec909cfb42050907c84bee83ead4a2f4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * QHostInfo: Remove Darwin refusal to use getnameinfo(3)Thiago Macieira2017-08-241-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This #if has been there since 0248ec4054b (Oct 2005), presumably due to bugs reported after the Qt 4.0 release (the first containing QHostInfo). Any macOS issues with getnameinfo() have long since been gone. I've confirmed that it works on 10.9, 10.10, 10.11 and 10.12, so I'm dropping the #ifndef. [ChangeLog][Deprecation Notice] Starting with Qt 5.10, IPv6 support will be mandatory for all platforms. Systems without proper IPv6 support, such as the getaddrinfo() function or the proper socket address structures, will not be able to build QtNetwork anymore. Change-Id: I320d9d2f42284a69a4cbfffd14dd5bf479e5f678 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * QNetworkInterface: Fold the test for if_nameindex into the config testThiago Macieira2017-08-242-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | No need to make workarounds for Android in the .cpp source. Just let it fail (if it still has to fail). Change-Id: Iaf4157b7efa2416d898cfffd14d94ebcb4d979be Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * configure: Disable warnings in configure testsThiago Macieira2017-08-241-0/+3
| | | | | | | | | | | | | | | | | | | | | No need to log them. Change-Id: I3868166e5efc45538544fffd14d8c3cc0012ba12 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * Fix invalid placeholder name in tst_qsqlthread.cppSérgio Martins2017-08-231-1/+1
| | | | | | | | | | | | | | | Change-Id: I88c0c48888b86b58d85223ad1dc4cafdaea01d77 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * Use libc++ instead of libstdc++ when compiling with android-clang mkspecBogDan Vatra2017-08-235-39/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clang+libc++ is the only supported way by Google nowadays. libstdc++ is too old and already fails to build some C++11 apps e.g. missing std::to_string(). android-g++ mkspec still uses libstdc++ and g++. Use -isystem to include system headers instead of QMAKE_INCDIR_POST (-I). Task-number: QTBUG-60455 Change-Id: Iba8b04594c2e5e2832e6cf480e4e52ff31ad4106 Reviewed-by: Sérgio Martins <sergio.martins@kdab.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>