Commit Graph

44349 Commits

Author SHA1 Message Date
Tobias Hunger
43c04ac80b BuildSteps: Fix a number of crashes
Fix crashes due to activeProjectConfigurationChanged signal sending
a nullptr.

Uses the same fix as QTCREATORBUG-18865, but in more places:-)

Task-number: QTCREATORBUG-18866
Change-Id: Ic71af5ed26b2a44339f0c687f3f46bfdf62c2489
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-08 11:16:38 +00:00
Eike Ziller
a9aac73e37 Merge remote-tracking branch 'origin/4.4'
Change-Id: I53a31b3463b2bd8efffb1c00e5d172854d8ff5e5
2017-09-08 13:06:07 +02:00
Ivan Donchevskii
79e94ddae8 Clang: Workaround completion for make_unique/shared
Change unsaved file to provide constructor overloads
for std::make_unique, std::make_shared and
QSharedPointer::create

Example:
// Provide Foo constructor signatures at <Cursor>
std::make_unique<Foo>(<Cursor>

Task-number: QTCREATORBUG-18615
Change-Id: I87dd17085adf99ee498db969a3cdda5ebd973476
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-08 10:13:08 +00:00
Daniel Trevitz
b5379d599f cmake: Crash when removing
Fix nullpointer error. Occurs when no active project exists

Task-number: QTCREATORBUG-18865
Change-Id: I826daac39c38ae1382d23cae20da9085dbcfe298
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-08 09:28:57 +00:00
Ulf Hermann
47886969cc Drop unused variables and lambda captures
Also, add context to connect() expressions where we are or were
capturing "this".

Change-Id: I6e006ba6f83d532478018550d148ee93eca59605
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-09-08 09:06:53 +00:00
Ulf Hermann
e3ae628584 QmlProfiler: Don't crash on inconsistent profiling data
The trace may contain RangeData and RangeLocation entries that aren't
aligned with any RangeStart. As the trace is generated by an external
process we need to handle that.

Change-Id: I39a524127c9c9059e5c5521797e5effd385ce12b
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
2017-09-08 09:05:55 +00:00
Ulf Hermann
565ebaeb9a FileUtils: Drop the QTC_CHECK for !endsWith(slash)
As exercised by the test directories as Utils::FileName are actually
supported. The resulting fileName() is empty.

Change-Id: Ie20ac58c1d0f416d711c8cc3281054c0d70c449e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-09-08 08:35:24 +00:00
Ivan Donchevskii
d809e3fb8f Clang: send function name position for completion
... to reuse this position in backend (instead of
searching the function start again)

Change-Id: I02818dce4fc37ed6e7ecfb533191dbfe60610204
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-08 07:37:06 +00:00
Ivan Donchevskii
cffcba67bf Clang: extend CompleteCodeMessage
Add function name starting line and column.

Change-Id: Iaec1d769ce96df60c9d7e4a8eb942ad300279958
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-08 07:36:55 +00:00
hjk
4235b0dae2 RemoteLinux: Remove abstractremotelinuxrunsupport.{h,cpp}
There was only the now-unused FifoGatherer left, which could, if really
needed again, be re-instated near the actual worker that would need it.

Also, un-export LinuxDeviceDebugSupport and RemoteLinuxQmlProfilerSupport
which are not re-used, and conceptually not meant to be re-used, anymore.

Change-Id: I20b6eb2f4a85180b586ea8338cf74173e3b7b21c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-09-08 05:44:13 +00:00
Ulf Hermann
11b8b6591c Qml Debugger: Add missing override
Change-Id: Icc704ee9539030f747b29e6285ab4f37b3b1763a
Reviewed-by: hjk <hjk@qt.io>
2017-09-07 13:28:59 +00:00
Ulf Hermann
1634987cae QmlDebug: Don't use QmlDebugConnection unconditionally
It might be null. We wrap the retrieval of the data stream version in
QmlDebugClient and return the minimum if connection is null. The extra
copy of the connection QmlEngine is dropped as QmlDebugClient already
has one and we don't want to hit a dangling pointer.

Change-Id: Ida8c45d357d46b4942eea99b77065d3c51c7edb9
Reviewed-by: hjk <hjk@qt.io>
2017-09-07 13:28:52 +00:00
Ulf Hermann
239ed56f4b QmlDebug: Decouple QmlDebugConnection and QmlDebugClient
The protected methods of QmlDebugClient need to be called by
QmlDebugConnection already. We also want to call them directly for
testing, so we make them public rather than having QmlDebugConnection
be a friend. By using a QPointer, we can avoid resetting the connection
on each client when it is deleted.

Change-Id: I2c0e3d2b8ec19e9acbc6b8f5623b4c28caae319a
Reviewed-by: hjk <hjk@qt.io>
2017-09-07 12:58:12 +00:00
Ulf Hermann
3ccbaff2da QmlDebug: Add some missing override
Change-Id: I742cbeedff43e1e33b30150fec60f843698f05e8
Reviewed-by: hjk <hjk@qt.io>
2017-09-07 12:52:01 +00:00
Ulf Hermann
046e4db97a QmlProfiler: Remove slots declarations and Qt4 connections
The signals from QML are relayed through the respective models, so that
we don't have to use Qt4 connections there.

Change-Id: I864b49061c1f28acbebfc7378bfe39f96d3cae18
Reviewed-by: hjk <hjk@qt.io>
2017-09-07 12:48:14 +00:00
Eike Ziller
c4b5048836 ShellCommand: Show some progress information without progress parser
Show magically timed progress when running a shell command without a
progress parser. The assumption is that the timeout is much larger than
the expected runtime, but still an indicator for how long it might take.
Progress manager does its magic on top of that.

This is e.g. used for the update info plugin, for which checking for
updates might take quite some while.

Change-Id: Ib3d3d37b86fac17816fe592e39e26a3d484bba26
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-07 11:24:33 +00:00
Ivan Donchevskii
5b48bd0420 Clang: fix clang static analyzer on Windows
1) mingw kit + qmake: do not add target includes
not to override clang paths (for intrinsics and more)
2) msvc kit + qbs: remove target option from
clang-cl arguments

