From f94a3d904034ab8634dda559547885c5c059888e Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Tue, 15 Mar 2011 16:33:46 +0000 Subject: [PATCH] e17: fix segv in client list menu with sort by class SVN revision: 57766 --- src/bin/e_int_menus.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/bin/e_int_menus.c b/src/bin/e_int_menus.c index 483293cbc..b5e552142 100644 --- a/src/bin/e_int_menus.c +++ b/src/bin/e_int_menus.c @@ -883,15 +883,12 @@ _e_int_menus_clients_group_class_cb(const void *d1, const void *d2) bd1 = d1; bd2 = d2; - if (strcmp((const char*)bd1->client.icccm.class, - (const char*)bd2->client.icccm.class) > 0) + if (!bd1->client.icccm.class) + return -1; + if (!bd2->client.icccm.class) return 1; - if (strcmp((const char*)bd1->client.icccm.class, - (const char*)bd2->client.icccm.class) < 0) - return -1; - - return -1; /* Returning '-1' on equal is intentional */ + return (strcmp(bd1->client.icccm.class, bd2->client.icccm.class) > 0 ? 1 : -1); } static int