From 9d31cbaa2dc2efb77d174134156b612072d6bf0b Mon Sep 17 00:00:00 2001 From: Eric Caruso Date: Wed, 17 Jun 2020 16:19:07 -0700 Subject: [PATCH] mm-kernel-device: give cmp a total order This allows MMKernelDevice::cmp to compare two kernel devices with different object types, which means that subclasses can continue to only handle comparisons with their own type. The order may not be stable across builds. --- src/kerneldevice/mm-kernel-device.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/kerneldevice/mm-kernel-device.c b/src/kerneldevice/mm-kernel-device.c index abe0ddd0..fa865394 100644 --- a/src/kerneldevice/mm-kernel-device.c +++ b/src/kerneldevice/mm-kernel-device.c @@ -203,6 +203,9 @@ mm_kernel_device_cmp (MMKernelDevice *a, g_return_val_if_fail (MM_IS_KERNEL_DEVICE (a), FALSE); g_return_val_if_fail (MM_IS_KERNEL_DEVICE (b), FALSE); + if (G_OBJECT_TYPE (a) != G_OBJECT_TYPE (b)) + return G_OBJECT_TYPE (a) < G_OBJECT_TYPE (b); + return (MM_KERNEL_DEVICE_GET_CLASS (a)->cmp ? MM_KERNEL_DEVICE_GET_CLASS (a)->cmp (a, b) : FALSE);