Commit Graph

25677 Commits

Author SHA1 Message Date
Samuel Nevala
a8455ac5fa ANGLE: Fix winrt backing store to support feature level 9_3 devices.
Partially revert c7abf81786. Instead of using the ES3 entry point,
use ES2 for framebuffer blitting. This means that a small change is
required to ANGLE for the blit behave the same as ES3 (applied only for
Windows Store apps).

Task-Id: QTBUG-48266
Change-Id: Idc51f00a659c91f740876be071eb71bff69e0e38
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-10-24 09:41:03 +00:00
Liang Qi
7df107f026 Cocoa: Implement QPlatformInputContext::locale().
Listen to NSTextInputContextKeyboardSelectionDidChangeNotification.

Task-number: QTBUG-48772
Change-Id: Icea4ef61fd184edbe65a7f195318832a22c312ab
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
2015-10-24 05:51:20 +00:00
Liang Qi
6bc1ce9c16 Merge remote-tracking branch 'origin/5.5' into 5.6
Conflicts:
	src/corelib/kernel/qcfsocketnotifier.cpp
	src/tools/qdoc/qdocindexfiles.cpp

Change-Id: Iae365b23afc611de8794f22cceae8b210d25aa8a
2015-10-23 23:14:22 +02:00
Frederik Gladhorn
129d268246 Fix alignment in qConvertARGB64PMToA2RGB30PM_sse2
_mm_load_si128 requires 16 byte alignment. This crashes on 32 bit Windows
builds.

Change-Id: Ib6c30eba726747bbab56467eada820521981a80c
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-10-23 21:11:43 +00:00
Alex Trotsenko
ccca3ffdc2 QNativeSocketEngine: declare PacketHeaderOption enum as a bit field
It should be possible to use these constants simultaneously and to
handle them separately from each other.

Change-Id: I0c48a3c25456b487c9d6139b05105ada20f34be6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-23 18:21:07 +00:00
Alex Trotsenko
192606a9fd QIpPacketHeader: correct the type of hopLimit member
In other places, it's referenced as int.

Change-Id: Ic66f33a34d45208686ad0e229644d3ef33c55a62
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-23 18:20:49 +00:00
Thiago Macieira
f3e4769d05 Compile the 64-bit version of some code on all 64-bit processors
This is true for ILP32 on x86-64, IA-64 and AArch64.

Change-Id: I1d0f78915b5942aab07cffff140f9d4c277bb5d4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-23 18:10:27 +00:00
Thiago Macieira
f0c915de70 Autotest: remove AIX-related QT_POINTER_SIZE code
This test hasn't been run for years, so clean up. And besides, it's
extremely fragile and would depend on how IBM packages their OpenGL
libraries.

Change-Id: I1d0f78915b5942aab07cffff140f9db5a09ee7e2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-23 18:10:22 +00:00
Marc Mutz
2cdafb0999 Convert some QDateTime::currentDateTime() to currentDateTimeUtc() (I)
The latter is much faster as it doesn't have to deal with
time zones.

This change handles the trivial ones: Either the call to
currentDateTime() is immediately followed by a call to toUTC()
or toTime_t(). The latter is much faster on UTC QDateTimes, too.

Credits to Milian Wolff, from whose QtWS15 talk this advice is
taken.

Change-Id: I872f5bbb26cbecedc1e5c0dbee4d5ac2c6eb67ee
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
2015-10-23 18:09:18 +00:00
Alexander Volkov
8a8a5813a9 QMenu: Fix a typo EventShouldBePropogated -> EventShouldBePropagated
Change-Id: Id9439bd749576d1f7dfcb1653905f5de47b825b4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-10-23 14:03:15 +00:00
Yoann Lopes
0f54343808 Configure: don't enable the WMF multimedia backend by default.
This means we now use DirectShow as default multimedia backend
on Windows.

Task-number: QTBUG-45597
Change-Id: If95bbb8e7b33d73d80f7ba42de63ac54539e15b8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-23 13:45:18 +00:00
Andy Shaw
3890988bb6 Add support for -Zc:throwingNew option to vcxproj generation for 2015
Task-number: QTBUG-48898
Change-Id: I56abae0cbc56e07fd9bb554b84927c327c1b3232
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
2015-10-23 13:03:12 +00:00
Liang Qi
790aef362f Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	.qmake.conf
	configure
	src/corelib/global/qglobal.h
	src/tools/qdoc/node.cpp
	src/tools/qdoc/qdocdatabase.cpp
	tests/auto/corelib/io/qsettings/tst_qsettings.cpp
	tools/configure/configureapp.cpp

