static void preview_selection_changed_cb (GtkTreeSelection *selection, EWebViewPreview *preview) { GtkTreeIter iter; GtkTreeModel *model = NULL; gboolean found = FALSE; g_return_if_fail (selection != NULL); g_return_if_fail (preview != NULL); g_return_if_fail (fill_preview_func != NULL); if (gtk_tree_selection_get_selected (selection, &model, &iter) && model) { CamelMimeMessage *msg = NULL; gtk_tree_model_get (model, &iter, 2, &msg, -1); if (msg) { found = TRUE; fill_preview_func (G_OBJECT (preview), msg); g_object_unref (msg); } } if (!found) { e_web_view_preview_begin_update (preview); e_web_view_preview_end_update (preview); } }
static void preview_selection_changed_cb (GtkTreeSelection *selection, EWebViewPreview *preview) { GtkTreeIter iter; GtkTreeModel *model = NULL; g_return_if_fail (selection != NULL); g_return_if_fail (preview != NULL); e_web_view_preview_begin_update (preview); if (gtk_tree_selection_get_selected (selection, &model, &iter) && model) { EContact *contact = NULL; gtk_tree_model_get (model, &iter, 1, &contact, -1); if (contact) { preview_contact (preview, contact); g_object_unref (contact); } } e_web_view_preview_end_update (preview); }