Change-Id: Ifb494ee61ae2d39e957cff31dbd647c66910be17
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-07 10:08:30 +00:00
hjk
4342eeab33 QmlProfiler: Don't access QmlProfilerTool from QmlProfilerTextMark
Only QmlProfilerViewManager is needed, so use that, as a step to
reduce the interface of the QmlProfilerTool singleton.

Change-Id: I19e55e3b22b3c64ff98b8ea29cbc5164a60ee15d
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-09-07 09:46:59 +00:00
hjk
7458880298 Debugger: Replace some setRunParameters by individual property setters
Change-Id: If19c917dae5475c7bedc1bb2e6f2655fd4e5ce1b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-07 08:51:29 +00:00
hjk
49c14f5616 Debugger: Remove non-unneded DebuggerRunTool::setStartParameters
Change-Id: I5647f0c7232fbc12c66902a42c7a09f47cdef547
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-07 07:19:21 +00:00
hjk
5e871ddb65 Debugger: Dissolve createAndScheduleRun()
... into DebuggerRunTool creation and explicit RunParameter bulk setting,
which later is to be replaced by setting individual parameters.

Change-Id: Ic4d2c6d10d659287ae61fdb4db735e658e3a68ce
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-07 07:08:47 +00:00
hjk
015f0c03cf Qnx: Fix debugging
This apparently fell through the cracks in 89f02cba2.

Task-number: QTCREATORBUG-18804
Change-Id: Ib00a5a074ec1df3292267a194e8e87a92d3c6dfc
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-07 07:01:52 +00:00
Eike Ziller
5680c1c874 Register Qbs documentation (if available)
Task-number: QTCREATORBUG-18441
Change-Id: I800fae056f7d1cfc60fab3b0c1964d3b9a2a99f7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-09-07 06:46:36 +00:00
Jake Petroules
6458473414 Android: remove support for local/debug deployment option
This is only usable with versions of Android older than 5. Now that
Android 8 is the current version, we say goodbye to this feature as it
is almost certainly no longer of use to anyone.

