bool ok = dbusConnection.connect( "com.canonical.QtMir", "/com/canonical/QtMir/Clipboard", "com.canonical.QtMir.Clipboard", "ContentsChanged",
this, SLOT(updateMimeData(QByteArray)));
if (!ok) { qCritical("UbuntuClipboard - Failed to connect to ContentsChanged signal form the D-Bus system clipboard.");
}
mDBusClipboard = new QDBusInterface("com.canonical.QtMir", "/com/canonical/QtMir/Clipboard", "com.canonical.QtMir.Clipboard", dbusConnection);
QtUbuntu only tries to connect to dbus when app requests contents of the clipboard for the first time, and not at startup.
Testing a simple QML file with qtubuntu, it works fine without a dbus service running.
If application does this at startup, qtubuntu may be a source of a crash, quoting the relevant code:
void UbuntuClipboard ::setupDBus( ) ::sessionBus( );
{
QDBusConnection dbusConnection = QDBusConnection
bool ok = dbusConnection. connect(
"com. canonical. QtMir",
"/ com/canonical/ QtMir/Clipboard ",
"com. canonical. QtMir.Clipboard ",
"ContentsC hanged" , Data(QByteArray )));
qCritical( "UbuntuClipboar d - Failed to connect to ContentsChanged signal form the D-Bus system clipboard.");
this, SLOT(updateMime
if (!ok) {
}
mDBusClipboard = new QDBusInterface( "com.canonical. QtMir",
"/ com/canonical/ QtMir/Clipboard ",
"com. canonical. QtMir.Clipboard ",
dbusConnec tion);
mDBusSetupDone = true;
}
Will consider that as an enhancement.