From f59cd876ad6dd96fbb2f9ec3377bc90a064b8555 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 2 May 2025 12:39:24 +0000 Subject: [PATCH] Cleanup: ensure logically correct sort callback (id_order_compare) Ref: !138299 --- source/blender/blenkernel/intern/lib_id.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/blender/blenkernel/intern/lib_id.cc b/source/blender/blenkernel/intern/lib_id.cc index b1b31664d5c..b8b0e4e3f18 100644 --- a/source/blender/blenkernel/intern/lib_id.cc +++ b/source/blender/blenkernel/intern/lib_id.cc @@ -2527,6 +2527,10 @@ static bool id_order_compare(ID *a, ID *b) int *order_a = id_order_get(a); int *order_b = id_order_get(b); + /* In practice either both or neither are set, + * failing to do this would result in a logically invalid sort function, see #137712. */ + BLI_assert((order_a && order_b) || (!order_a && !order_b)); + if (order_a && order_b) { if (*order_a < *order_b) { return true;