summaryrefslogtreecommitdiffstats
path: root/arch/tde-extra
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2021-09-27 11:04:35 +0200
committerSlávek Banko <slavek.banko@axis.cz>2021-09-29 09:28:05 +0200
commit2d29925004c8a44ccb859659fd9e0e8178590ec5 (patch)
tree4acbc28b43d8db28f650019fcb9001642397258a /arch/tde-extra
parenteb6ab2dae80d22776ea4450d8d525a1d16268247 (diff)
downloadtde-packaging-2d29925004c8a44ccb859659fd9e0e8178590ec5.tar.gz
tde-packaging-2d29925004c8a44ccb859659fd9e0e8178590ec5.zip
ArchLinux tdenetworkmanager: Backport patches to resolve crash.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz> (cherry picked from commit 11e59b1fce93d34b09b24456fe2d690c29a70555)
Diffstat (limited to 'arch/tde-extra')
-rw-r--r--arch/tde-extra/tde-tdenetworkmanager/PKGBUILD16
-rw-r--r--arch/tde-extra/tde-tdenetworkmanager/bp000-ea2b20ed7a.diff78
-rw-r--r--arch/tde-extra/tde-tdenetworkmanager/bp001-e4e7853030.diff121
3 files changed, 213 insertions, 2 deletions
diff --git a/arch/tde-extra/tde-tdenetworkmanager/PKGBUILD b/arch/tde-extra/tde-tdenetworkmanager/PKGBUILD
index 8fb18086e..ce1489353 100644
--- a/arch/tde-extra/tde-tdenetworkmanager/PKGBUILD
+++ b/arch/tde-extra/tde-tdenetworkmanager/PKGBUILD
@@ -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"
diff --git a/arch/tde-extra/tde-tdenetworkmanager/bp000-ea2b20ed7a.diff b/arch/tde-extra/tde-tdenetworkmanager/bp000-ea2b20ed7a.diff
new file mode 100644
index 000000000..22abf310b
--- /dev/null
+++ b/arch/tde-extra/tde-tdenetworkmanager/bp000-ea2b20ed7a.diff
@@ -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);
+ }
diff --git a/arch/tde-extra/tde-tdenetworkmanager/bp001-e4e7853030.diff b/arch/tde-extra/tde-tdenetworkmanager/bp001-e4e7853030.diff
new file mode 100644
index 000000000..887c989f1
--- /dev/null
+++ b/arch/tde-extra/tde-tdenetworkmanager/bp001-e4e7853030.diff
@@ -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();
+