aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libempathy-gtk/empathy-call-utils.c2
-rw-r--r--libempathy-gtk/empathy-ui-utils.c3
-rw-r--r--src/empathy-call-window.c7
3 files changed, 9 insertions, 3 deletions
diff --git a/libempathy-gtk/empathy-call-utils.c b/libempathy-gtk/empathy-call-utils.c
index 399647a62..adf4987ba 100644
--- a/libempathy-gtk/empathy-call-utils.c
+++ b/libempathy-gtk/empathy-call-utils.c
@@ -55,6 +55,8 @@ get_error_display_message (GError *error)
return _("The specified contact is not valid");
case TP_ERROR_EMERGENCY_CALLS_NOT_SUPPORTED:
return _("Emergency calls are not supported on this protocol");
+ case TP_ERROR_INSUFFICIENT_BALANCE:
+ return _("You don't have enough credit in order to place this call");
}
return _("There was an error starting the call");
diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c
index 3fde9e3e1..32ad451a1 100644
--- a/libempathy-gtk/empathy-ui-utils.c
+++ b/libempathy-gtk/empathy-ui-utils.c
@@ -947,6 +947,9 @@ empathy_filename_from_icon_name (const gchar *icon_name,
}
icon_info = gtk_icon_theme_lookup_icon (icon_theme, icon_name, size, 0);
+ if (icon_info == NULL)
+ return NULL;
+
ret = g_strdup (gtk_icon_info_get_filename (icon_info));
gtk_icon_info_free (icon_info);
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index 0a130c4f8..2a92e9471 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -2260,13 +2260,14 @@ empathy_call_window_constructed (GObject *object)
EmpathyCallWindow *self = EMPATHY_CALL_WINDOW (object);
EmpathyCallWindowPriv *priv = GET_PRIV (self);
TpyCallChannel *call;
+ TpyCallState state;
g_assert (priv->handler != NULL);
g_object_get (priv->handler, "call-channel", &call, NULL);
- priv->outgoing = (call == NULL);
- if (call != NULL)
- g_object_unref (call);
+ state = tpy_call_channel_get_state (call, NULL, NULL);
+ priv->outgoing = (state == TPY_CALL_STATE_PENDING_INITIATOR);
+ tp_clear_object (&call);
g_object_get (priv->handler, "target-contact", &priv->contact, NULL);
g_assert (priv->contact != NULL);