diff options
author | Zandr Martin <zandrmartin+git@gmail.com> | 2016-06-02 15:48:14 -0500 |
---|---|---|
committer | Zandr Martin <zandrmartin+git@gmail.com> | 2016-06-02 15:48:14 -0500 |
commit | 9ccc92705ef428d6486fd9173e5029c594798919 (patch) | |
tree | 6ccc4143129cdfe354aa01f80c80deff1cca4ca4 /include | |
parent | 09670fc1a7485d75774c184fcbf8e907b9481aaa (diff) | |
download | sway-9ccc92705ef428d6486fd9173e5029c594798919.tar.xz |
implement stable sort for lists
also change sort_workspaces() to use it
Diffstat (limited to 'include')
-rw-r--r-- | include/list.h | 3 | ||||
-rw-r--r-- | include/output.h | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/include/list.h b/include/list.h index b2e26f95..f478b6bb 100644 --- a/include/list.h +++ b/include/list.h @@ -20,5 +20,6 @@ void list_qsort(list_t *list, int compare(const void *left, const void *right)); // Return index for first item in list that returns 0 for given compare // function or -1 if none matches. int list_seq_find(list_t *list, int compare(const void *item, const void *cmp_to), const void *cmp_to); - +// stable sort since qsort is not guaranteed to be stable +void list_stable_sort(list_t *list, int compare(const void *a, const void *b)); #endif diff --git a/include/output.h b/include/output.h index 12bc478f..10c5bb53 100644 --- a/include/output.h +++ b/include/output.h @@ -16,7 +16,7 @@ void get_absolute_position(swayc_t *container, struct wlc_point *point); // given wlc_point. void get_absolute_center_position(swayc_t *container, struct wlc_point *point); -int sort_workspace_cmp_qsort(const void *a, const void *b); +// stable sort workspaces on this output void sort_workspaces(swayc_t *output); #endif |