diff options
author | Conor Curran <conor.curran@canonical.com> | 2010-09-14 18:21:02 +0100 |
---|---|---|
committer | Conor Curran <conor.curran@canonical.com> | 2010-09-14 18:21:02 +0100 |
commit | 484518d33c44914196f85c19b92f3fac07d1b2e0 (patch) | |
tree | 7d7322dbcdba2987b5c515377ecee1daec032876 /src/dbus-menu-manager.c | |
parent | edb20cb04d9f977c7ddf70f6edc707546e2997c0 (diff) | |
download | ayatana-indicator-sound-484518d33c44914196f85c19b92f3fac07d1b2e0.tar.gz ayatana-indicator-sound-484518d33c44914196f85c19b92f3fac07d1b2e0.tar.bz2 ayatana-indicator-sound-484518d33c44914196f85c19b92f3fac07d1b2e0.zip |
indicator should handle any service problems gracefully
Diffstat (limited to 'src/dbus-menu-manager.c')
-rw-r--r-- | src/dbus-menu-manager.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/dbus-menu-manager.c b/src/dbus-menu-manager.c index 5ea561f..222affa 100644 --- a/src/dbus-menu-manager.c +++ b/src/dbus-menu-manager.c @@ -50,8 +50,11 @@ static gdouble volume_percent = 0.0; static void set_global_mute_from_ui(); static gboolean idle_routine (gpointer data); -static void rebuild_sound_menu(DbusmenuMenuitem *root, SoundServiceDbus *service); +static void rebuild_sound_menu(DbusmenuMenuitem *root, + SoundServiceDbus *service); static void refresh_menu(); +static void remove_previous_children(gpointer obj, gpointer user_data); + /*-------------------------------------------------------------------------*/ // Public Methods @@ -71,10 +74,22 @@ DbusmenuMenuitem* dbus_menu_manager_setup() DbusmenuServer *server = dbusmenu_server_new(INDICATOR_SOUND_DBUS_OBJECT); dbusmenu_server_set_root(server, root_menuitem); + + /*GList* previous_children = dbusmenu_menuitem_get_children(root_menuitem); + if(previous_children != NULL){ + g_list_foreach(previous_children, remove_previous_children, NULL); + }*/ establish_pulse_activities(dbus_interface); return root_menuitem; } +/*static void remove_previous_children(gpointer obj, gpointer user_data) +{ + DbusmenuMenuitem *child = (DbusmenuMenuitem*)obj; + if(child != NULL){ + dbusmenu_menuitem_child_delete(root_menuitem, child); + } +}*/ void dbus_menu_manager_update_volume(gdouble volume) { @@ -213,7 +228,7 @@ static void rebuild_sound_menu(DbusmenuMenuitem *root, SoundServiceDbus *service // Sound preferences dialog DbusmenuMenuitem *settings_mi = dbusmenu_menuitem_new(); dbusmenu_menuitem_property_set(settings_mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Sound Preferences...")); -//_("Sound Preferences...")); + //_("Sound Preferences...")); dbusmenu_menuitem_child_append(root, settings_mi); g_signal_connect(G_OBJECT(settings_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(show_sound_settings_dialog), NULL); |