aboutsummaryrefslogtreecommitdiff
path: root/src/sound-service-dbus.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sound-service-dbus.c')
-rw-r--r--src/sound-service-dbus.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/sound-service-dbus.c b/src/sound-service-dbus.c
index 1b9d29e..d0fd765 100644
--- a/src/sound-service-dbus.c
+++ b/src/sound-service-dbus.c
@@ -164,13 +164,10 @@ sound_service_dbus_build_sound_menu ( SoundServiceDbus* self,
{
SoundServiceDbusPrivate * priv = SOUND_SERVICE_DBUS_GET_PRIVATE(self);
- // Mute button
- // TODO this additions should be fixed position, i.e. add via position and not just append
- // be explicit as it is fixed.
- dbusmenu_menuitem_child_append (priv->root_menuitem, mute_item);
- dbusmenu_menuitem_child_append (priv->root_menuitem, slider_item);
- g_debug ("just about to add the slider %i", DBUSMENU_IS_MENUITEM(slider_item));
- dbusmenu_menuitem_child_append (priv->root_menuitem, voip_input_menu_item);
+ // Mute, Volume and Voip widgets
+ dbusmenu_menuitem_child_add_position (priv->root_menuitem, mute_item, 0);
+ dbusmenu_menuitem_child_add_position (priv->root_menuitem, slider_item, 1);
+ dbusmenu_menuitem_child_add_position (priv->root_menuitem, voip_input_menu_item, 2);
// Separator
DbusmenuMenuitem* separator = dbusmenu_menuitem_new();
@@ -178,7 +175,7 @@ sound_service_dbus_build_sound_menu ( SoundServiceDbus* self,
dbusmenu_menuitem_property_set (separator,
DBUSMENU_MENUITEM_PROP_TYPE,
DBUSMENU_CLIENT_TYPES_SEPARATOR);
- dbusmenu_menuitem_child_append(priv->root_menuitem, separator);
+ dbusmenu_menuitem_child_add_position (priv->root_menuitem, separator, 3);
g_object_unref (separator);
// Sound preferences dialog
@@ -203,7 +200,8 @@ show_sound_settings_dialog (DbusmenuMenuitem *mi,
{
GError * error = NULL;
if (!g_spawn_command_line_async("gnome-volume-control --page=applications", &error) &&
- !g_spawn_command_line_async("xfce4-mixer", &error))
+ !g_spawn_command_line_async("gnome-control-center sound", &error) &&
+ !g_spawn_command_line_async("xfce4-mixer", &error))
{
g_warning("Unable to show dialog: %s", error->message);
g_error_free(error);
@@ -237,6 +235,13 @@ sound_service_dbus_update_sound_state (SoundServiceDbus* self,
GError * error = NULL;
+ if (priv->connection == NULL ||
+ g_dbus_connection_is_closed (priv->connection) == TRUE){
+ g_critical ("sound_service_dbus_update_sound_state - connection is %s !!",
+ priv->connection == NULL? "NULL" : "closed");
+ return;
+ }
+
g_debug ("emitting state signal with value %i", (int)new_state);
g_dbus_connection_emit_signal( priv->connection,
NULL,
@@ -246,9 +251,8 @@ sound_service_dbus_update_sound_state (SoundServiceDbus* self,
v_output,
&error );
if (error != NULL) {
- g_error("Unable to emit signal 'sinkinputwhilemuted' because : %s", error->message);
+ g_critical ("Unable to emit signal because : %s", error->message);
g_error_free(error);
- return;
}
}