aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-alert-sink.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-11-01 04:02:30 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-11-01 10:54:30 +0800
commit82925c6be94e9e48e4ef521a88a9feec24cf9eef (patch)
tree715d8578cd7b94eda1e7e0ade89057ea4fac5349 /e-util/e-alert-sink.c
parentcce2026f452ec3171a2211fb83651c90e71182a2 (diff)
downloadgsoc2013-evolution-82925c6be94e9e48e4ef521a88a9feec24cf9eef.tar
gsoc2013-evolution-82925c6be94e9e48e4ef521a88a9feec24cf9eef.tar.gz
gsoc2013-evolution-82925c6be94e9e48e4ef521a88a9feec24cf9eef.tar.bz2
gsoc2013-evolution-82925c6be94e9e48e4ef521a88a9feec24cf9eef.tar.lz
gsoc2013-evolution-82925c6be94e9e48e4ef521a88a9feec24cf9eef.tar.xz
gsoc2013-evolution-82925c6be94e9e48e4ef521a88a9feec24cf9eef.tar.zst
gsoc2013-evolution-82925c6be94e9e48e4ef521a88a9feec24cf9eef.zip
Pass an EAlertSink to e_alert_sink_submit_alert().
Passing a random GtkWidget and then searching its ancestors for an EAlertSink turned out to be not as useful as I thought. Most of the time we know about and have access to the widget that implements EAlertSink, so just pass it directly as an EAlertSink.
Diffstat (limited to 'e-util/e-alert-sink.c')
-rw-r--r--e-util/e-alert-sink.c25
1 files changed, 7 insertions, 18 deletions
diff --git a/e-util/e-alert-sink.c b/e-util/e-alert-sink.c
index f26f114c71..2a8db40afb 100644
--- a/e-util/e-alert-sink.c
+++ b/e-util/e-alert-sink.c
@@ -66,35 +66,24 @@ e_alert_sink_default_init (EAlertSinkInterface *interface)
/**
* e_alert_sink_submit_alert:
- * @widget: a #GtkWidget, either itself an #EAlertSink or a child of one
+ * @alert_sink: an #EAlertSink
* @alert: an #EAlert
*
* This function is a place to pass #EAlert objects. Beyond that it has no
* well-defined behavior. It's up to the widget implementing the #EAlertSink
* interface to decide what to do with them.
- *
- * Either @widget or one of its ancestors must implement #EAlertSink.
- *
- * The default behavior is to display the @alert in a dialog.
**/
void
-e_alert_sink_submit_alert (GtkWidget *widget,
+e_alert_sink_submit_alert (EAlertSink *alert_sink,
EAlert *alert)
{
- GtkWidget *ancestor;
+ EAlertSinkInterface *interface;
- g_return_if_fail (GTK_IS_WIDGET (widget));
+ g_return_if_fail (E_IS_ALERT_SINK (alert_sink));
g_return_if_fail (E_IS_ALERT (alert));
- ancestor = gtk_widget_get_ancestor (widget, E_TYPE_ALERT_SINK);
-
- if (E_IS_ALERT_SINK (ancestor)) {
- EAlertSinkInterface *interface;
-
- interface = E_ALERT_SINK_GET_INTERFACE (ancestor);
- g_return_if_fail (interface->submit_alert != NULL);
+ interface = E_ALERT_SINK_GET_INTERFACE (alert_sink);
+ g_return_if_fail (interface->submit_alert != NULL);
- interface->submit_alert (E_ALERT_SINK (ancestor), alert);
- } else
- alert_sink_fallback (widget, alert);
+ interface->submit_alert (alert_sink, alert);
}