================ @@ -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 lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits