forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.10' into 4.11
Change-Id: Iad66b08f8d6d7f14319674ae6bb26cdba43b3bfa
This commit is contained in:
57
dist/changes-4.10.1.md
vendored
Normal file
57
dist/changes-4.10.1.md
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
# Qt Creator 4.10.1
|
||||
|
||||
Qt Creator version 4.10.1 contains bug fixes.
|
||||
|
||||
The most important changes are listed in this document. For a complete
|
||||
list of changes, see the Git log for the Qt Creator sources that
|
||||
you can check out from the public Git repository. For example:
|
||||
|
||||
git clone git://code.qt.io/qt-creator/qt-creator.git
|
||||
git log --cherry-pick --pretty=oneline origin/v4.10.0..v4.10.1
|
||||
|
||||
## Editing
|
||||
|
||||
* Fixed file saving with some text encodings
|
||||
* Fixed `Preserve case` in advanced search and replace (QTCREATORBUG-19696)
|
||||
* Fixed crash when changing editor font (QTCREATORBUG-22933)
|
||||
|
||||
## Help
|
||||
|
||||
* Fixed that text moved around when resizing and zooming (QTCREATORBUG-4756)
|
||||
|
||||
## Debugging
|
||||
|
||||
* Fixed more layout restoration issues (QTCREATORBUG-22286, QTCREATORBUG-22938)
|
||||
|
||||
### LLDB
|
||||
|
||||
* Fixed wrong empty command line argument when debugging (QTCREATORBUG-22975)
|
||||
|
||||
## Qt Quick Designer
|
||||
|
||||
* Removed transformations from list of unsupported types
|
||||
* Fixed update of animation curve editor
|
||||
|
||||
## Platform Specific
|
||||
|
||||
### macOS
|
||||
|
||||
* Fixed window stacking order after closing file dialog (QTCREATORBUG-22906)
|
||||
|
||||
## Credits for these changes go to:
|
||||
|
||||
Aleksei German
|
||||
Alexander Akulich
|
||||
Andre Hartmann
|
||||
André Pönitz
|
||||
Christian Stenger
|
||||
David Schulz
|
||||
Eike Ziller
|
||||
Knud Dollereder
|
||||
Leena Miettinen
|
||||
Lisandro Damián Nicanor Pérez Meyer
|
||||
Nikolai Kosjar
|
||||
Orgad Shaneh
|
||||
Richard Weickelt
|
||||
Thomas Hartmann
|
||||
|
@@ -83,6 +83,7 @@ class Dumper(DumperBase):
|
||||
# 'communication', 'unwind', 'commands'])
|
||||
#self.debugger.EnableLog('lldb', ['all'])
|
||||
self.debugger.Initialize()
|
||||
self.debugger.SetAsync(True)
|
||||
self.debugger.HandleCommand('settings set auto-confirm on')
|
||||
|
||||
# FIXME: warn('DISABLING DEFAULT FORMATTERS')
|
||||
@@ -863,10 +864,7 @@ class Dumper(DumperBase):
|
||||
pass
|
||||
else:
|
||||
if self.useTerminal_:
|
||||
self.ignoreStops = 2
|
||||
else:
|
||||
if self.useTerminal_:
|
||||
self.ignoreStops = 1
|
||||
self.ignoreStops = 1
|
||||
|
||||
if self.platform_:
|
||||
self.debugger.SetCurrentPlatform(self.platform_)
|
||||
@@ -895,7 +893,6 @@ class Dumper(DumperBase):
|
||||
|
||||
def prepare(self, args):
|
||||
error = lldb.SBError()
|
||||
listener = self.debugger.GetListener()
|
||||
|
||||
if self.attachPid_ > 0:
|
||||
attachInfo = lldb.SBAttachInfo(self.attachPid_)
|
||||
@@ -948,18 +945,23 @@ class Dumper(DumperBase):
|
||||
if self.target is not None:
|
||||
broadcaster = self.target.GetBroadcaster()
|
||||
listener = self.debugger.GetListener()
|
||||
broadcaster.AddListener(listener, lldb.SBProcess.eBroadcastBitStateChanged)
|
||||
listener.StartListeningForEvents(broadcaster, lldb.SBProcess.eBroadcastBitStateChanged)
|
||||
broadcaster.AddListener(listener, lldb.SBTarget.eBroadcastBitBreakpointChanged)
|
||||
listener.StartListeningForEvents(broadcaster, lldb.SBTarget.eBroadcastBitBreakpointChanged)
|
||||
|
||||
|
||||
def loop(self):
|
||||
event = lldb.SBEvent()
|
||||
broadcaster = self.target.GetBroadcaster()
|
||||
listener = self.debugger.GetListener()
|
||||
while True:
|
||||
if listener.WaitForEvent(10000000, event):
|
||||
sys.stdout.flush() # IMPORTANT! to receive process state changes with lldb 1100
|
||||
while listener.GetNextEvent(event):
|
||||
self.handleEvent(event)
|
||||
else:
|
||||
warn('TIMEOUT')
|
||||
if listener.WaitForEventForBroadcaster(0, broadcaster, event):
|
||||
self.handleEvent(event)
|
||||
|
||||
|
||||
def describeError(self, error):
|
||||
desc = lldb.SBStream()
|
||||
@@ -1301,6 +1303,10 @@ class Dumper(DumperBase):
|
||||
if lldb.SBBreakpoint.EventIsBreakpointEvent(event):
|
||||
self.handleBreakpointEvent(event)
|
||||
return
|
||||
if not lldb.SBProcess.EventIsProcessEvent(event):
|
||||
warn("UNEXPECTED event (%s)" % event.GetType())
|
||||
return
|
||||
|
||||
out = lldb.SBStream()
|
||||
event.GetDescription(out)
|
||||
#warn("EVENT: %s" % event)
|
||||
@@ -1793,7 +1799,7 @@ class Dumper(DumperBase):
|
||||
expr = self.parseAndEvaluate(expr)
|
||||
self.qqEditable[typeName](self, expr, value)
|
||||
else:
|
||||
lhs.SetValueFromCString(value, error)
|
||||
self.parseAndEvaluate(expr + '=' + value)
|
||||
self.reportResult(self.describeError(error), args)
|
||||
|
||||
def watchPoint(self, args):
|
||||
|
@@ -1,11 +1,11 @@
|
||||
{
|
||||
\"Name\" : \"%PluginName%\",
|
||||
\"Version\" : \"0.0.1\",
|
||||
\"CompatVersion\" : \"0.0.1\",
|
||||
\"Vendor\" : \"%VendorName%\",
|
||||
\"Copyright\" : \"%Copyright%\",
|
||||
\"License\" : \"%License%\",
|
||||
\"Description\" : \"%Description%\",
|
||||
\"Url\" : \"%URL%\",
|
||||
\\"Name\\" : \\"%PluginName%\\",
|
||||
\\"Version\\" : \\"0.0.1\\",
|
||||
\\"CompatVersion\\" : \\"0.0.1\\",
|
||||
\\"Vendor\\" : \\"%VendorName%\\",
|
||||
\\"Copyright\\" : \\"%Copyright%\\",
|
||||
\\"License\\" : \\"%License%\\",
|
||||
\\"Description\\" : \\"%Description%\\",
|
||||
\\"Url\\" : \\"%URL%\\",
|
||||
$$dependencyList
|
||||
}
|
||||
|
@@ -553,6 +553,7 @@ void PerspectivePrivate::resetPerspective()
|
||||
} else {
|
||||
op.setupLayout();
|
||||
op.dock->setVisible(op.visibleByDefault);
|
||||
theMainWindow->d->m_persistentChangedDocks.remove(op.name());
|
||||
qCDebug(perspectivesLog) << "SETTING " << op.name()
|
||||
<< " TO ACTIVE: " << op.visibleByDefault;
|
||||
}
|
||||
@@ -937,12 +938,10 @@ void PerspectivePrivate::restoreLayout()
|
||||
qCDebug(perspectivesLog) << "PERSPECTIVE STATE AVAILABLE BY FULL ID.";
|
||||
}
|
||||
|
||||
if (state.isEmpty()) {
|
||||
qCDebug(perspectivesLog) << "PERSPECTIVE " << m_id << "RESTORE NOT POSSIBLE, NO STORED STATE";
|
||||
} else {
|
||||
bool result = theMainWindow->restoreState(state);
|
||||
qCDebug(perspectivesLog) << "PERSPECTIVE " << m_id << "RESTORED. SUCCESS: " << result;
|
||||
}
|
||||
// The order is important here: While QMainWindow can restore layouts with
|
||||
// not-existing docks (some placeholders are used internally), later
|
||||
// replacements with restoreDockWidget(dock) trigger a re-layout, resulting
|
||||
// in different sizes. So make sure all docks exist first before restoring state.
|
||||
|
||||
qCDebug(perspectivesLog) << "PERSPECTIVE" << m_id << "RESTORING LAYOUT FROM " << settingsId();
|
||||
for (DockOperation &op : m_dockOperations) {
|
||||
@@ -955,6 +954,13 @@ void PerspectivePrivate::restoreLayout()
|
||||
<< (active == op.visibleByDefault ? "DEFAULT USER" : "*** NON-DEFAULT USER");
|
||||
}
|
||||
}
|
||||
|
||||
if (state.isEmpty()) {
|
||||
qCDebug(perspectivesLog) << "PERSPECTIVE " << m_id << "RESTORE NOT POSSIBLE, NO STORED STATE";
|
||||
} else {
|
||||
bool result = theMainWindow->restoreState(state);
|
||||
qCDebug(perspectivesLog) << "PERSPECTIVE " << m_id << "RESTORED, SUCCESS: " << result;
|
||||
}
|
||||
}
|
||||
|
||||
void PerspectivePrivate::saveLayout()
|
||||
|
Submodule src/shared/qbs updated: 8c290c624d...94fe404a5a
Reference in New Issue
Block a user