This fixes a regression introduced in a8ebf535b829dac. We shouldn't
send watcher evaluation commands while the QML engine hasn't actually
stopped, because this might lead to an assert on the server side.
Task-number: QTCREATORBUG-13916
Change-Id: I300e2f73c0a1a03e0e6187a5357abeba408f72a0
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
The actual data is now in a TreeModel. As interface to
individual breakpoints there's a new Breakpoint class
essentially providing a checked handle.
On the user code side breakHandler()->foo(bpId) is
replaced by bp.foo().
Change-Id: I82f435bad6301fce85a1d82bf6bf39e9ddba511e
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Fix syncing of watch expressions with Qt Quick 2. For v8/v4 we're
utilizing the 'evaluate' command, which we have to re-send on every
change to get updates. We therefore now call synchronizeWatchers()
whenever the stack changes.
Task-number: QTCREATORBUG-13473
Change-Id: I7356e9518a719839c5cbb6e518be18e665078e85
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
... and some of the related implementation details
Change-Id: I1f03aa5acf2d3fb2cfc2a6a7845f3d3578b0408d
Reviewed-by: David Schulz <david.schulz@digia.com>
Move some function out of the DebuggerCore "namespace", to avoid one
indirection and removes clutter in the calling code.
Change-Id: I1c870d5c7eeade32fa63dedf581490fbb090cd6a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Move item model implementation to private, adjust user code.
Change-Id: Ifbe94e7c7b9b1e8be1b4c531958dbd7a9413af13
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Use the lowest QDataStream version common to both the server and client.
The server part was added to Qt 5.0 (commit 7f7cd79e), but we haven't
used that yet.
THis fixes a regression in the inspector where only some properties are
shown.
Task-number: QTCREATORBUG-10186
Change-Id: If6699eb7261e480587f6a21d54fb6b6107669b8f
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
A lot of our build system files specify unneeded include
paths. These roughly fall into the following categories:
a) Paths that are already set in more general files
such as qtcreator.pri.
b) Paths that serve no purpose at all, possibly
left over from earlier versions of the project.
c) Paths that act as workarounds for wrong include
statements of the form '#include "xyz.h"', where
xyz.h is not in the same directory as the including
file.
This patch removes such path specifications and fixes the offending
include statements from case c).
Tested on Linux, Windows and OSX with qmake and qbs.
Change-Id: I039a8449f8a65df0d616b4c08081145c18ae4b15
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
And move to using the corresponding method in document model.
Change-Id: I80b12ceab8a91c5393b9c0422d660a8896ae09d8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Since EditorManager::openedEditors doesn't exactly do what one would
expect, it was only marking a single editor even if there were multiple
editors on the same document.
Change-Id: Iae579c2cfd8455de2783d39fa69944fe92dfc60a
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
When constructing the console item tree, check for
duplicate entries.
Change-Id: Ibc5aa150287ef5e2ee4b691a71bb170308a1fde7
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The queried v8 object sometimes returns a child item that
refers to itself triggering an infinite recursion.
Task-number: QTCREATORBUG-9747
Change-Id: I30dfbb834ebeb39c33a6050d4b4860b1b47f34d9
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
That is what it actually is, wrt how Qt API calls it.
Change-Id: Ied02055debf6aad75556b0d9d22e8ba2f72be555
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
The watch data model is cleared on every debug step. Hence,
tracking of expanded watch data is lost. Now, we keep track
of expanded watch data when stepping. However, we still lose
track of this data on a scope/stack change.
Task-number: QTCREATORBUG-8901
Change-Id: I1dc609cae1c3a36d8320864f71336b655eaa09d1
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
#!/usr/bin/env ruby
Dir.glob('**/*.cpp') { |file|
# skip ast (excluding paste, astpath, and canv'ast'imer)
next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
s = File.read(file)
next if s.include?('qlalr')
orig = s.dup
s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
res = $&
if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
res
else
res.gsub!('} else', 'else')
res.gsub!(/\n +} *\n/m, "\n")
res.gsub(/ *{$/, '')
end
}
s.gsub!(/ *$/, '')
File.open(file, 'wb').write(s) if s != orig
}
Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
The watchhandler needs to be reset for locals before
inserting the values of a new frame. Also the DebuggerTooltipManager
needs to be notified. The values of the locals in the
LocalsAndExpressions window should be editable.
Task-number: QTCREATORBUG-7992
Change-Id: I556e23b408db09b510f1f2bc350ff55187ec87c2
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
The console is now a part of qmljstools plugin. The console
appears as an output pane. A dummy QScriptEngine evaluates
expressions when a declarative debug session is not in
progress. During a debug session, the expressions are
evaluated by the debug services.
Task-Number: QTCREATORBUG-7402
Change-Id: Ic2eeac44fb335c706be03b89f8672b0356efe984
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
Version specific snippets were introduced to
avoid incompatibilities during Qt5 development.
Change-Id: I60fa9beafc9d55b687c08e13cdf531baecb10fbb
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
They are deprecated in Qt 5. Use fromLatin1() and toLatin1() instead. In
Qt 5, these always do the same thing as their "Ascii" counterparts. The
same goes for Qt 4, provided QTextCodec::setCodecForCStrings has not
been set, which it hasn't.
Change-Id: I04edeb376762b6671eff8156094f0d5e2cb8e1ea
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Fix gdmi escape routine by using a traits class to adapt
QByteArray/QString.
Change-Id: Ic6d2a0c927e4613aec9f69095bbb04a393e9edb9
Reviewed-by: hjk <qthjk@ovi.com>
- Compile with QT_NO_CAST_FROM_ASCII.
- Remove single character string constants.
Change-Id: Icece98619b6c30e047d3fce00e6ae74bbcd53c67
Reviewed-by: hjk <qthjk@ovi.com>