diff --git a/plugins/tasklist/tasklist-widget.c b/plugins/tasklist/tasklist-widget.c index 0bce1b6..3e52d55 100644 --- a/plugins/tasklist/tasklist-widget.c +++ b/plugins/tasklist/tasklist-widget.c @@ -2208,6 +2208,12 @@ xfce_tasklist_button_compare (gconstpointer child_a, if (G_UNLIKELY (exo_str_is_empty (name_b))) name_b = wnck_window_get_name (b->window); + /* wnck*_get_name() may fail and return NULL (bug 7076) */ + if (G_UNLIKELY (!name_a)) + name_a = ""; + if (G_UNLIKELY (!name_b)) + name_b = ""; + retval = strcasecmp (name_a, name_b); if (retval != 0) return retval; @@ -2231,14 +2237,16 @@ xfce_tasklist_button_compare (gconstpointer child_a, name_a = wnck_window_get_name (a->window); else if (a->class_group != NULL) name_a = wnck_class_group_get_name (a->class_group); - else - name_a = ""; if (b->window != NULL) name_b = wnck_window_get_name (b->window); else if (b->class_group != NULL) name_b = wnck_class_group_get_name (b->class_group); - else + + /* wnck*_get_name() may fail and return NULL (bug 7076) */ + if (G_UNLIKELY (!name_a)) + name_a = ""; + if (G_UNLIKELY (!name_b)) name_b = ""; return strcasecmp (name_a, name_b);