44std::string printfToString(
const char *format, ...)
49 auto dryVsnprintfResult = std::vsnprintf(
nullptr, 0, format, ap);
52 if (dryVsnprintfResult < 0)
53 qOhosReportFatalErrorAndAbort(
"String formatting with format '%s' failed: %d", format, dryVsnprintfResult);
55 auto outputSize =
static_cast<
std::size_t>(dryVsnprintfResult);
57 std::string output(outputSize + 1,
'\0');
60 auto vsnprintfResult = std::vsnprintf(&output[0], output.size(), format, ap);
63 if (vsnprintfResult < 0)
64 qOhosReportFatalErrorAndAbort(
"String formatting with format '%s' failed: %d", format, vsnprintfResult);
66 output.resize(outputSize);
77 QtOhos::
JsState &jsState, std::optional<QtOhos::QObjectThreadSafeRef> optInstanceMainWindowRef)
79 if (!optInstanceMainWindowRef.has_value())
80 return jsState.defaultQAbility();
82 auto optQAbility = jsState.tryGetQAbilityByQWindow(optInstanceMainWindowRef.value());
85 QtForOhos,
"%s: QAbility for window '%s' no longer exists",
86 Q_FUNC_INFO, optInstanceMainWindowRef.value().refName().c_str());