Change-Id: I66028ae5e441a06b73ee85ba72a03a3af3e8593f
2015-10-23 14:45:03 +02:00
Topi Reinio
b29d18f736 Doc: Edit description of QSslSocket::AddCaCertificates()
The QSslSocket::addCaCertificates() variant that takes a path
argument uses QSslCertificate::fromPath() in its implementation.
Edit the description of the former to match that of the latter.

Fix minor issues in QSslCertificate::fromPath() documentation;
add a missing word, limit code snippet line width.

Task-number: QTBUG-47359
Change-Id: Ibead74c998503e60a67d0b8eb551536bd20feff8
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-10-23 12:38:09 +00:00
Gabriel de Dietrich
b50ee28eb5 QWidgetAction: Don't deactivate the current window on Mac
We check the name of the window class the widget's QNSView
changes window and set a flag when the that window is a native
Cocoa menu window. Later, only those views not inside a native
menu can become first responder, ensuring Qt won't deactivate
the main window.

We're allowed to reject becoming the first responder mainly
because Cocoa itself doesn't support sending key event to menu
views and, therefore, it doesn't change what's already possible.

This patch also sets the widget action visible, which needs to
be done right after reparenting it to the container widget.
Besides that, it also contains a few small code cleaning changes
related to Cocoa's support of QWidgetAction.

Change-Id: Ia2170bdc5e1f40bfa2f1091c05e9e99397c47187
Task-number: QTBUG-44015
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2015-10-23 11:28:49 +00:00
Erik Verbruggen
07475c662e OSX: replace use of deprecated API.
dragImage:at:offset:event:pasteboard:source:slideBack: on NSView is
deprecated since 10.7. Use the one on NSWindow instead.

Change-Id: Ia1c2ea367ae2ca5194b52ea57ab261461bf8b529
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-10-23 07:51:34 +00:00
Friedemann Kleint
9720efbd10 Diaglib: Add class DebugProxyStyle.
Add a debug proxy style that wraps around an existing style and outputs
the parameters and return values of its function calls, for debugging
QStyle.

Task-number: QTBUG-47084
Task-number: QTBUG-45055
Change-Id: I638618e83bbac8ca4fdce31441bf4c913e911154
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2015-10-23 07:47:44 +00:00
Friedemann Kleint
66cfebc2b3 tst_qchar: Remove init()/cleanup() slots.
For Windows CE 7, a QCoreApplication was instantiated
in each test.

Change-Id: Ib579e416e47f884ef0cdf829139518fcc3910b9b
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2015-10-23 07:23:00 +00:00
Friedemann Kleint
6f65ddbc21 Implement canceling of Qt-initiated drags.
- Add new virtual QPlatformDrag::cancelDrag()
  [avoiding a conflict with existing QBasicDrag::cancel()]
- Implement on Windows by returning DRAGDROP_S_CANCEL
  from IOleDropSource::QueryContinueDrag() as suggested on report.
- Implement in QBasicDrag by calling QBasicDrag::cancel()
  and quitting the event loop.
- Add new API static void QDrag::cancel() for it.

Task-number: QTBUG-47004
Change-Id: I4b4bb52e5fc226c8e04688ac1b0f9550daaf918e
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2015-10-23 06:35:47 +00:00
Marc Mutz
8515aa1871 QTextStream: optimize streaming of QLatin1String and const char*
Instead of converting the QLatin1String to a QString at the first
opportunity, keep it around until it is appended to one of the
internal QStrings in write().

Avoids a memory allocation per QLatin1String / const char* streamed.

Change-Id: Id973a9b743e5a6696defbc4ef4ed2db1ef54e9cc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-23 05:51:00 +00:00
Thiago Macieira
746fbbe039 Define QTypeInfo for char16_t, char32_t and wchar_t in Qt 5
Commits 0b700fb6f9 and
0e4d94edd0 defined QTypeInfo for those
three only for Qt 6 (and forced C++11 support). Define them in Qt 5,
keeping compatibility with QList storage. That is, these types are
defined to be primitive and static at the same time, for the benefit of
QList.

