diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2010-11-01 04:02:30 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-11-01 10:54:30 +0800 |
commit | 82925c6be94e9e48e4ef521a88a9feec24cf9eef (patch) | |
tree | 715d8578cd7b94eda1e7e0ade89057ea4fac5349 /e-util/e-alert-sink.c | |
parent | cce2026f452ec3171a2211fb83651c90e71182a2 (diff) | |
download | gsoc2013-evolution-82925c6be94e9e48e4ef521a88a9feec24cf9eef.tar.gz 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.c | 25 |
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); } |