Commit Graph

44349 Commits

Author SHA1 Message Date
hjk
90de4bae40 Debugger: Hex-encode LLDB disassembler source lines for transport
Unescaped quotes break the protocol.

Task-number: QTCREATORBUG-18721
Change-Id: I235c4dc33e599769bc854423ef4a7dc6f46bf58e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2017-08-15 08:44:27 +00:00
Eike Ziller
d8fd5292f1 Merge remote-tracking branch 'origin/4.4'
Conflicts:
	src/tools/clangbackend/ipcsource/clangiasyncjob.cpp
	src/tools/clangbackend/ipcsource/clangjobrequest.cpp
	src/tools/clangbackend/ipcsource/clangjobrequest.h

Change-Id: Ib8602530663813ade418f995dfd2a736908cfe75
2017-08-15 10:07:51 +02:00
Ivan Donchevskii
e6a50fd44a Clang: implement requestFollowSymbol plug-in side
Invoke follow symbol in clang backend
if env variable QTC_CLANG_FOLLOW_SYMBOL is 1.
Does not include backend implementation.

Change-Id: Ia20a677830ebdd7f24800af5c5d6e8b1bf579205
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-08-15 07:32:16 +00:00
Ivan Donchevskii
4ad0e5295c Clang: add follow symbol infrastructure
Add messages and jobs

Change-Id: I875280216da40ce08d972024789c060205746421
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-08-15 07:32:03 +00:00
hjk
885f8b5385 Debugger: Short-circuit part of the parameter fixup machinery
... which should not exist to start with, and interferes in some
cases where the user code knows better.

Change-Id: Ie0b0038af3a4056fad8655d06f677fc800c99f8d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-14 16:03:25 +00:00
Oliver Wolff
7ab6e345fe Support debug requests from Task Manager
If debugging was started from Task Manager Windows does
not follow the format given in the registry but always uses
"<debugger> -p <pid>".

By ignoring the -p parameter and using "debug" instead of
"wincrashevent" we can also support this use case from QtC's
debugger.

The message which is shown in this case will be adapted as
soon as this change hits master but with the current approach
the situation is greatly improved for 4.4.

Task-number: QTCREATORBUG-18194
Change-Id: I871a19f0cd68f61337d1e6c224ecc3c22a02c989
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-08-14 15:12:40 +00:00
Nikita Baryshnikov
fbbfb0cc6e SshAgent.Request: Initialize member
Change-Id: I4c40e95fedac64697ba22685e7638e78fa816db2
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-14 15:05:14 +00:00
Eike Ziller
89dbe978b1 Merge "Merge remote-tracking branch 'origin/4.3' into 4.4" into 4.4 2017-08-14 14:11:09 +00:00
Nikolai Kosjar
3e9ebc24be Clang: Clean up clangassistproposalitem.cpp
Change-Id: I200041b48a337912e7b3297881db58f7cf1f9b0e
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-08-14 12:51:23 +00:00
Nikolai Kosjar
415d3c4784 Clang: Fix cursor position after completion of overloads
struct Foo {
    void begin();
    void begin() const;
};

void c(Foo &foo)
{
    foo.beg // complete to foo.begin()| instead of foo.begin(|)
}

Task-number: QTCREATORBUG-17443
Change-Id: I60ca16bbfeeb75c5c37a0d5bc6f46e9e9913b86e
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-08-14 12:51:15 +00:00
hjk
e16a30712e Debugger: Re-enable some shutdown cleanup code
It is still needed with LLDB.

Task-number: QTCREATORBUG-18723
Change-Id: If78dcbf8e074add969c403c37193c9f4ce857625
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2017-08-14 12:47:47 +00:00
Nikolai Kosjar
c0364564a4 Clang: Fix highlighting of template function in using declaration
This completes

    commit a3a62e78f7
    Clang: Fix highlighting of function in using declaration