Change-Id: I9cac3a70af156971022c1e6084cb5538c050f826
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2015-10-23 00:17:59 +00:00
Thiago Macieira
be926e412c Prevent the pixmap cache from crashing if it's been destroyed
In case the static destructor has already been run, make sure we don't
crash. This shouldn't happen, but could happen if the QApplication
destructor is run in a weird order (after the static destructors have
begun running).

That's not usually a case we'd fix (unsupported), but since this change
improves the code and also avoids creating the pixmap cache if it hadn't
been used up until this point, the change is a net benefit.

Task-number: QTBUG-48709
Change-Id: Ia505aece07bf4e13a1faffff140f3e119cfc773e
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-10-23 00:16:01 +00:00
Lars Knoll
cefc393059 Respect QPen::dashOffset when generating PDF
Change-Id: I26de1cd4a14d1b8978be6d0377cb2cba573fc82a
Task-number: QTBUG-47164
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-10-22 20:18:39 +00:00
Lars Knoll
661bcb79c8 Fix warning message to match the function signature
Change-Id: Ie21d63e29351dae9a52998e3d1068500e502ec5a
Task-number: QTBUG-46693
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-10-22 20:18:27 +00:00
Frederik Gladhorn
8ea61d6d2a Fix alignment issues on 32 bit in qConvertA2RGB30PMToARGB64PM_sse2 and qConvertARGB32PMToARGB64PM_sse2
On 32 bit platforms the pointers may end up being 4 byte aligned.
Happens with MSVC on 32 bit Windows. _mm_store_si128 is documented to
require 16 byte alignment.

Change-Id: I80737fedf9e7f436a51a83924117cc0bc63017cc
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2015-10-22 19:40:19 +00:00
Oswald Buddenhagen
f343989852 qdoc is moving back to qttools
Change-Id: Icb5abd32a1cbc3e8d876341c877e8d2a963c0e25
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-10-22 19:40:09 +00:00
Boris Nagaev
45fe3f1cde configure: fix log corruption with option -v
This bug occurs if ./configure is called with -v on systems on
which fd proc entries point to the files/devices they are open
on instead of being magic nodes which would basically dup() the
actual fds (e.g., Linux).

In this case, the command "tee $tty" appends to /dev/stderr, which
may be already opened by the parent process. This breaks the log file.

Normally, the log file starts with

 This is the Qt Open Source Edition.
 ...

but with `-v` flag it would start with output of awkprog and maybe
some zero bytes. Zero bytes are observed on Debian Wheezy.

 DEFAULT_INCDIRS=...
 ...
 ^@^@^@^@^@^@^@^@^@^@^@^@...
 Done running configuration tests.
 ...

To fix this problem, the output of `...` is saved to a variable, and
then eval'd and echo'd (if -v).

This solution was found by Tony Theodore.
https://github.com/mxe/mxe/issues/938#issuecomment-149770348

Change-Id: Id0c28598890e813774cc92f38ee46a0697b34e77
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-22 19:13:08 +00:00
Marc Mutz
a903ddd8dc QTextStream: Extract Method padding() from putString()
This is in preparation of adding a putString(QLatin1String) overload.

To keep the change simple, I kept the construction of the padChar
chain per putString() call. It probably makes sense to have a
QString::resize(int, QChar) to perform the padding operation in-place.

Let's leave that for another changeset.

Change-Id: I9ef66b8df38117e1669fd2bece6ee180a2ce3369
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-22 18:41:56 +00:00
Friedemann Kleint
13b1c23f8b QLineEdit: Fix visibility handling of side widgets.
Compare against isVisibleTo() in QLineEditIconButton::actionEvent()
so that action events received before show() are handled correctly.

Fix a regression introduced by change
4dccb2ca67 for handling action
events causing side widgets to overlap when added before the widget was
shown. Use QAction::isVisible() to determine visibility.

Task-number: QTBUG-48806
Task-number: QTBUG-48899
Task-number: QTBUG-39660
Change-Id: I7a39a3b9a094f2c74cde09544f1158deb2b81cf2
Reviewed-by: David Faure <david.faure@kdab.com>
2015-10-22 18:04:18 +00:00
Olivier Goffart
d206d04b7c moc: fix Q_PROPERTY with parentheses in their MEMBER clause
This was never a documented feature, but happended to work before Qt 5.5.
It broke because the peoperty access went into the static function and are
now prefixed with '_t->'

