Revision b1ee5829
b/hw/qdev.c | ||
---|---|---|
767 | 767 |
DeviceClass *dc = DEVICE_GET_CLASS(dev); |
768 | 768 |
BusState *bus; |
769 | 769 |
QObject *event_data; |
770 |
gchar *path = object_get_canonical_path(obj);
|
|
770 |
bool have_realized = dev->realized;
|
|
771 | 771 |
|
772 | 772 |
while (dev->num_child_bus) { |
773 | 773 |
bus = QLIST_FIRST(&dev->child_bus); |
... | ... | |
787 | 787 |
dev->parent_bus = NULL; |
788 | 788 |
} |
789 | 789 |
|
790 |
if (dev->id) { |
|
791 |
event_data = qobject_from_jsonf("{ 'device': %s, 'path': %s }", |
|
792 |
dev->id, path); |
|
793 |
} else { |
|
794 |
event_data = qobject_from_jsonf("{ 'path': %s }", path); |
|
790 |
/* Only send event if the device had been completely realized */ |
|
791 |
if (have_realized) { |
|
792 |
gchar *path = object_get_canonical_path(OBJECT(dev)); |
|
793 |
|
|
794 |
if (dev->id) { |
|
795 |
event_data = qobject_from_jsonf("{ 'device': %s, 'path': %s }", |
|
796 |
dev->id, path); |
|
797 |
} else { |
|
798 |
event_data = qobject_from_jsonf("{ 'path': %s }", path); |
|
799 |
} |
|
800 |
monitor_protocol_event(QEVENT_DEVICE_DELETED, event_data); |
|
801 |
qobject_decref(event_data); |
|
802 |
g_free(path); |
|
795 | 803 |
} |
796 |
monitor_protocol_event(QEVENT_DEVICE_DELETED, event_data); |
|
797 |
qobject_decref(event_data); |
|
798 |
g_free(path); |
|
799 | 804 |
} |
800 | 805 |
|
801 | 806 |
static void device_class_init(ObjectClass *class, void *data) |
Also available in: Unified diff