diff --git a/src/debug_console.cpp b/src/debug_console.cpp index 1cab7aa299..f4aae74246 100644 --- a/src/debug_console.cpp +++ b/src/debug_console.cpp @@ -572,20 +572,21 @@ static QString sourceString(const AbstractDataSource *const source) return QString(); } - if (!source->client()) { - return QStringLiteral("XWayland source"); - } - - const QString executable = waylandServer()->display()->getConnection(source->client())->executablePath(); + if (source->client()) { + const QString executable = waylandServer()->display()->getConnection(source->client())->executablePath(); + + if (auto dataSource = qobject_cast(source)) { + return QStringLiteral("wl_data_source@%1 of %2").arg(wl_resource_get_id(dataSource->resource())).arg(executable); + } else if (qobject_cast(source)) { + return QStringLiteral("zwp_primary_selection_source_v1 of %2").arg(executable); + } else if (qobject_cast(source)) { + return QStringLiteral("data control by %1").arg(executable); + } - if (auto dataSource = qobject_cast(source)) { - return QStringLiteral("wl_data_source@%1 of %2").arg(wl_resource_get_id(dataSource->resource())).arg(executable); - } else if (qobject_cast(source)) { - return QStringLiteral("zwp_primary_selection_source_v1 of %2").arg(executable); - } else if (qobject_cast(source)) { - return QStringLiteral("data control by %1").arg(executable); + return QStringLiteral("unknown source of").arg(executable); } - return QStringLiteral("unknown source of").arg(executable); + + return QStringLiteral("%1(0x%2)").arg(source->metaObject()->className()).arg(qulonglong(source), 0, 16); } DebugConsole::DebugConsole()