ArchLinux tdenetworkmanager: Backport patches to resolve crash.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit 11e59b1fce)
pull/158/head
Slávek Banko 3 years ago
parent eb6ab2dae8
commit 2d29925004
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -14,13 +14,25 @@ makedepends=('pkgconfig' 'cmake')
#conflicts=('tdenetworkmanager')
#replaces=('tdenetworkmanager')
options=('staticlibs' 'libtool' '!strip')
source=("https://mirror.ppa.trinitydesktop.org/trinity/releases/R${pkgver}/main/applications/tdenetworkmanager-trinity-${pkgver}.tar.xz")
md5sums=('2edab1bc48066a52f0b53a19457495a2')
source=(
"https://mirror.ppa.trinitydesktop.org/trinity/releases/R${pkgver}/main/applications/tdenetworkmanager-trinity-${pkgver}.tar.xz"
'bp000-ea2b20ed7a.diff'
'bp001-e4e7853030.diff'
)
md5sums=(
'2edab1bc48066a52f0b53a19457495a2'
'40f95a5c7c02471e629e109aeca86ce3'
'd292626fb10780eb68bbc1a60c1e7ed7'
)
# install=''
[ -n "$TDEDIR" ] || TDEDIR=/opt/trinity
build() {
cd ${srcdir}/${pkgname#*-}-trinity-${pkgver}
patch -p1 < ${srcdir}/bp000-ea2b20ed7a.diff
patch -p1 < ${srcdir}/bp001-e4e7853030.diff
msg "Creating out-of-source build directory: ${srcdir}/build"
mkdir -p "${srcdir}/build"
cd "${srcdir}/build"

@ -0,0 +1,78 @@
commit ea2b20ed7ab3e83b8585e20d2febdbb5f2d356c1
Author: Michele Calgaro <michele.calgaro@yahoo.it>
Date: Mon Aug 2 11:24:50 2021 +0900
Removed unused hardwareEvent code.
Initialization of TDEHardwareDevices() always happens before the signal
was connected. The constructor of TDEHardwareDevices() is the only place
that was triggering the signal emission, so the code was non functional.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
diff --git a/tdenetworkmanager/src/devicetraycomponent.cpp b/tdenetworkmanager/src/devicetraycomponent.cpp
index 5f1f26e..085435c 100644
--- a/tdenetworkmanager/src/devicetraycomponent.cpp
+++ b/tdenetworkmanager/src/devicetraycomponent.cpp
@@ -74,8 +74,6 @@ DeviceTrayComponent::DeviceTrayComponent(TQString device, KSystemTray * parent,
TDEHardwareDevices* hwdevices = TDEGlobal::hardwareDevices();
- // Listen for hardware change events
- connect(hwdevices, TQT_SIGNAL(hardwareEvent(TDEHardwareEvent::TDEHardwareEvent, TQString)), this, TQT_SLOT(tdeHardwareEventHandler(TDEHardwareEvent::TDEHardwareEvent, TQString)));
// Trigger an initial hardware information update
tdeHardwareEventHandler(TDEHardwareEvent::HardwareListModified, TQString::null);
diff --git a/tdenetworkmanager/src/tdenetman-tray.cpp b/tdenetworkmanager/src/tdenetman-tray.cpp
index 9427679..173464f 100644
--- a/tdenetworkmanager/src/tdenetman-tray.cpp
+++ b/tdenetworkmanager/src/tdenetman-tray.cpp
@@ -963,14 +963,6 @@ void Tray::slotGenericDeviceRemoved(TDEGenericDevice *dev)
}
}
-void Tray::slotGenericHardwareEvent(TDEHardwareEvent::TDEHardwareEvent event, TQString)
-{
- if (event == TDEHardwareEvent::HardwareListModified) {
- updateDeviceTrays();
- connectTrayDeviceManager();
- }
-}
-
void Tray::slotVPNEventHandler(TDENetworkVPNEventType::TDENetworkVPNEventType event, TQString message)
{
if (event == TDENetworkVPNEventType::LoginBanner) {
@@ -1094,7 +1086,6 @@ Tray::Tray() : KSystemTray()
// get notified about new/removed devices
connect(hwdevices, TQT_SIGNAL(hardwareAdded(TDEGenericDevice*)), this, TQT_SLOT(slotGenericDeviceAdded(TDEGenericDevice*)));
connect(hwdevices, TQT_SIGNAL(hardwareRemoved(TDEGenericDevice*)), this, TQT_SLOT(slotGenericDeviceRemoved(TDEGenericDevice*)));
- connect(hwdevices, TQT_SIGNAL(hardwareEvent(TDEHardwareEvent::TDEHardwareEvent, TQString)), this, TQT_SLOT(slotGenericHardwareEvent(TDEHardwareEvent::TDEHardwareEvent, TQString)));
// Notifications
connect(TDEGlobal::networkManager(), TQT_SIGNAL(networkConnectionStateChanged(TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags, TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags)), this, TQT_SLOT(slotStateChangedNotify(TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags, TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags)));
diff --git a/tdenetworkmanager/src/tdenetman-tray.h b/tdenetworkmanager/src/tdenetman-tray.h
index d086902..6f4fdea 100644
--- a/tdenetworkmanager/src/tdenetman-tray.h
+++ b/tdenetworkmanager/src/tdenetman-tray.h
@@ -115,7 +115,6 @@ class Tray : public KSystemTray
private slots:
void slotGenericDeviceAdded(TDEGenericDevice*);
void slotGenericDeviceRemoved(TDEGenericDevice*);
- void slotGenericHardwareEvent(TDEHardwareEvent::TDEHardwareEvent, TQString);
void slotVPNEventHandler(TDENetworkVPNEventType::TDENetworkVPNEventType event, TQString message);
private:
diff --git a/tdenetworkmanager/src/tdenetman-wireless_device_tray.cpp b/tdenetworkmanager/src/tdenetman-wireless_device_tray.cpp
index 2d4eccb..9b855ec 100644
--- a/tdenetworkmanager/src/tdenetman-wireless_device_tray.cpp
+++ b/tdenetworkmanager/src/tdenetman-wireless_device_tray.cpp
@@ -487,9 +487,6 @@ WirelessDeviceTray::WirelessDeviceTray (TQString dev, KSystemTray * parent, cons
setPixmapForState(TDENetworkConnectionStatus::Disconnected, "wireless");
setPixmapForState(TDENetworkConnectionStatus::Connected, "nm_signal_50");
- // Listen for hardware change events
- connect(hwdevices, TQT_SIGNAL(hardwareEvent(TDEHardwareEvent::TDEHardwareEvent, TQString)), this, TQT_SLOT(tdeHardwareEventHandler(TDEHardwareEvent::TDEHardwareEvent, TQString)));
-
// Trigger an initial hardware information update
tdeHardwareEventHandler(TDEHardwareEvent::HardwareListModified, TQString::null);
}

@ -0,0 +1,121 @@
commit e4e7853030d8efbf14e5ad6631c4cfb6b3601269
Author: Michele Calgaro <michele.calgaro@yahoo.it>
Date: Mon Aug 2 23:19:04 2021 +0900
Removed unused hardwareEvent code - part 2.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
diff --git a/tdenetworkmanager/src/devicetraycomponent.cpp b/tdenetworkmanager/src/devicetraycomponent.cpp
index 085435c..2ea4e35 100644
--- a/tdenetworkmanager/src/devicetraycomponent.cpp
+++ b/tdenetworkmanager/src/devicetraycomponent.cpp
@@ -75,7 +75,11 @@ DeviceTrayComponent::DeviceTrayComponent(TQString device, KSystemTray * parent,
TDEHardwareDevices* hwdevices = TDEGlobal::hardwareDevices();
// Trigger an initial hardware information update
- tdeHardwareEventHandler(TDEHardwareEvent::HardwareListModified, TQString::null);
+ TDENetworkDevice* dev = dynamic_cast<TDENetworkDevice*>(hwdevices->findByUniqueID(m_device));
+ TDENetworkConnectionManager* deviceConnMan = dev->connectionManager();
+
+ connect(deviceConnMan, TQT_SIGNAL(networkDeviceStateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus, TDENetworkConnectionStatus::TDENetworkConnectionStatus, TQString)), TQT_SLOT(deviceStateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus, TDENetworkConnectionStatus::TDENetworkConnectionStatus, TQString)));
+ connect(deviceConnMan, TQT_SIGNAL(networkDeviceEvent(TDENetworkDeviceEventType::TDENetworkDeviceEventType, TQString)), this, TQT_SLOT(deviceEventHandler(TDENetworkDeviceEventType::TDENetworkDeviceEventType, TQString)));
m_pixmaps[TDENetworkConnectionStatus::Invalid] = "nm_no_connection";
m_pixmaps[TDENetworkConnectionStatus::UnManaged] = "nm_no_connection";
@@ -110,18 +114,6 @@ TQString DeviceTrayComponent::device() const
return m_device;
}
-void DeviceTrayComponent::tdeHardwareEventHandler(TDEHardwareEvent::TDEHardwareEvent event, TQString)
-{
- if (event == TDEHardwareEvent::HardwareListModified) {
- TDEHardwareDevices* hwdevices = TDEGlobal::hardwareDevices();
- TDENetworkDevice* dev = dynamic_cast<TDENetworkDevice*>(hwdevices->findByUniqueID(m_device));
- TDENetworkConnectionManager* deviceConnMan = dev->connectionManager();
-
- connect(deviceConnMan, TQT_SIGNAL(networkDeviceStateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus, TDENetworkConnectionStatus::TDENetworkConnectionStatus, TQString)), TQT_SLOT(deviceStateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus, TDENetworkConnectionStatus::TDENetworkConnectionStatus, TQString)));
- connect(deviceConnMan, TQT_SIGNAL(networkDeviceEvent(TDENetworkDeviceEventType::TDENetworkDeviceEventType, TQString)), this, TQT_SLOT(deviceEventHandler(TDENetworkDeviceEventType::TDENetworkDeviceEventType, TQString)));
- }
-}
-
void DeviceTrayComponent::deviceEventHandler(TDENetworkDeviceEventType::TDENetworkDeviceEventType event, TQString message) {
kdDebug() << "DeviceTrayComponent::deviceEventHandler" << endl;
diff --git a/tdenetworkmanager/src/devicetraycomponent.h b/tdenetworkmanager/src/devicetraycomponent.h
index af0ccea..c3c40e1 100644
--- a/tdenetworkmanager/src/devicetraycomponent.h
+++ b/tdenetworkmanager/src/devicetraycomponent.h
@@ -59,7 +59,6 @@ class DeviceTrayComponent : public TrayComponent
void deviceStateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus, TDENetworkConnectionStatus::TDENetworkConnectionStatus, TQString);
private slots:
- void tdeHardwareEventHandler(TDEHardwareEvent::TDEHardwareEvent, TQString);
void deviceEventHandler(TDENetworkDeviceEventType::TDENetworkDeviceEventType event, TQString message);
protected:
diff --git a/tdenetworkmanager/src/tdenetman-wireless_device_tray.cpp b/tdenetworkmanager/src/tdenetman-wireless_device_tray.cpp
index 9b855ec..8811650 100644
--- a/tdenetworkmanager/src/tdenetman-wireless_device_tray.cpp
+++ b/tdenetworkmanager/src/tdenetman-wireless_device_tray.cpp
@@ -428,25 +428,6 @@ void WirelessDeviceTray::slotAccessPointRemoved(TDEMACAddress)
KNotifyClient::event( tray()->winId(), "tdenm-nm-network-gone", i18n("TDENetworkManager Wireless Network Disappeared") );
}
-void WirelessDeviceTray::tdeHardwareEventHandler(TDEHardwareEvent::TDEHardwareEvent event, TQString)
-{
- if (event == TDEHardwareEvent::HardwareListModified) {
- TDENetworkDevice* dev = dynamic_cast<TDENetworkDevice*>(hwdevices->findByUniqueID(d->dev));
- TDENetworkConnectionManager* deviceConnMan = (dev)?dev->connectionManager():NULL;
-
- // get notified when the device state changes
- connect(deviceConnMan, TQT_SIGNAL(networkDeviceStateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus, TDENetworkConnectionStatus::TDENetworkConnectionStatus, TQString)), this, TQT_SLOT(slotUpdateDeviceState(TDENetworkConnectionStatus::TDENetworkConnectionStatus, TDENetworkConnectionStatus::TDENetworkConnectionStatus, TQString)));
-
- // get notified of all AP changes
- connect(deviceConnMan, TQT_SIGNAL(accessPointStatusChanged(TDEMACAddress, TDENetworkAPEventType::TDENetworkAPEventType)), this, TQT_SLOT(tdeAccessPointStatusChangedHandler(TDEMACAddress, TDENetworkAPEventType::TDENetworkAPEventType)));
-
- // force status update to ensure correct icon is shown on startup
- if ((dev) && (deviceConnMan)) {
- slotUpdateDeviceState(deviceConnMan->deviceInformation().statusFlags, TDENetworkConnectionStatus::Invalid, dev->deviceNode());
- }
- }
-}
-
void WirelessDeviceTray::tdeAccessPointStatusChangedHandler(TDEMACAddress BSSID, TDENetworkAPEventType::TDENetworkAPEventType event) {
TDENetworkDevice* dev = dynamic_cast<TDENetworkDevice*>(hwdevices->findByUniqueID(d->dev));
TDENetworkConnectionManager* deviceConnMan = dev->connectionManager();
@@ -487,8 +468,20 @@ WirelessDeviceTray::WirelessDeviceTray (TQString dev, KSystemTray * parent, cons
setPixmapForState(TDENetworkConnectionStatus::Disconnected, "wireless");
setPixmapForState(TDENetworkConnectionStatus::Connected, "nm_signal_50");
- // Trigger an initial hardware information update
- tdeHardwareEventHandler(TDEHardwareEvent::HardwareListModified, TQString::null);
+ // initial hardware information update
+ TDENetworkDevice* netdev = dynamic_cast<TDENetworkDevice*>(hwdevices->findByUniqueID(d->dev));
+ TDENetworkConnectionManager* deviceConnMan = (netdev)?netdev->connectionManager():NULL;
+
+ // get notified when the device state changes
+ connect(deviceConnMan, TQT_SIGNAL(networkDeviceStateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus, TDENetworkConnectionStatus::TDENetworkConnectionStatus, TQString)), this, TQT_SLOT(slotUpdateDeviceState(TDENetworkConnectionStatus::TDENetworkConnectionStatus, TDENetworkConnectionStatus::TDENetworkConnectionStatus, TQString)));
+
+ // get notified of all AP changes
+ connect(deviceConnMan, TQT_SIGNAL(accessPointStatusChanged(TDEMACAddress, TDENetworkAPEventType::TDENetworkAPEventType)), this, TQT_SLOT(tdeAccessPointStatusChangedHandler(TDEMACAddress, TDENetworkAPEventType::TDENetworkAPEventType)));
+
+ // force status update to ensure correct icon is shown on startup
+ if ((netdev) && (deviceConnMan)) {
+ slotUpdateDeviceState(deviceConnMan->deviceInformation().statusFlags, TDENetworkConnectionStatus::Invalid, netdev->deviceNode());
+ }
}
WirelessDeviceTray::~WirelessDeviceTray ()
diff --git a/tdenetworkmanager/src/tdenetman-wireless_device_tray.h b/tdenetworkmanager/src/tdenetman-wireless_device_tray.h
index 59a24a1..eb429b9 100644
--- a/tdenetworkmanager/src/tdenetman-wireless_device_tray.h
+++ b/tdenetworkmanager/src/tdenetman-wireless_device_tray.h
@@ -66,7 +66,6 @@ class WirelessDeviceTray : public DeviceTrayComponent
void slotAccessPointRemoved(TDEMACAddress);
private slots:
- void tdeHardwareEventHandler(TDEHardwareEvent::TDEHardwareEvent, TQString);
void tdeAccessPointStatusChangedHandler(TDEMACAddress, TDENetworkAPEventType::TDENetworkAPEventType);
void sendUpdateUI();
Loading…
Cancel
Save