[balsa/wip/gtk4: 278/351] mime-widget-text: The "draw" signal has gone away



commit 87458145da1a5d9a3b822d9963b91b6e59c2caa1
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Fri Apr 13 13:08:49 2018 -0400

    mime-widget-text: The "draw" signal has gone away
    
    We would like to create cite-bars at "draw" time, but that signal has
    been removed. Connecting to "realize" or "map" seems to be too early in
    the process, as the cite-bars are not drawn. Using an idle handler gets
    them shown, so we'll use that fix. There may be a slight delay between
    the message being rendered and the cite-bars being added to it, but for
    now it seems to be a necessary price to pay.

 src/balsa-mime-widget-text.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)
---
diff --git a/src/balsa-mime-widget-text.c b/src/balsa-mime-widget-text.c
index 4a68617..9795bc7 100644
--- a/src/balsa-mime-widget-text.c
+++ b/src/balsa-mime-widget-text.c
@@ -116,9 +116,7 @@ static void bm_widget_on_url(const gchar *url);
 static void phrase_highlight(GtkTextBuffer * buffer, const gchar * id,
                             gunichar tag_char, const gchar * property,
                             gint value);
-static gboolean draw_cite_bars(GtkWidget * widget,
-                               cairo_t   * cr,
-                               gpointer    user_data);
+static gboolean draw_cite_bars(gpointer    user_data);
 static gchar *check_text_encoding(BalsaMessage * bm, gchar *text_buf);
 static void fill_text_buf_cited(BalsaMimeWidgetText *mwt,
                                 GtkWidget           *widget,
@@ -1030,15 +1028,13 @@ draw_cite_bar_real(cite_bar_t * bar, BalsaMimeWidgetText * mwt)
 
 
 static gboolean
-draw_cite_bars(GtkWidget * widget,
-               cairo_t   * cr,
-               gpointer    user_data)
+draw_cite_bars(gpointer user_data)
 {
     BalsaMimeWidgetText *mwt = user_data;
 
     g_list_foreach(mwt->cite_bar_list, (GFunc) draw_cite_bar_real, mwt);
 
-    return FALSE;
+    return G_SOURCE_REMOVE;
 }
 
 
@@ -1465,7 +1461,7 @@ fill_text_buf_cited(BalsaMimeWidgetText *mwt,
 
     /* add list of citation bars (if any) */
     if (mwt->cite_bar_list != NULL) {
-        g_signal_connect_after(widget, "draw", G_CALLBACK(draw_cite_bars), mwt);
+        g_idle_add(draw_cite_bars, mwt);
     }
 
     if (rex != NULL)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]