================
@@ -428,14 +453,35 @@ void ProgressEventThreadFunction(DAP &dap) {
done = true;
}
} else {
- uint64_t progress_id = 0;
- uint64_t completed = 0;
- uint64_t total = 0;
- bool is_debugger_specific = false;
- const char *message = lldb::SBDebugger::GetProgressFromEvent(
- event, progress_id, completed, total, is_debugger_specific);
- if (message)
- dap.SendProgressEvent(progress_id, message, completed, total);
+ lldb::SBStructuredData data =
+ lldb::SBDebugger::GetProgressDataFromEvent(event);
+
+ const uint64_t progress_id =
+ GetUintFromStructuredData(data, "progress_id");
+ const uint64_t completed = GetUintFromStructuredData(data,
"completed");
+ const uint64_t total = GetUintFromStructuredData(data, "total");
+ const std::string details =
+ GetStringFromStructuredData(data, "details");
+
+ // If we're only creating and sending on progress event, we send
+ // the title and the detail as a single message.
+ if (completed == 0 && total == 1) {
----------------
clayborg wrote:
restructure as:
```
if (completed == 0) {
if (total == 1) {
// This progress is non deterministic and won't get updated until it is
completed.
// Send the "message" which will be the combined title and detail. The only
other
// progress event for thus non deterministic progress will be the completed
event
// So there will be no need to update the detail.
const std::string message = ...
} else {
// This progress is deterministic and will receive updates. On the first
event...
}
}
```
https://github.com/llvm/llvm-project/pull/124648
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits