aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'xf86drmMode.c')
-rw-r--r--xf86drmMode.c16
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? */