From 08527ef3872bdc9adf29b0daf8e3313866d5dad5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Tue, 11 Aug 2026 13:43:34 -0700 Subject: [PATCH 1/2] SourceList: don't subclass sealed Gtk.CellRendererPixbuf --- src/SourceList/SourceList.vala | 32 +++++--------------------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/src/SourceList/SourceList.vala b/src/SourceList/SourceList.vala index 6ed1ac2aa..c817134e1 100644 --- a/src/SourceList/SourceList.vala +++ b/src/SourceList/SourceList.vala @@ -952,30 +952,6 @@ public class Mail.SourceList : Gtk.ScrolledWindow { } } - /** - * Class responsible for rendering Item.icon and Item.activatable. It also - * notifies about clicks through the activated() signal. - */ - private class CellRendererIcon : Gtk.CellRendererPixbuf { - public signal void activated (string path); - - construct { - mode = Gtk.CellRendererMode.ACTIVATABLE; - } - - public override bool activate ( - Gdk.Event event, - Gtk.Widget widget, - string path, - Gdk.Rectangle background_area, - Gdk.Rectangle cell_area, - Gtk.CellRendererState flags - ) { - activated (path); - return true; - } - } - /** * A cell renderer that only adds space. */ @@ -1052,7 +1028,7 @@ public class Mail.SourceList : Gtk.ScrolledWindow { private Gtk.CellRendererText text_cell; private Gtk.EventControllerKey key_controller; private Gtk.GestureMultiPress button_controller; - private CellRendererIcon icon_cell; + private Gtk.CellRendererPixbuf icon_cell; private CellRendererBadge badge_cell; private CellRendererExpander primary_expander_cell; private CellRendererExpander secondary_expander_cell; @@ -1096,7 +1072,9 @@ public class Mail.SourceList : Gtk.ScrolledWindow { text_cell.editing_started.connect (on_editing_started); text_cell.editing_canceled.connect (on_editing_canceled); - icon_cell = new CellRendererIcon (); + icon_cell = new Gtk.CellRendererPixbuf() { + mode = ACTIVATABLE + }; // First expander. Used for normal expandable items primary_expander_cell = new CellRendererExpander () { @@ -1731,7 +1709,7 @@ public class Mail.SourceList : Gtk.ScrolledWindow { Gtk.CellRenderer renderer, Gtk.TreeModel model, Gtk.TreeIter iter ) { - var icon_renderer = renderer as CellRendererIcon; + var icon_renderer = renderer as Gtk.CellRendererPixbuf; assert (icon_renderer != null); bool visible = false; From 768d238c27a6f83d67fbd58af62e3bc18a0f6fce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Tue, 11 Aug 2026 15:48:15 -0700 Subject: [PATCH 2/2] Update SourceList.vala Co-authored-by: Ryo Nakano --- src/SourceList/SourceList.vala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SourceList/SourceList.vala b/src/SourceList/SourceList.vala index c817134e1..68ee71110 100644 --- a/src/SourceList/SourceList.vala +++ b/src/SourceList/SourceList.vala @@ -1072,7 +1072,7 @@ public class Mail.SourceList : Gtk.ScrolledWindow { text_cell.editing_started.connect (on_editing_started); text_cell.editing_canceled.connect (on_editing_canceled); - icon_cell = new Gtk.CellRendererPixbuf() { + icon_cell = new Gtk.CellRendererPixbuf () { mode = ACTIVATABLE };