diff options
Diffstat (limited to 'xf86drmMode.c')
-rw-r--r-- | xf86drmMode.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/xf86drmMode.c b/xf86drmMode.c index 56762217..7f3bc5e8 100644 --- a/xf86drmMode.c +++ b/xf86drmMode.c | |||
@@ -1174,10 +1174,8 @@ int drmModePropertySetAdd(drmModePropertySetPtr set, | |||
1174 | 1174 | ||
1175 | /* keep it sorted by object_id and property_id */ | 1175 | /* keep it sorted by object_id and property_id */ |
1176 | while (prev->next) { | 1176 | while (prev->next) { |
1177 | if (prev->next->object_id > object_id) { | 1177 | if (prev->next->object_id > object_id) |
1178 | new_obj = true; | ||
1179 | break; | 1178 | break; |
1180 | } | ||
1181 | 1179 | ||
1182 | if (prev->next->object_id == object_id && | 1180 | if (prev->next->object_id == object_id && |
1183 | prev->next->property_id >= property_id) | 1181 | prev->next->property_id >= property_id) |
@@ -1186,8 +1184,8 @@ int drmModePropertySetAdd(drmModePropertySetPtr set, | |||
1186 | prev = prev->next; | 1184 | prev = prev->next; |
1187 | } | 1185 | } |
1188 | 1186 | ||
1189 | if (!prev->next && | 1187 | if ((prev == &set->list || prev->object_id != object_id) && |
1190 | (prev == &set->list || prev->object_id != object_id)) | 1188 | (!prev->next || prev->next->object_id != object_id)) |
1191 | new_obj = true; | 1189 | new_obj = true; |
1192 | 1190 | ||
1193 | /* replace or add? */ | 1191 | /* replace or add? */ |
@@ -1236,10 +1234,8 @@ int drmModePropertySetAddBlob(drmModePropertySetPtr set, | |||
1236 | 1234 | ||
1237 | /* keep it sorted by object_id and property_id */ | 1235 | /* keep it sorted by object_id and property_id */ |
1238 | while (prev->next) { | 1236 | while (prev->next) { |
1239 | if (prev->next->object_id > object_id) { | 1237 | if (prev->next->object_id > object_id) |
1240 | new_obj = true; | ||
1241 | break; | 1238 | break; |
1242 | } | ||
1243 | 1239 | ||
1244 | if (prev->next->object_id == object_id && | 1240 | if (prev->next->object_id == object_id && |
1245 | prev->next->property_id >= property_id) | 1241 | prev->next->property_id >= property_id) |
@@ -1248,8 +1244,8 @@ int drmModePropertySetAddBlob(drmModePropertySetPtr set, | |||
1248 | prev = prev->next; | 1244 | prev = prev->next; |
1249 | } | 1245 | } |
1250 | 1246 | ||
1251 | if (!prev->next && | 1247 | if ((prev == &set->list || prev->object_id != object_id) && |
1252 | (prev == &set->list || prev->object_id != object_id)) | 1248 | (!prev->next || prev->next->object_id != object_id)) |
1253 | new_obj = true; | 1249 | new_obj = true; |
1254 | 1250 | ||
1255 | /* replace or add? */ | 1251 | /* replace or add? */ |