Change-Id: I3c163096374d7a1f45a590bb8ebfe5f5a1f8d417
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-08-14 12:46:43 +00:00
Ulf Hermann
ea21d3fdfb QmlProfiler: Make some QmlProfilerDetailsRewriter members private
Change-Id: I973c77eadf35e814352edaac3992437cf2c4be66
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-14 12:02:06 +00:00
Eike Ziller
b5f49273b0 Merge remote-tracking branch 'origin/4.3' into 4.4
Conflicts:
	src/plugins/qmlprofiler/qmlprofilertraceview.cpp

Change-Id: Ib1d75a8572f650898cb598d008867e2c0514d752
2017-08-14 12:37:06 +02:00
Ulf Hermann
63551d7711 QmlProfiler: Rebuild the flamegraph model when visible features change
This is more expensive than just setting the filtered items' height to
0. However, this way we implicitly also change the size of the root
element, group equal items that end up on the same level by filtering,
recalculate the cutoff for too small items and resort all items by
width.

Change-Id: Ida2c5acd9848c5644ecff052d78e9fe5ad962606
Task-number: QTCREATORBUG-18713
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-14 09:39:59 +00:00
Ulf Hermann
e7c950eb11 QmlProfiler: In statistics use non-recursive time as total
Otherwise the percentages and totals don't match. The extra recursive
time is shown in the tooltip, without percentage (as there wouldn't be a
sensible base value for a percentage number).

Change-Id: I47fcf92aac3f60554219f7da9dd2ac90061ce496
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-14 09:39:50 +00:00
Jake Petroules
0cbb78e464 Fix build
Amends 5e6ff55

Change-Id: Iab56b5d06335ce916cd9381ea7ea58c4f8759116
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2017-08-14 09:19:49 +00:00
Ulf Hermann
6de5650241 QmlJS: Fix initialization order
This avoids some compiler warnings.

Change-Id: I81a626d22d39a2a45c2bf64403b0e28b76e50105
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-08-14 09:18:44 +00:00
Jake Petroules
5e6ff555ab Fix deployment to Windows 10 Mobile devices
Task-number: QTCREATORBUG-18728
Change-Id: Ib04ca8a0a163611bbb53bc50f2e0009ab460ce35
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2017-08-14 06:29:01 +00:00
hjk
78efd5cfe9 ClangStaticAnalyzer: Don't show 'stopped by user' if it wasn't
Task-number: QTCREATORBUG-18581
Change-Id: Ib5d2aded5da14e44f3186a2ed67f119764d6d58d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-08-11 16:11:07 +00:00
Ulf Hermann
afdf0d5ec4 QmlProfiler: Don't add an extra nanosecond to the flame graph bottom
Change-Id: Icda2b69363439de92a012a0cf46b8084b69d777d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-11 11:40:01 +00:00
Robert Loehning
74d14d0092 QmlJs: Initialize members
Change-Id: I15a3ec660608266595a8b7a12b59016cc28331af
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-08-11 10:34:00 +00:00
Thomas Hartmann
2307e10aa2 QmlDesigner: Fix crash
This was introduced when adjusting the selection behaivour.
We have to check for the empty list before we call
itemList.first().

Change-Id: I12a12bc17f1f513304c8df738e76db999267854a
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2017-08-11 10:27:05 +00:00
Thomas Hartmann
aa3270a1e6 QmlDesigner: Fix crash
This was introduced when adjusting the selection behaivour.

When we change to the selection tool we might delete items.
This item could be in itemlist we forward to AbstractFormEditorTool.

Therefore we change to the selection tool after calling
mouseReleaseEvent().

Change-Id: I5cab902b8560780c6ee4edc3466e7087d719f1ef
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2017-08-11 10:26:58 +00:00
Jarek Kobus
6213369675 DiffEditor: Fix saving diff containing new or deleted files
Fix also the case when new file was empty.
Fix some const correctness.

Change-Id: Ied71c3de0398914e595fbf542f1b8ec3659d69b6
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-08-10 16:59:54 +00:00
Jarek Kobus
e3ce4b150d DiffEditor: Optimize patch processing
Get rid of QRegularExpressions, they are very slow.
Simplify readGitPatch() a lot.
Make reading of the patch about 20 times faster,
especially make readGitDiff() itseft (excluding the calls to
readChunks) working about 1000 times faster for huge diffs.
So, the processing time for e.g. the bottom commit of
qttools module (the import commit) decreased from ~20 seconds
to ~1 second.
Implement nice progress of patch reading.

