From 9fd9fdac25054ca09a827a745f1e3e93b1902e04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E6=9C=8B=E7=A8=8B?= Date: Wed, 7 Dec 2022 13:14:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DDBus=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E5=8F=98=E5=8C=96=E6=97=B6=E4=B8=8D=E8=83=BD=E5=8F=8A=E6=97=B6?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit qt可能不支持属性变化时自动通知,采用手动触发的方式实现 Log: 修复DBus属性变化时不能及时通知的问题 Influence: DBus属性变化通知,对功能暂无实际影响 Change-Id: I72cffae2dcfe8f29bed40ff15c2bbcf699848975 --- frame/dbus/dbusdockadaptors.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/frame/dbus/dbusdockadaptors.cpp b/frame/dbus/dbusdockadaptors.cpp index 70b115326..abce11017 100644 --- a/frame/dbus/dbusdockadaptors.cpp +++ b/frame/dbus/dbusdockadaptors.cpp @@ -16,6 +16,16 @@ DBusDockAdaptors::DBusDockAdaptors(MainWindow* parent) { connect(parent, &MainWindow::panelGeometryChanged, this, [=] { emit DBusDockAdaptors::geometryChanged(geometry()); + + // 手动触发PropertiesChanged信号,可能是qt不支持属性自动触发 + QDBusMessage msg = QDBusMessage::createSignal("/com/deepin/dde/Dock", "org.freedesktop.DBus.Properties", "PropertiesChanged"); + QList arguments; + arguments.push_back("com.deepin.dde.Dock"); + QVariantMap changedProps; + changedProps.insert("geometry", geometry()); + arguments.push_back(changedProps); + msg.setArguments(arguments); + QDBusConnection::connectToBus(QDBusConnection::SessionBus, "com.deepin.dde.Dock").send(msg); }); if (m_gsettings) {