This is an automated email from the git hooks/post-receive script.

bluesabre pushed a 
commit to branch 
master
in repository panel-plugins/xfce4-pulseaudio-plugin.

commit 75dea85c5bdea320e263e58263a8e955a274a203
Author: Sean Davis <[email protected]>
Date:   Sat Sep 9 10:41:31 2017 -0400

    Sort device lists
---
 panel-plugin/pulseaudio-menu.c   |  2 ++
 panel-plugin/pulseaudio-volume.c | 31 +++++++++++++++++++++++++++++--
 2 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/panel-plugin/pulseaudio-menu.c b/panel-plugin/pulseaudio-menu.c
index f10650b..1bfee9a 100644
--- a/panel-plugin/pulseaudio-menu.c
+++ b/panel-plugin/pulseaudio-menu.c
@@ -507,6 +507,8 @@ pulseaudio_menu_new (PulseaudioVolume *volume,
   }
   g_list_free (sources);
 
+  group = NULL;
+
   /* Input Devices */
   sources = pulseaudio_volume_get_input_list (menu->volume);
   if (g_list_length (sources) > 0) {
diff --git a/panel-plugin/pulseaudio-volume.c b/panel-plugin/pulseaudio-volume.c
index ce73b0c..3abcbc5 100644
--- a/panel-plugin/pulseaudio-volume.c
+++ b/panel-plugin/pulseaudio-volume.c
@@ -805,11 +805,31 @@ pulseaudio_volume_set_volume_mic (PulseaudioVolume 
*volume,
 
 
 
+static gint
+sort_device_list (gchar *a,
+                  gchar *b,
+                  void  *hash_table)
+{
+  GHashTable *table = (GHashTable *)hash_table;
+  gchar      *a_val = (gchar *) g_hash_table_lookup (table, a);
+  gchar      *b_val = (gchar *) g_hash_table_lookup (table, b);
+  return g_strcmp0 (a_val, b_val);
+}
+
+
+
 GList *
 pulseaudio_volume_get_output_list (PulseaudioVolume *volume)
 {
+  GList *list;
+  GList *sorted;
+
   g_return_if_fail (IS_PULSEAUDIO_VOLUME (volume));
-  return g_hash_table_get_keys (volume->sinks);
+
+  list = g_hash_table_get_keys (volume->sinks);
+  sorted = g_list_sort_with_data (list, (GCompareDataFunc) sort_device_list, 
volume->sinks);
+
+  return sorted;
 }
 
 
@@ -827,8 +847,15 @@ pulseaudio_volume_get_output_by_name (PulseaudioVolume 
*volume,
 GList *
 pulseaudio_volume_get_input_list (PulseaudioVolume *volume)
 {
+  GList *list;
+  GList *sorted;
+
   g_return_if_fail (IS_PULSEAUDIO_VOLUME (volume));
-  return g_hash_table_get_keys (volume->sources);
+
+  list = g_hash_table_get_keys (volume->sources);
+  sorted = g_list_sort_with_data (list, (GCompareDataFunc) sort_device_list, 
volume->sources);
+
+  return sorted;
 }
 
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.
_______________________________________________
Xfce4-commits mailing list
[email protected]
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to