So restore the behavior as it was by not including the parentheses in the
member name.

Task-number: QTBUG-47695
Change-Id: Ic3509ddea7ac9abc871e71f5bfbe81d04d08e9bc
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-10-22 16:48:26 +00:00
Caroline Chao
344b19f8e9 Tests: Use blacklist for tst_NetworkSelfTest::ftpProxyServer()
Remove the insignificant_tests CONFIG option in favor of a BLACKLIST
file. The test blacklisted have been found using CI builds logs.

Change-Id: Iac07316862cff9b5085dacdf9f35e691cff09384
Task-number: QTBUG-27571
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2015-10-22 13:45:09 +00:00
Samuel Nevala
f57afda69f winrt: Fix sending of back key event.
Windows Runtime side callback is run from XAML thread and receiver
is at UI thread thus sendEvent asserts. Use synchronous system
interface key event handler to deliver the event.

Task-Id: QTBUG-48105
Change-Id: I91a8ef6fd29c277edfb699b688b9e7895dadda8f
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-10-22 13:28:51 +00:00
Samuel Nevala
0d5bf2eb59 Remove superfluous newline
Change-Id: I556ac48f586633faa6b7048e03a33a0f018973e6
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-10-22 10:21:47 +00:00
Laszlo Agocs
d0cbd1e0b8 eglfs: Avoid sending enter-leave events with an invalid leave ptr
Task-number: QTBUG-48890
Change-Id: Iad82f285a0c982a5fafd276459b8177086d43d1b
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
2015-10-22 09:21:54 +00:00
Samuel Nevala
ceec35a6de winrt: Connect callbacks after after integration class constructed.
It was possible for Windows Runtime callback to run while integration
class was constructed. That caused an assert when handling
application state change. Fix this by connecting callbacks after
integration class fully constructed.

Change-Id: I029c2e1f932e8edc3665443cc17dbf11eaae1bf6
Task-Id: QTBUG-48109
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-10-22 08:58:23 +00:00
Friedemann Kleint
9388bbe4bd Windows: Implement QPlatformInputContext::locale().
Initialize locale from current keyboard value and listen
to WM_INPUTLANGCHANGE.

Task-number: QTBUG-48772
Change-Id: I53b6ef4e2cf538bb81b41ea497ed0cb66991b104
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-10-22 08:45:16 +00:00
Samuel Nevala
e137676354 winrt: Add missing Q_DECL_OVERRIDEs
Change-Id: Ifbf2995baa2eedc726e814b04b51bde6e91a7c40
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-10-22 06:11:07 +00:00
Friedemann Kleint
456f721917 tests/auto/corelib: Remove some placeholder formatting.
Use QByteArray/QString addition instead in loops and for
test row names.

Change-Id: Ieffb429efdc14aa5932b3fcdef5a18e13a62d35f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2015-10-22 03:54:29 +00:00
Friedemann Kleint
acdd4850a4 tests/auto/other: Remove some placeholder formatting.
Use QByteArray/QString addition instead in loops and for
test row names.

Change-Id: Iae76d852a1657bfb6d88e84515f30bd2f1dece6b
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2015-10-22 03:53:22 +00:00
Timur Pocheptsov
f32f75ae1b Secure Transport SSL backend - add a missing cipher suite
tst_qsslsocket::sessionCipher fails starting from OS X 10.11, since we
do not recognize ECDHE-RSA-AES256-GCM-SHA384 (and the resulting 'sessionCipher'
isNull).

Change-Id: I37f51a1627c25f03a30172b245be8142d179affa
Task-number: QTBUG-48881
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-10-22 03:36:45 +00:00
Alex Trotsenko
e1d4c16aef QNativeSocketEngine: allocate more space for the ancillary data
As a corner case on BSD systems, we use IP_RECVIF control message to
retrieve an interface index of the received datagram. Take care about
sockaddr_dl structure, while calculating a size of the ancillary
data buffer.

Change-Id: I1c113d390a4929489c4c5858847b6262f1baa204
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-21 19:18:45 +00:00
Friedemann Kleint
a3abf9d76b Improve file handling in test of QSettings.
- Avoid duplication of slashes and use static variable for the
  const part in settingsPath().
- Do not run expensive cleanup twice in init()/cleanup() as was
  before by moving the code into a separate cleanupTestData()
  function called from cleanup() and initTestCase().
