From: Philip L. <ph...@ov...> - 2018-03-24 03:50:49
|
Having now seen this event in the wild, it seems useful to propagate it correctly. param1 carries the device property ID, and the client can then respond as appropriate. --- src/libmtp.c | 2 ++ src/libmtp.h.in | 1 + 2 files changed, 3 insertions(+) diff --git a/src/libmtp.c b/src/libmtp.c index e43a54d..0f09138 100644 --- a/src/libmtp.c +++ b/src/libmtp.c @@ -2220,6 +2220,8 @@ void LIBMTP_Handle_Event(PTPContainer *ptp_event, case PTP_EC_DevicePropChanged: LIBMTP_INFO("Received event PTP_EC_DevicePropChanged in session %u\n", session_id); /* TODO: update device properties */ + *event = LIBMTP_EVENT_DEVICE_PROPERTY_CHANGED; + *out1 = param1; break; case PTP_EC_ObjectInfoChanged: LIBMTP_INFO("Received event PTP_EC_ObjectInfoChanged in session %u\n", session_id); diff --git a/src/libmtp.h.in b/src/libmtp.h.in index f538cc5..89d39d9 100644 --- a/src/libmtp.h.in +++ b/src/libmtp.h.in @@ -810,6 +810,7 @@ enum LIBMTP_event_enum { LIBMTP_EVENT_STORE_REMOVED, LIBMTP_EVENT_OBJECT_ADDED, LIBMTP_EVENT_OBJECT_REMOVED, + LIBMTP_EVENT_DEVICE_PROPERTY_CHANGED, }; typedef enum LIBMTP_event_enum LIBMTP_event_t; -- 2.14.1 |