platform: don't clear the whole NMFakePlatformLink

This is necessary for freeing data structures at finalize time.
This commit is contained in:
Pavel Šimerda 2013-05-18 03:43:52 +02:00
parent 8baebadcb5
commit b0c88d7b59

View file

@ -173,15 +173,15 @@ static gboolean
link_delete (NMPlatform *platform, int ifindex)
{
NMFakePlatformLink *device = link_get (platform, ifindex);
NMFakePlatformLink deleted_device;
NMPlatformLink deleted_device;
if (!device)
if (!device || !device->link.ifindex)
return FALSE;
memcpy (&deleted_device, device, sizeof (deleted_device));
memset (device, 0, sizeof (*device));
memcpy (&deleted_device, &device->link, sizeof (deleted_device));
memset (&device->link, 0, sizeof (device->link));
g_signal_emit_by_name (platform, NM_PLATFORM_LINK_REMOVED, ifindex, &deleted_device.link);
g_signal_emit_by_name (platform, NM_PLATFORM_LINK_REMOVED, ifindex, &deleted_device);
return TRUE;
}