Change-Id: Ie24786596237bde475e37337663018a8bec086bb
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-08-10 16:58:45 +00:00
Ulf Hermann
178ef461bd QmlProfiler: Include qtcfallthrough.h for Q_FALLTHROUGH
Change-Id: Iac3b7ea8314eff6e15c3c4a04a612a8026bf040f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-10 15:59:46 +00:00
hjk
7f87e2af3c DeviceSupport: Implement DesktopDevice::portsGatheringMethod()
The feature is useful in a QtApplicationManager debugging context.

Internally, DeviceUsedPortsGatherer uses a DeviceProcess now,
not an SshRemoteProcess, to cover cases where the (Windows Desktop)
device not have ssh available.

Change-Id: I9d33ceac65a135123a376ebd2727dcb540563179
Reviewed-by: Wolfgang Bremer <wolfgang.bremer@pelagicore.com>
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-10 15:23:07 +00:00
hjk
4048629d1a Qnx: Create slog2 runner processes at more reasonable times
89f02cba2c introduced a regression.

Change-Id: I3ae4ecc7f2dfcd477ffe7a277a87acd90aad5339
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-10 15:22:54 +00:00
hjk
90d152ac07 QmlProfiler: Clean up some includes
Change-Id: Ia4706170b07070e46c62296a806e785d96d2f4ef
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-08-10 14:55:31 +00:00
Ulf Hermann
5dbb4f0907 QmlProfiler: Express record button state in a single function
This way we get a concise description of the inputs it reacts to and we
don't have to dereference the pointer in unrelated code, which lead to
crashes on shutdown.

Change-Id: Ieb75ab95cccc0d1f88420b270909c97867a5c3e0
Reviewed-by: hjk <hjk@qt.io>
2017-08-10 14:41:28 +00:00
Robert Loehning
eb16dd3c79 Utils: Use title case in title bar
Change-Id: If84c417c66ea98b9a75605fe594179b9b93b4715
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2017-08-10 14:34:35 +00:00
hjk
b414b7cd3b QmlProfiler: Merge inferior worker into LocalQmlProfilerSupport
Change-Id: Ie9f9db6ecf2891731e90326b4a27b2d819b1e7ca
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-08-10 13:17:58 +00:00
hjk
a9d2e64517 QmlProfiler: Move TCP connection initialization to runworker's start()
That makes the high level sequence of operation the same as for the
local socket case.

Change-Id: Ib8af2a7826a482e98b75fe00f3c0e672b98886c5
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-08-10 13:13:57 +00:00
hjk
51dd89fc34 QmlProfiler: Remove connection timer
The connection timer was traditionally used in cases where
the application was started without being given a port on the
commandline. These setups do not exist anymore or have been
changed to provide a suitable port on the commandline.

Change-Id: Ib4653e73943819762f0c8162cc13e4da789705a7
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-08-10 13:12:38 +00:00
Ulf Hermann
a8426626d1 QmlProfiler: Fix and extend the local qml profiler runner test
We need to indirectly verify that the profiler support is doing the
right thing by watching the RunControl's state transitions.

Change-Id: I8f92f21022668ed3bb28477152132ccdcffaaea6
Reviewed-by: hjk <hjk@qt.io>
2017-08-10 10:23:39 +00:00
Nikolai Kosjar
f4f240ad43 Debugger: Switch perspective when coming from another mode
Problematic case was:
 1. Run some analyzer (mode switch: edit->debug)
 2. Close project, re-open it (mode switch: debug->edit)
 3. Run analyzer from 1. again
 --> Ops, no mode switch to debug mode (and thus no analyzer view)
     because it's still the same perspective