- Use QDir::removeRecursively() (which should be able to deal
  with readonly files, etc after 26bcc0565f )
  instead of system calls or the special removePath() function for
  CE/RT.
- Switch QStandardPaths into test mode.

Change-Id: Idcde2d17020eae1ea43e448266e3940c06f174ef
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-10-21 16:36:10 +00:00
Laszlo Agocs
2a1d3f330d Add support for TEXTURE_EXTERNAL_OES in the internal texture blitter
Assuming that the target is always GL_TEXTURE_2D is not going to be sufficient
when working with EGLStreams for example where GL_TEXTURE_EXTERNAL_OES is a
must. The blitter is now changed to support multiple programs so other targets
can easily be added as well in the future, if necessary.

Change-Id: I247d30600222fb5af6305ed5d9740baa5e43e83e
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
2015-10-21 13:32:42 +00:00
Edward Welbourne
3dff3fdefb Several cases of s/decelerating from/decelerating to/.
The relevant easing curves all start out fast and end stationery; so
it's at the *end* that they attain zero "velocity", so they're
decelerating *to* zero, not from it.

Change-Id: I69874c46c8d42f185ff815295c4470a195cc43ae
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-10-21 13:19:55 +00:00
Maurice Kalinowski
fb049254c8 WinRT: Fix InputPanel on Windows 10
Check for MSVC2015 to enable usage of IInputPane(2). Move object
construction to the XAML Thread, otherwise instantiation will fail when
running on desktop.

Task-number: QTBUG-44494
Change-Id: I816230cc5b0def796e86e6c6bb05a552a4e59d1b
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-10-21 12:59:37 +00:00
Topi Reinio
70b229d996 qdoc: Minor optimizations
Remove unnecessary type casts in qdocindexfiles.cpp, and reduce the
amount of duplicate string literals used for generating QML
documentation.

Change-Id: Ia6d68a44fad14bd7414c0106e8752999830c93e8
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-10-21 09:52:29 +00:00
Topi Reinio
d159fe199f Doc: Update examplesinstallpath to include the repository name
The examplesinstallpath variable in .qdocconf files defines the path
under QT_INSTALL_EXAMPLES where examples are found.

To match the way examples are packaged in Qt 5.6, prefix each
install path with the repository name.

Task-number: QTBUG-48736
Change-Id: I6a35c94fdacaad21cd044411aba02027b9019300
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
2015-10-21 09:50:16 +00:00
Topi Reinio
04fe7af33f Doc: Improve selection of offline template type
Qt 5.6 now includes a version of the offline documentation template
with simplified CSS suited for rendering HTML with a QTextBrowser
backend.

Select the template in qt-html-templates-offline.qdocconf, instead
of the higher-level qt-module-defaults-offline.qdocconf. This is
better because many projects external to qt5 (including Qt Creator)
do not use qt-module-* includes. This way, we can control the
template selection for all projects from a config file.

Change-Id: I766af422d829f3c9519c5a45093473175363d600
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-10-21 08:15:35 +00:00
Thiago Macieira
fff3101bc6 Place classes from private headers in the Qt_5_PRIVATE_API ELF version
This way, it's possible to tell which applications and libraries depend
on the Qt private API and of which Qt library. Linux distributions can
use this information to decide which applications need to be recompiled
every time Qt itself is rebuilt.

This is done by scanning all class and struct definitions in the private
headers (we've already got the list from syncqt). I opted to add a new
script instead of modifying syncqt because then this can run in parallel
with the rest of the compilation, as opposed to during qmake
time. Another advantage is that it catches modifications to the headers
in between qmake executions.

Since this is already Unix specific, it should be no problem to use Perl.

This solution is limited to use of non-inline symbols of classes
declared in private headers. It will not catch free variables (such as
qsimd_p.h's qt_cpu_features), use of inlined functions or just plain use
of a class/struct for accessing its data members. However, this is
already better than nothing and should help Linux distributions quite a
lot. And there's no way to catch the latter issue anyway.

Change-Id: I049a653beeb5454c9539ffff13e3fff36400ebbd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-20 19:19:34 +00:00
Oswald Buddenhagen
8e846b337b don't try to use relative rpaths on platforms that don't support it
Change-Id: I8224d429d71ccc829beb1addf592806d2edaa87b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-20 17:18:29 +00:00