diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c index 3af5b6bbb..26465efa3 100644 --- a/camlibs/ptp2/ptp-pack.c +++ b/camlibs/ptp2/ptp-pack.c @@ -2599,10 +2599,15 @@ ptp_unpack_CANON_changes (PTPParams *params, unsigned char* data, unsigned int d */ proptype = PTP_DPC_CANON_EOS_Aperture; dpd = _lookup_or_allocate_canon_prop(params, proptype); - if (olcver >= 0x12) - dpd->CurrentValue.u16 = curdata[curoff+7]; /* CHECK */ - else + if (olcver >= 0x12) { + if (olcver == 0x13) { + dpd->CurrentValue.u16 = curdata[curoff+7]; /* R5 */ + } else { + dpd->CurrentValue.u16 = curdata[curoff+5]; /* CHECK */ + } + } else { dpd->CurrentValue.u16 = curdata[curoff+4]; /* just use last byte */ + } ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_PROPERTY; ce[i].u.propid = proptype;