Task-number: QTCREATORBUG-18549
Change-Id: Iccb1e0629454c1373280a55d6c41410c7161520e
Reviewed-by: hjk <hjk@qt.io>
2017-08-10 10:04:58 +00:00
Ulf Hermann
cca625edea QmlProfiler: Connect to timelabel only after it is created
Change-Id: If9e810cfbd5162f1e40db24db2f8f784accaff4e
Task-number: QTCREATORBUG-18597
Reviewed-by: hjk <hjk@qt.io>
2017-08-10 09:38:40 +00:00
Marco Benelli
73834060d7 QmlJs: fix false positives for properties
Resolve references while looking up for object members.

Task-number: QTCREATORBUG-18362
Change-Id: I9d2b2457fb3488c723a41e4e8ba1fc0ea9fe800f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-08-10 08:08:38 +00:00
Ulf Hermann
e45c6ebe4b QmlProfiler: Stop the recording timer when the time label is destroyed
Writing to the label is all it does, and that crashes if the label is
gone.

Change-Id: I23bbbe0c46603a8de91143ee6167cb404c1b0004
Reviewed-by: hjk <hjk@qt.io>
2017-08-09 14:18:28 +00:00
hjk
c839e86863 ProjectExplorer: Introduce RunWorker::reportDone()
To be used for short-lived tasks to signal that they are done.
Essentially an optional reportStarted() followed by reportStopped()

Using it in GdbServerPortsGatherer when the port list is ready fixes
the wrong "un-stopped" situation in RemoteLinux debugging when
the inferior finishes by itself.

Change-Id: I310831a7875fe6f2c598302b73cda6c9669efb1d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-09 14:12:45 +00:00
Thomas Hartmann
b7507f3a38 QmlDesigner: Some cleanup
Change-Id: Ic89c578474d7cdf1f72a61a91d0cdf32f7b70a7f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-08-09 13:50:12 +00:00
Ulf Hermann
68e8a56b3b ProjectExplorer: Introduce an "essential" flag for RunWorker
An essential RunWorker triggers the whole RunControl to stop if it
spontaneously stops.

Change-Id: Ia05b927e306022e99b45cc8cd7ab9636f4d3c129
Reviewed-by: hjk <hjk@qt.io>
2017-08-09 12:25:11 +00:00
hjk
6f5c5a56db QmlProfiler: reportStopped() only when entering Idle
Change-Id: I291ff6506a16e294165109a89f2acf22d24d7928
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-08-09 12:19:17 +00:00
hjk
4023e56d42 ProjectExplorer: Allow RunWorker::Starting -> Stopping
Can happen on worker startup, e.g. missing binaries, permissions, ...

Change-Id: Ibeee0a6992af80d3486b00890664e83525f17204
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-08-09 12:16:27 +00:00
Andre Hartmann
b97cd4e43a QmlDesigner: Fix compile
Introduced by eb5de6a897

Change-Id: I04b1589af5bea1417a6689b8f30aadd5725e878c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-08-09 12:00:50 +00:00
Ulf Hermann
a62f882c42 ProjectExplorer: If a worker fails while we're stopping, continue
We don't need to re-initiate the stopping.

Change-Id: I2c19dca854c93e0340227d08a381c3bde919363d
Reviewed-by: hjk <hjk@qt.io>
2017-08-09 11:55:07 +00:00
Alessandro Portale
8507f6ae55 ScxmlEditor: Make the Attribute Editor table themable
...by not using hardcoded colors.

Task-number: QTCREATORBUG-18685
Change-Id: Idbe694b4112cb2c7d82738598fb04c68c510c609
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2017-08-09 11:44:28 +00:00
Andre Hartmann
95310b28f3 CamelHumpMatcher: Modernize
* Use QRegularExpression instead QRegExp
* Use range-for instead foreach
* Remove QLatin1String/Char

Change-Id: I27516a4e3ca724c1f3cfab5b729d545547df873f
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-08-09 11:21:34 +00:00
Alessandro Portale
3a195ffb9a QmlDesigner: Remove unneeded margin around the connection view
The other tabs also have no margin.

Change-Id: Ied1cf078b728f9b24d0357c919ac5c41fa3440e9
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-08-09 11:00:11 +00:00