Task-number: QTBUG-62995
Change-Id: I19795eb385b18f4dd87a1bb8df57d36c3fa28dc5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-09-06 18:21:26 +00:00
hjk
8628150ffc Qnx: Give Slog2Info runner a display name
... for better debugging.

Change-Id: I24d2c6d10d659287ae61fdb4db735e658e3a68ce
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-09-06 14:25:24 +00:00
hjk
898eb4a460 Debugger: Move .useTerminal modification to central fixup
Even if this is LLDB-specific having the value fixed early
will help in moving terminal handling into a RunWorker
of its own.

Change-Id: I73a9564148dec9b28557c12cc248a4f0b668f8d7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-06 12:54:21 +00:00
BogDan Vatra
1f4e78d8a6 Android: Fix search path for QML modules
QT_INSTALL_IMPORTS was used by Qt 4.x, Qt 5.x uses QT_INSTALL_QML

Change-Id: I9c25ef005f3c5dc8cfc8d0b965426e22b542fb70
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2017-09-06 11:55:23 +00:00
Vikas Pachdha
27e740cab4 Android: Extend Android SDK sanity
Verify the essential tools and packages required for development

Task-number: QTCREATORBUG-18837
Change-Id: Ie89e8fcf3bf75f1db9cc5eac50859cf6f3e5fafd
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2017-09-06 11:41:37 +00:00
Christian Stenger
afc0192c8f QbsPM: Fix qbs build
This amends dce0b1c945.

Change-Id: I062d71d21e942fcdba87dd0425fd656f2b3d9641
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-06 11:20:35 +00:00
Nikolai Kosjar
1847034371 ClangStaticAnalyzer: Update comment about -dumpversion
Change-Id: I268e23dd6f73efcde0e6efcb04e3c0ffb946a11b
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-09-06 10:39:39 +00:00
Eike Ziller
c2ef4b52d3 Merge remote-tracking branch 'origin/4.4'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri

Change-Id: I9620928b431cefa995a06db85ecfcb92f225f732
2017-09-06 12:19:18 +02:00
hjk
a512c8e0c8 Debugger: Centralize some parameter sanitization
Change-Id: I00e7c22adcf32ba8251b357e75eb9207b6f98f1b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-06 09:57:27 +00:00
Nikolai Kosjar
dce0b1c945 Fix qbs build regarding app_version.h
Change-Id: I2b6bd8bf10221dc3d08ada30701d5b39cc763251
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-09-06 09:05:29 +00:00
Alessandro Portale
1733076227 Utils: Make the Magnifier icon a proper 16x16px icon
The historical size of 11x17px makes it hard to use.

Change-Id: I17f10d0b03c41f5470c02b6dc47c0c40afac73fe
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-09-06 08:56:11 +00:00
Alessandro Portale
b3911628cf Core: Clean up some ancient, unused code in FancyTabWidget
Change-Id: I4b24522028c8184f39bd05d54644fee0fba3b434
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-09-06 08:55:59 +00:00
hjk
3975bc2e19 Debugger: Add a const
Change-Id: I917ab5d654c724c847d3bb91a1c76b485cd18de2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-06 08:25:15 +00:00
hjk
7ee3e137bc RemoteLinux: Remove target-specific perf support
The base target-agnostic implementation is good enough to handle the
case.

Change-Id: Ib4615de59c1d5defd297a885ca2ca13ff9e0d3e6
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-09-06 08:24:58 +00:00
Ulf Hermann
35bdf8e3b8 ScxmlEditor: Fix crash in WarningModel
Destroyed warnings were not properly removed, as qobject_cast on a
QObject that's being destroyed returns nullptr. Also, call
endRemoveRows() to finalize removing of rows, not endResetModel(), and
avoid searching the vector twice.

Change-Id: I70c0ac6ef897496adc71a5010929d71e91666ad4
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-06 07:54:04 +00:00
Christian Stenger
b381418476 Welcome: Squish: Assign object name to fix Squish tests
Latest change of adding QScrollArea around Welcome's sidebar made
the objects lookup fragile. Using the QScrollArea inside Squish
tests helped for some but not all lookups.
Simplify the lookup by assigning an object name.

Change-Id: I5f37ee69bf20eaf02c9717cbaa5ba541d8ffbc17
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2017-09-06 07:09:35 +00:00
Ivan Donchevskii
82d0650b11 Clang: fix findStartOfName handling
... of templates and qualified names

Change-Id: Ic8c2dec35cb74484f474c0c608857e7cf48c7468
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-05 14:16:04 +00:00
Tobias Hunger
5fb54e7cdd TreeModel: Send modelReset() in setRootItem(...)
Change-Id: Ie24b1888521fe601455a5a15a01f02fb8b30e536
Reviewed-by: hjk <hjk@qt.io>
2017-09-05 14:13:52 +00:00
Christian Stenger
cd51ff7c0f Utils: Fix typo in function name
Change-Id: Ibd973f68d291731dab06ef1b7eee902be19601a5
Reviewed-by: hjk <hjk@qt.io>
2017-09-05 13:49:23 +00:00
hjk
706fb1a2b6 Debugger: Make setFixupNeeded() accessible to user code
Change-Id: I470b91e5ad80f2086f49c48d00975dd66444aa30
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-05 13:41:29 +00:00
Eike Ziller
ca3b882ab8 TextEditor: Fix painting with frame turned on
When using our text editor in a normal panel, we want to turn on the
frame again. Make sure that the extra text editor area does not overlap
the frame, and also make sure that there is no extra area shown at all
if all its features are turned off.

This fixes the painting of the input fields in the Clang Query advanced
search.

Task-number: QTCREATORBUG-18815
Change-Id: Ie74f87ddc576c02cd5ea7650f2632fe91df143eb
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-05 12:04:17 +00:00
Nikita Baryshnikov
903308e908 ProjectExplorer: check file renaming result
Change-Id: I6872bc09f173e2af7a1ebc416d3d5ebcf9dea46a
Reviewed-by: hjk <hjk@qt.io>
2017-09-05 11:42:04 +00:00
Eike Ziller
05485071b0 Handle case sensitive file system gracefully with case-insensitive setup
If you use a case sensitive file system with a Qt Creator that is set to
case insensitive file system handling (default on Windows and macOS),
we still want file change notifications to work as long as you do not
actually have files that only differ in case.

This requires us to carefully differentiate between the keys that are
used for comparing files (=> case insensitive), and the paths that are
registered in the file watcher (=> file path as we get it from the
user).

Also for the check if a file path is a symlink, we should not check
equality of the resolved vs unresolved keys, but equality of the
cleaned, absolute paths (resolved vs unresolved).

Task-number: QTCREATORBUG-17929
Task-number: QTCREATORBUG-18672
Task-number: QTCREATORBUG-18678
Change-Id: I36b8b034880a0c60765a934b3c9e83316c4eb367
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-05 10:53:08 +00:00
Alessandro Portale
d010dbd190 Welcome: Remove the big minimal height requirement
The SideBar in the QtWidgets based Welcome mode had a high minimal
height which cause whole Qt Creator not to fit on my HD(720) screen.

This change wraps the SideBar into a vertical scroll area.

Change-Id: I1d70ced1bbe803fb866159dd557a401c3ab6a9b2
Reviewed-by: hjk <hjk@qt.io>
2017-09-05 10:21:29 +00:00
Tobias Hunger
4ef01c961e app_version.h: Make IDE name configurable
Change-Id: I993f452c8d09cf89e9a2958fc8e36b7d2c17ee6f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-05 10:19:48 +00:00
Eike Ziller
ca959d8063 Merge remote-tracking branch 'origin/4.4'
Change-Id: Ic9a1cf3b40b259d9c77f2f542405d189171e0fbf
2017-09-05 12:15:42 +02:00
Ivan Donchevskii
410e31c665 CppTools: set default -std=c++11 for Qt4
qmake from Qt4 does not provide C++ standard and
clang can't properly compile Qt4.8.6 and earlier
with c++1z. Behavior in this commit mimics qmake
from Qt5 which also provides c++11 as a default
standard.

Task-number: QTCREATORBUG-16441
Change-Id: I3d29891d6e47f2367f2b3b2bf4be4d86661924e9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-05 09:37:14 +00:00