[geary/mjog/fix-build-warnings: 1/2] client: Ensure all `[GtkChild]` properties/fields are unowned




commit ef9613b9f2e43b2286f2667a1bc776642af38f50
Author: Michael Gratton <mike vee net>
Date:   Sun Feb 7 10:18:46 2021 +1100

    client: Ensure all `[GtkChild]` properties/fields are unowned
    
    See GNOME/vala#1121

 src/client/accounts/accounts-editor-add-pane.vala  | 33 +++------
 src/client/accounts/accounts-editor-edit-pane.vala | 27 +++-----
 src/client/accounts/accounts-editor-list-pane.vala | 27 +++-----
 .../accounts/accounts-editor-servers-pane.vala     | 24 +++----
 src/client/accounts/accounts-editor.vala           |  6 +-
 .../application/application-main-window.vala       | 53 +++++---------
 .../components/components-attachment-pane.vala     | 18 ++---
 .../components-conversation-action-bar.vala        |  9 ++-
 .../components/components-in-app-notification.vala |  6 +-
 src/client/components/components-info-bar.vala     | 12 ++--
 .../components-inspector-error-view.vala           |  3 +-
 .../components/components-inspector-log-view.vala  | 18 ++---
 .../components-inspector-system-view.vala          |  3 +-
 src/client/components/components-inspector.vala    | 21 ++----
 .../components/components-placeholder-pane.vala    |  9 +--
 src/client/components/folder-popover.vala          |  6 +-
 src/client/components/main-toolbar.vala            | 27 +++-----
 src/client/composer/composer-editor.vala           | 30 ++++----
 src/client/composer/composer-headerbar.vala        | 20 ++----
 src/client/composer/composer-link-popover.vala     | 12 ++--
 src/client/composer/composer-widget.vala           | 29 ++++----
 .../conversation-contact-popover.vala              | 36 ++++------
 .../conversation-viewer/conversation-email.vala    | 18 ++---
 .../conversation-viewer/conversation-message.vala  | 81 +++++++++-------------
 .../conversation-viewer/conversation-viewer.vala   | 33 +++------
 .../dialogs/dialogs-problem-details-dialog.vala    |  9 +--
 26 files changed, 203 insertions(+), 367 deletions(-)
---
diff --git a/src/client/accounts/accounts-editor-add-pane.vala 
b/src/client/accounts/accounts-editor-add-pane.vala
index 1cc2192db..647711f47 100644
--- a/src/client/accounts/accounts-editor-add-pane.vala
+++ b/src/client/accounts/accounts-editor-add-pane.vala
@@ -35,38 +35,27 @@ internal class Accounts.EditorAddPane : Gtk.Grid, EditorPane {
     private Geary.Engine engine;
 
 
-    [GtkChild]
-    private Gtk.HeaderBar header;
+    [GtkChild] private unowned Gtk.HeaderBar header;
 
-    [GtkChild]
-    private Gtk.Grid pane_content;
+    [GtkChild] private unowned Gtk.Grid pane_content;
 
-    [GtkChild]
-    private Gtk.Adjustment pane_adjustment;
+    [GtkChild] private unowned Gtk.Adjustment pane_adjustment;
 
-    [GtkChild]
-    private Gtk.ListBox details_list;
+    [GtkChild] private unowned Gtk.ListBox details_list;
 
-    [GtkChild]
-    private Gtk.Grid receiving_panel;
+    [GtkChild] private unowned Gtk.Grid receiving_panel;
 
-    [GtkChild]
-    private Gtk.ListBox receiving_list;
+    [GtkChild] private unowned Gtk.ListBox receiving_list;
 
-    [GtkChild]
-    private Gtk.Grid sending_panel;
+    [GtkChild] private unowned Gtk.Grid sending_panel;
 
-    [GtkChild]
-    private Gtk.ListBox sending_list;
+    [GtkChild] private unowned Gtk.ListBox sending_list;
 
-    [GtkChild]
-    private Gtk.Button create_button;
+    [GtkChild] private unowned Gtk.Button create_button;
 
-    [GtkChild]
-    private Gtk.Button back_button;
+    [GtkChild] private unowned Gtk.Button back_button;
 
-    [GtkChild]
-    private Gtk.Spinner create_spinner;
+    [GtkChild] private unowned Gtk.Spinner create_spinner;
 
     private NameRow real_name;
     private EmailRow email = new EmailRow();
diff --git a/src/client/accounts/accounts-editor-edit-pane.vala 
b/src/client/accounts/accounts-editor-edit-pane.vala
index 405dc7bac..cdecb7ac6 100644
--- a/src/client/accounts/accounts-editor-edit-pane.vala
+++ b/src/client/accounts/accounts-editor-edit-pane.vala
@@ -37,35 +37,26 @@ internal class Accounts.EditorEditPane :
     /** {@inheritDoc} */
     protected weak Accounts.Editor editor { get; set; }
 
-    [GtkChild]
-    private Gtk.HeaderBar header;
+    [GtkChild] private unowned Gtk.HeaderBar header;
 
-    [GtkChild]
-    private Gtk.Grid pane_content;
+    [GtkChild] private unowned Gtk.Grid pane_content;
 
-    [GtkChild]
-    private Gtk.Adjustment pane_adjustment;
+    [GtkChild] private unowned Gtk.Adjustment pane_adjustment;
 
-    [GtkChild]
-    private Gtk.ListBox details_list;
+    [GtkChild] private unowned Gtk.ListBox details_list;
 
-    [GtkChild]
-    private Gtk.ListBox senders_list;
+    [GtkChild] private unowned Gtk.ListBox senders_list;
 
-    [GtkChild]
-    private Gtk.Frame signature_frame;
+    [GtkChild] private unowned Gtk.Frame signature_frame;
 
     private SignatureWebView signature_preview;
     private bool signature_changed = false;
 
-    [GtkChild]
-    private Gtk.ListBox settings_list;
+    [GtkChild] private unowned Gtk.ListBox settings_list;
 
-    [GtkChild]
-    private Gtk.Button undo_button;
+    [GtkChild] private unowned Gtk.Button undo_button;
 
-    [GtkChild]
-    private Gtk.Button remove_button;
+    [GtkChild] private unowned Gtk.Button remove_button;
 
 
     public EditorEditPane(Editor editor, Geary.AccountInformation account) {
diff --git a/src/client/accounts/accounts-editor-list-pane.vala 
b/src/client/accounts/accounts-editor-list-pane.vala
index 824d74c30..c156eeaff 100644
--- a/src/client/accounts/accounts-editor-list-pane.vala
+++ b/src/client/accounts/accounts-editor-list-pane.vala
@@ -59,32 +59,23 @@ internal class Accounts.EditorListPane : Gtk.Grid, EditorPane, CommandPane {
         }
     }
 
-    [GtkChild]
-    private Gtk.HeaderBar header;
+    [GtkChild] private unowned Gtk.HeaderBar header;
 
-    [GtkChild]
-    private Gtk.Grid pane_content;
+    [GtkChild] private unowned Gtk.Grid pane_content;
 
-    [GtkChild]
-    private Gtk.Adjustment pane_adjustment;
+    [GtkChild] private unowned Gtk.Adjustment pane_adjustment;
 
-    [GtkChild]
-    private Gtk.Grid welcome_panel;
+    [GtkChild] private unowned Gtk.Grid welcome_panel;
 
-    [GtkChild]
-    private Gtk.Image welcome_icon;
+    [GtkChild] private unowned Gtk.Image welcome_icon;
 
-    [GtkChild]
-    private Gtk.ListBox accounts_list;
+    [GtkChild] private unowned Gtk.ListBox accounts_list;
 
-    [GtkChild]
-    private Gtk.Frame accounts_list_frame;
+    [GtkChild] private unowned Gtk.Frame accounts_list_frame;
 
-    [GtkChild]
-    private Gtk.Label add_service_label;
+    [GtkChild] private unowned Gtk.Label add_service_label;
 
-    [GtkChild]
-    private Gtk.ListBox service_list;
+    [GtkChild] private unowned Gtk.ListBox service_list;
 
     private Gee.Map<Geary.AccountInformation,EditorEditPane> edit_pane_cache =
         new Gee.HashMap<Geary.AccountInformation,EditorEditPane>();
diff --git a/src/client/accounts/accounts-editor-servers-pane.vala 
b/src/client/accounts/accounts-editor-servers-pane.vala
index 54476264b..558bc9bcc 100644
--- a/src/client/accounts/accounts-editor-servers-pane.vala
+++ b/src/client/accounts/accounts-editor-servers-pane.vala
@@ -52,29 +52,21 @@ internal class Accounts.EditorServersPane :
         new Gee.LinkedList<Components.Validator>();
 
 
-    [GtkChild]
-    private Gtk.HeaderBar header;
+    [GtkChild] private unowned Gtk.HeaderBar header;
 
-    [GtkChild]
-    private Gtk.Grid pane_content;
+    [GtkChild] private unowned Gtk.Grid pane_content;
 
-    [GtkChild]
-    private Gtk.Adjustment pane_adjustment;
+    [GtkChild] private unowned Gtk.Adjustment pane_adjustment;
 
-    [GtkChild]
-    private Gtk.ListBox details_list;
+    [GtkChild] private unowned Gtk.ListBox details_list;
 
-    [GtkChild]
-    private Gtk.ListBox receiving_list;
+    [GtkChild] private unowned Gtk.ListBox receiving_list;
 
-    [GtkChild]
-    private Gtk.ListBox sending_list;
+    [GtkChild] private unowned Gtk.ListBox sending_list;
 
-    [GtkChild]
-    private Gtk.Button apply_button;
+    [GtkChild] private unowned Gtk.Button apply_button;
 
-    [GtkChild]
-    private Gtk.Spinner apply_spinner;
+    [GtkChild] private unowned Gtk.Spinner apply_spinner;
 
     private SaveDraftsRow save_drafts;
     private SaveSentRow save_sent;
diff --git a/src/client/accounts/accounts-editor.vala b/src/client/accounts/accounts-editor.vala
index 3e5a88877..4a7e4d365 100644
--- a/src/client/accounts/accounts-editor.vala
+++ b/src/client/accounts/accounts-editor.vala
@@ -48,11 +48,9 @@ public class Accounts.Editor : Gtk.Dialog {
 
     private GLib.SimpleActionGroup edit_actions = new GLib.SimpleActionGroup();
 
-    [GtkChild]
-    private Gtk.Overlay notifications_pane;
+    [GtkChild] private unowned Gtk.Overlay notifications_pane;
 
-    [GtkChild]
-    private Gtk.Stack editor_panes;
+    [GtkChild] private unowned Gtk.Stack editor_panes;
 
     private EditorListPane editor_list_pane;
 
diff --git a/src/client/application/application-main-window.vala 
b/src/client/application/application-main-window.vala
index b6f785a0c..e9d4b10c4 100644
--- a/src/client/application/application-main-window.vala
+++ b/src/client/application/application-main-window.vala
@@ -329,41 +329,24 @@ public class Application.MainWindow :
     private int64 update_ui_last = 0;
 
 
-    [GtkChild]
-    private Gtk.Box main_layout;
-    [GtkChild]
-    private Hdy.Leaflet main_leaflet;
-    [GtkChild]
-    private Hdy.Leaflet conversations_leaflet;
-    [GtkChild]
-    private Gtk.Box folder_box;
-    [GtkChild]
-    private Gtk.ScrolledWindow folder_list_scrolled;
-    [GtkChild]
-    private Gtk.Box conversation_list_box;
-    [GtkChild]
-    private Gtk.ScrolledWindow conversation_list_scrolled;
-    [GtkChild]
-    private Gtk.Box conversation_viewer_box;
-    [GtkChild]
-    private Components.ConversationActionBar conversation_viewer_action_bar;
-    [GtkChild]
-    private Gtk.SizeGroup folder_size_group;
-    [GtkChild]
-    private Gtk.SizeGroup folder_separator_size_group;
-    [GtkChild]
-    private Gtk.SizeGroup conversations_size_group;
-    [GtkChild]
-    private Gtk.SizeGroup conversations_separator_size_group;
-    [GtkChild]
-    private Gtk.SizeGroup conversation_size_group;
-    [GtkChild]
-    private Hdy.SwipeGroup conversations_swipe_group;
-    [GtkChild]
-    private Hdy.SwipeGroup conversation_swipe_group;
-
-    [GtkChild]
-    private Gtk.Overlay overlay;
+    [GtkChild] private unowned Gtk.Box main_layout;
+    [GtkChild] private unowned Hdy.Leaflet main_leaflet;
+    [GtkChild] private unowned Hdy.Leaflet conversations_leaflet;
+    [GtkChild] private unowned Gtk.Box folder_box;
+    [GtkChild] private unowned Gtk.ScrolledWindow folder_list_scrolled;
+    [GtkChild] private unowned Gtk.Box conversation_list_box;
+    [GtkChild] private unowned Gtk.ScrolledWindow conversation_list_scrolled;
+    [GtkChild] private unowned Gtk.Box conversation_viewer_box;
+    [GtkChild] private unowned Components.ConversationActionBar conversation_viewer_action_bar;
+    [GtkChild] private unowned Gtk.SizeGroup folder_size_group;
+    [GtkChild] private unowned Gtk.SizeGroup folder_separator_size_group;
+    [GtkChild] private unowned Gtk.SizeGroup conversations_size_group;
+    [GtkChild] private unowned Gtk.SizeGroup conversations_separator_size_group;
+    [GtkChild] private unowned Gtk.SizeGroup conversation_size_group;
+    [GtkChild] private unowned Hdy.SwipeGroup conversations_swipe_group;
+    [GtkChild] private unowned Hdy.SwipeGroup conversation_swipe_group;
+
+    [GtkChild] private unowned Gtk.Overlay overlay;
 
     private Components.ConversationActionBar action_bar;
 
diff --git a/src/client/components/components-attachment-pane.vala 
b/src/client/components/components-attachment-pane.vala
index 9ae55a104..6acff18cd 100644
--- a/src/client/components/components-attachment-pane.vala
+++ b/src/client/components/components-attachment-pane.vala
@@ -64,14 +64,11 @@ public class Components.AttachmentPane : Gtk.Grid {
 
         public Geary.Attachment attachment { get; private set; }
 
-        [GtkChild]
-        private Gtk.Image icon;
+        [GtkChild] private unowned Gtk.Image icon;
 
-        [GtkChild]
-        private Gtk.Label filename;
+        [GtkChild] private unowned Gtk.Label filename;
 
-        [GtkChild]
-        private Gtk.Label description;
+        [GtkChild] private unowned Gtk.Label description;
 
         private string gio_content_type;
 
@@ -208,14 +205,11 @@ public class Components.AttachmentPane : Gtk.Grid {
 
     private GLib.SimpleActionGroup actions = new GLib.SimpleActionGroup();
 
-    [GtkChild]
-    private Gtk.Grid attachments_container;
+    [GtkChild] private unowned Gtk.Grid attachments_container;
 
-    [GtkChild]
-    private Gtk.Button save_button;
+    [GtkChild] private unowned Gtk.Button save_button;
 
-    [GtkChild]
-    private Gtk.Button remove_button;
+    [GtkChild] private unowned Gtk.Button remove_button;
 
     private FlowBox attachments_view;
 
diff --git a/src/client/components/components-conversation-action-bar.vala 
b/src/client/components/components-conversation-action-bar.vala
index cd868b212..4b4cfacc4 100644
--- a/src/client/components/components-conversation-action-bar.vala
+++ b/src/client/components/components-conversation-action-bar.vala
@@ -9,13 +9,12 @@
 // Draws the conversation action bar.
 [GtkTemplate (ui = "/org/gnome/Geary/components-conversation-action-bar.ui")]
 public class Components.ConversationActionBar : Gtk.Revealer {
-    private ulong owner_notify;
 
-    [GtkChild]
-    public Gtk.Box action_box;
 
-    public ConversationActionBar() {
-    }
+    [GtkChild] public unowned Gtk.Box action_box { get; }
+
+    private ulong owner_notify;
+
 
     /**
      * This takes ownership of the ConversationActions and places some of
diff --git a/src/client/components/components-in-app-notification.vala 
b/src/client/components/components-in-app-notification.vala
index 090fd88c2..058851658 100644
--- a/src/client/components/components-in-app-notification.vala
+++ b/src/client/components/components-in-app-notification.vala
@@ -15,11 +15,9 @@ public class Components.InAppNotification : Gtk.Revealer {
     /** Default length of time to show the notification. */
     public const uint DEFAULT_DURATION = 5;
 
-    [GtkChild]
-    private Gtk.Label message_label;
+    [GtkChild] private unowned Gtk.Label message_label;
 
-    [GtkChild]
-    private Gtk.Button action_button;
+    [GtkChild] private unowned Gtk.Button action_button;
 
     private uint duration;
 
diff --git a/src/client/components/components-info-bar.vala b/src/client/components/components-info-bar.vala
index 93a1c7173..089712d79 100644
--- a/src/client/components/components-info-bar.vala
+++ b/src/client/components/components-info-bar.vala
@@ -42,17 +42,13 @@ public class Components.InfoBar : Gtk.Box {
     private string? plugin_action_group_name = null;
     private Gtk.Button? plugin_primary_button = null;
 
-    [GtkChild]
-    private Gtk.Revealer revealer;
+    [GtkChild] private unowned Gtk.Revealer revealer;
 
-    [GtkChild]
-    private Gtk.Box action_area;
+    [GtkChild] private unowned Gtk.Box action_area;
 
-    [GtkChild]
-    private Gtk.Box content_area;
+    [GtkChild] private unowned Gtk.Box content_area;
 
-    [GtkChild]
-    private Gtk.Button close_button;
+    [GtkChild] private unowned Gtk.Button close_button;
 
     static construct {
         set_css_name("infobar");
diff --git a/src/client/components/components-inspector-error-view.vala 
b/src/client/components/components-inspector-error-view.vala
index 4ec50f744..568b58896 100644
--- a/src/client/components/components-inspector-error-view.vala
+++ b/src/client/components/components-inspector-error-view.vala
@@ -12,8 +12,7 @@
 public class Components.InspectorErrorView : Gtk.Grid {
 
 
-    [GtkChild]
-    private Gtk.TextView problem_text;
+    [GtkChild] private unowned Gtk.TextView problem_text;
 
     private Geary.ErrorContext error;
     private Geary.AccountInformation? account;
diff --git a/src/client/components/components-inspector-log-view.vala 
b/src/client/components/components-inspector-log-view.vala
index b65c13c79..c7f71febc 100644
--- a/src/client/components/components-inspector-log-view.vala
+++ b/src/client/components/components-inspector-log-view.vala
@@ -65,23 +65,17 @@ public class Components.InspectorLogView : Gtk.Grid {
         set { this.search_bar.search_mode_enabled = value; }
     }
 
-    [GtkChild]
-    private Hdy.SearchBar search_bar;
+    [GtkChild] private unowned Hdy.SearchBar search_bar;
 
-    [GtkChild]
-    private Gtk.SearchEntry search_entry;
+    [GtkChild] private unowned Gtk.SearchEntry search_entry;
 
-    [GtkChild]
-    private Gtk.ListBox sidebar;
+    [GtkChild] private unowned Gtk.ListBox sidebar;
 
-    [GtkChild]
-    private Gtk.ScrolledWindow logs_scroller;
+    [GtkChild] private unowned Gtk.ScrolledWindow logs_scroller;
 
-    [GtkChild]
-    private Gtk.TreeView logs_view;
+    [GtkChild] private unowned Gtk.TreeView logs_view;
 
-    [GtkChild]
-    private Gtk.CellRendererText log_renderer;
+    [GtkChild] private unowned Gtk.CellRendererText log_renderer;
 
     private Gtk.ListStore logs_store = new Gtk.ListStore.newv({
             typeof(string),
diff --git a/src/client/components/components-inspector-system-view.vala 
b/src/client/components/components-inspector-system-view.vala
index 512498964..f61eed8ac 100644
--- a/src/client/components/components-inspector-system-view.vala
+++ b/src/client/components/components-inspector-system-view.vala
@@ -57,8 +57,7 @@ public class Components.InspectorSystemView : Gtk.Grid {
     }
 
 
-    [GtkChild]
-    private Gtk.ListBox system_list;
+    [GtkChild] private unowned Gtk.ListBox system_list;
 
     private Gee.Collection<Application.Client.RuntimeDetail?> details;
 
diff --git a/src/client/components/components-inspector.vala b/src/client/components/components-inspector.vala
index 730f04106..e126dd1ca 100644
--- a/src/client/components/components-inspector.vala
+++ b/src/client/components/components-inspector.vala
@@ -48,26 +48,19 @@ public class Components.Inspector : Gtk.ApplicationWindow {
     }
 
 
-    [GtkChild]
-    private Gtk.HeaderBar header_bar;
+    [GtkChild] private unowned Gtk.HeaderBar header_bar;
 
-    [GtkChild]
-    private Gtk.Stack stack;
+    [GtkChild] private unowned Gtk.Stack stack;
 
-    [GtkChild]
-    private Gtk.Button copy_button;
+    [GtkChild] private unowned Gtk.Button copy_button;
 
-    [GtkChild]
-    private Gtk.ToggleButton play_button;
+    [GtkChild] private unowned Gtk.ToggleButton play_button;
 
-    [GtkChild]
-    private Gtk.Button mark_button;
+    [GtkChild] private unowned Gtk.Button mark_button;
 
-    [GtkChild]
-    private Gtk.ToggleButton search_button;
+    [GtkChild] private unowned Gtk.ToggleButton search_button;
 
-    [GtkChild]
-    private Gtk.Button clear_button;
+    [GtkChild] private unowned Gtk.Button clear_button;
 
     private InspectorLogView log_pane;
     private InspectorSystemView system_pane;
diff --git a/src/client/components/components-placeholder-pane.vala 
b/src/client/components/components-placeholder-pane.vala
index 1851356b8..2b82ec97e 100644
--- a/src/client/components/components-placeholder-pane.vala
+++ b/src/client/components/components-placeholder-pane.vala
@@ -39,14 +39,11 @@ public class Components.PlaceholderPane : Gtk.Grid {
         }
     }
 
-    [GtkChild]
-    private Gtk.Image placeholder_image;
+    [GtkChild] private unowned Gtk.Image placeholder_image;
 
-    [GtkChild]
-    private Gtk.Label title_label;
+    [GtkChild] private unowned Gtk.Label title_label;
 
-    [GtkChild]
-    private Gtk.Label subtitle_label;
+    [GtkChild] private unowned Gtk.Label subtitle_label;
 
 
     private void update() {
diff --git a/src/client/components/folder-popover.vala b/src/client/components/folder-popover.vala
index 157959271..faba1df2b 100644
--- a/src/client/components/folder-popover.vala
+++ b/src/client/components/folder-popover.vala
@@ -7,10 +7,8 @@
 [GtkTemplate (ui = "/org/gnome/Geary/folder-popover.ui")]
 public class FolderPopover : Gtk.Popover {
 
-    [GtkChild]
-    private Gtk.SearchEntry search_entry;
-    [GtkChild]
-    private Gtk.ListBox list_box;
+    [GtkChild] private unowned Gtk.SearchEntry search_entry;
+    [GtkChild] private unowned Gtk.ListBox list_box;
 
     private int filtered_folder_count = 0;
 
diff --git a/src/client/components/main-toolbar.vala b/src/client/components/main-toolbar.vala
index 252b106c4..5e065b325 100644
--- a/src/client/components/main-toolbar.vala
+++ b/src/client/components/main-toolbar.vala
@@ -19,33 +19,24 @@ public class MainToolbar : Hdy.Leaflet {
 
     private Components.ConversationActionBar conversation_viewer_action_bar;
 
-    [GtkChild]
-    private Hdy.Leaflet conversations_leaflet;
+    [GtkChild] private unowned Hdy.Leaflet conversations_leaflet;
 
     // Folder header elements
-    [GtkChild]
-    private Gtk.HeaderBar folder_header;
-    [GtkChild]
-    private Gtk.MenuButton main_menu_button;
+    [GtkChild] private unowned Gtk.HeaderBar folder_header;
+    [GtkChild] private unowned Gtk.MenuButton main_menu_button;
 
-    [GtkChild]
-    private Gtk.Separator folder_separator;
+    [GtkChild] private unowned Gtk.Separator folder_separator;
 
     // Conversations header elements
-    [GtkChild]
-    private Gtk.HeaderBar conversations_header;
-    [GtkChild]
-    private Gtk.ToggleButton search_conversations_button;
+    [GtkChild] private unowned Gtk.HeaderBar conversations_header;
+    [GtkChild] private unowned Gtk.ToggleButton search_conversations_button;
 
-    [GtkChild]
-    private Gtk.Separator conversations_separator;
+    [GtkChild] private unowned Gtk.Separator conversations_separator;
 
     // Conversation header elements
-    [GtkChild]
-    private Components.ConversationHeaderBar conversation_header;
+    [GtkChild] private unowned Components.ConversationHeaderBar conversation_header;
 
-    [GtkChild]
-    private Hdy.HeaderGroup header_group;
+    [GtkChild] private unowned Hdy.HeaderGroup header_group;
 
     Gtk.SizeGroup conversation_group;
 
diff --git a/src/client/composer/composer-editor.vala b/src/client/composer/composer-editor.vala
index 67510dcef..9e56f070c 100644
--- a/src/client/composer/composer-editor.vala
+++ b/src/client/composer/composer-editor.vala
@@ -107,8 +107,8 @@ public class Composer.Editor : Gtk.Grid, Geary.BaseInterface {
 
     internal GLib.SimpleActionGroup actions = new GLib.SimpleActionGroup();
 
-    [GtkChild] internal Gtk.Button new_message_attach_button;
-    [GtkChild] internal Gtk.Box conversation_attach_buttons;
+    [GtkChild] internal unowned Gtk.Button new_message_attach_button;
+    [GtkChild] internal unowned Gtk.Box conversation_attach_buttons;
 
     private Application.Configuration config;
 
@@ -127,25 +127,25 @@ public class Composer.Editor : Gtk.Grid, Geary.BaseInterface {
     private Menu context_menu_webkit_text_entry;
     private Menu context_menu_inspector;
 
-    [GtkChild] private Gtk.Grid body_container;
+    [GtkChild] private unowned Gtk.Grid body_container;
 
-    [GtkChild] private Gtk.Label message_overlay_label;
+    [GtkChild] private unowned Gtk.Label message_overlay_label;
 
-    [GtkChild] private Gtk.Box action_bar_box;
+    [GtkChild] private unowned Gtk.Box action_bar_box;
 
-    [GtkChild] private Gtk.Button insert_link_button;
-    [GtkChild] private Gtk.MenuButton select_dictionary_button;
+    [GtkChild] private unowned Gtk.Button insert_link_button;
+    [GtkChild] private unowned Gtk.MenuButton select_dictionary_button;
 
-    [GtkChild] private Gtk.Label info_label;
+    [GtkChild] private unowned Gtk.Label info_label;
 
-    [GtkChild] private Gtk.ProgressBar background_progress;
+    [GtkChild] private unowned Gtk.ProgressBar background_progress;
 
-    [GtkChild] private Gtk.Revealer formatting;
-    [GtkChild] private Gtk.MenuButton font_button;
-    [GtkChild] private Gtk.Stack font_button_stack;
-    [GtkChild] private Gtk.MenuButton font_size_button;
-    [GtkChild] private Gtk.Image font_color_icon;
-    [GtkChild] private Gtk.MenuButton more_options_button;
+    [GtkChild] private unowned Gtk.Revealer formatting;
+    [GtkChild] private unowned Gtk.MenuButton font_button;
+    [GtkChild] private unowned Gtk.Stack font_button_stack;
+    [GtkChild] private unowned Gtk.MenuButton font_size_button;
+    [GtkChild] private unowned Gtk.Image font_color_icon;
+    [GtkChild] private unowned Gtk.MenuButton more_options_button;
 
 
     internal signal void insert_image(bool from_clipboard);
diff --git a/src/client/composer/composer-headerbar.vala b/src/client/composer/composer-headerbar.vala
index 1db99efa6..5d6fc1aa7 100644
--- a/src/client/composer/composer-headerbar.vala
+++ b/src/client/composer/composer-headerbar.vala
@@ -22,19 +22,13 @@ public class Composer.Headerbar : Gtk.HeaderBar {
 
     private bool is_attached = true;
 
-    [GtkChild]
-    private Gtk.Box detach_start;
-    [GtkChild]
-    private Gtk.Box detach_end;
-    [GtkChild]
-    private Gtk.Button recipients_button;
-    [GtkChild]
-    private Gtk.Label recipients_label;
-    [GtkChild]
-    private Gtk.Button save_and_close_button;
-
-    [GtkChild]
-    private Gtk.Button send_button;
+    [GtkChild] private unowned Gtk.Box detach_start;
+    [GtkChild] private unowned Gtk.Box detach_end;
+    [GtkChild] private unowned Gtk.Button recipients_button;
+    [GtkChild] private unowned Gtk.Label recipients_label;
+    [GtkChild] private unowned Gtk.Button save_and_close_button;
+
+    [GtkChild] private unowned Gtk.Button send_button;
 
     /** Fired when the user wants to expand a compact composer. */
     public signal void expand_composer();
diff --git a/src/client/composer/composer-link-popover.vala b/src/client/composer/composer-link-popover.vala
index 489a8984e..63ec71ee5 100644
--- a/src/client/composer/composer-link-popover.vala
+++ b/src/client/composer/composer-link-popover.vala
@@ -40,17 +40,13 @@ public class Composer.LinkPopover : Gtk.Popover {
     /** The URL displayed in the popover */
     public string link_uri { get { return this.url.get_text(); } }
 
-    [GtkChild]
-    private Gtk.Entry url;
+    [GtkChild] private unowned Gtk.Entry url;
 
-    [GtkChild]
-    private Gtk.Button insert;
+    [GtkChild] private unowned Gtk.Button insert;
 
-    [GtkChild]
-    private Gtk.Button update;
+    [GtkChild] private unowned Gtk.Button update;
 
-    [GtkChild]
-    private new Gtk.Button remove;
+    [GtkChild] private new unowned Gtk.Button remove;
 
     private Geary.TimeoutManager validation_timeout;
 
diff --git a/src/client/composer/composer-widget.vala b/src/client/composer/composer-widget.vala
index 72e7a26c6..412c8a3b0 100644
--- a/src/client/composer/composer-widget.vala
+++ b/src/client/composer/composer-widget.vala
@@ -361,14 +361,14 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
         }
     }
 
-    [GtkChild] private Gtk.Box header_container;
-    [GtkChild] private Gtk.Grid editor_container;
+    [GtkChild] private unowned Gtk.Box header_container;
+    [GtkChild] private unowned Gtk.Grid editor_container;
 
-    [GtkChild] private Gtk.Grid email_headers;
-    [GtkChild] private Gtk.Box filled_headers;
-    [GtkChild] private Gtk.Revealer extended_headers_revealer;
-    [GtkChild] private Gtk.Box extended_headers;
-    [GtkChild] private Gtk.ToggleButton show_extended_headers;
+    [GtkChild] private unowned Gtk.Grid email_headers;
+    [GtkChild] private unowned Gtk.Box filled_headers;
+    [GtkChild] private unowned Gtk.Revealer extended_headers_revealer;
+    [GtkChild] private unowned Gtk.Box extended_headers;
+    [GtkChild] private unowned Gtk.ToggleButton show_extended_headers;
 
     private Gee.ArrayList<FromAddressMap> from_list = new Gee.ArrayList<FromAddressMap>();
 
@@ -384,16 +384,11 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
     private Gspell.Checker subject_spell_checker = new Gspell.Checker(null);
     private Gspell.Entry subject_spell_entry;
 
-    [GtkChild]
-    private Gtk.Box attachments_box;
-    [GtkChild]
-    private Gtk.Box hidden_on_attachment_drag_over;
-    [GtkChild]
-    private Gtk.Box visible_on_attachment_drag_over;
-    [GtkChild]
-    private Gtk.Widget hidden_on_attachment_drag_over_child;
-    [GtkChild]
-    private Gtk.Widget visible_on_attachment_drag_over_child;
+    [GtkChild] private unowned Gtk.Box attachments_box;
+    [GtkChild] private unowned Gtk.Box hidden_on_attachment_drag_over;
+    [GtkChild] private unowned Gtk.Box visible_on_attachment_drag_over;
+    [GtkChild] private unowned Gtk.Widget hidden_on_attachment_drag_over_child;
+    [GtkChild] private unowned Gtk.Widget visible_on_attachment_drag_over_child;
 
     private GLib.SimpleActionGroup actions = new GLib.SimpleActionGroup();
 
diff --git a/src/client/conversation-viewer/conversation-contact-popover.vala 
b/src/client/conversation-viewer/conversation-contact-popover.vala
index 0aa329a96..97d27bb19 100644
--- a/src/client/conversation-viewer/conversation-contact-popover.vala
+++ b/src/client/conversation-viewer/conversation-contact-popover.vala
@@ -41,41 +41,29 @@ public class Conversation.ContactPopover : Gtk.Popover {
 
     private GLib.Cancellable load_cancellable = new GLib.Cancellable();
 
-    [GtkChild]
-    private Gtk.Grid contact_pane;
+    [GtkChild] private unowned Gtk.Grid contact_pane;
 
-    [GtkChild]
-    private Gtk.Image avatar;
+    [GtkChild] private unowned Gtk.Image avatar;
 
-    [GtkChild]
-    private Gtk.Label contact_name;
+    [GtkChild] private unowned Gtk.Label contact_name;
 
-    [GtkChild]
-    private Gtk.Label contact_address;
+    [GtkChild] private unowned Gtk.Label contact_address;
 
-    [GtkChild]
-    private Gtk.Button starred_button;
+    [GtkChild] private unowned Gtk.Button starred_button;
 
-    [GtkChild]
-    private Gtk.Button unstarred_button;
+    [GtkChild] private unowned Gtk.Button unstarred_button;
 
-    [GtkChild]
-    private Gtk.ModelButton open_button;
+    [GtkChild] private unowned Gtk.ModelButton open_button;
 
-    [GtkChild]
-    private Gtk.ModelButton save_button;
+    [GtkChild] private unowned Gtk.ModelButton save_button;
 
-    [GtkChild]
-    private Gtk.ModelButton load_remote_button;
+    [GtkChild] private unowned Gtk.ModelButton load_remote_button;
 
-    [GtkChild]
-    private Gtk.Grid deceptive_pane;
+    [GtkChild] private unowned Gtk.Grid deceptive_pane;
 
-    [GtkChild]
-    private Gtk.Label forged_email_label;
+    [GtkChild] private unowned Gtk.Label forged_email_label;
 
-    [GtkChild]
-    private Gtk.Label actual_email_label;
+    [GtkChild] private unowned Gtk.Label actual_email_label;
 
     private GLib.SimpleActionGroup actions = new GLib.SimpleActionGroup();
 
diff --git a/src/client/conversation-viewer/conversation-email.vala 
b/src/client/conversation-viewer/conversation-email.vala
index d93831835..17cf85c08 100644
--- a/src/client/conversation-viewer/conversation-email.vala
+++ b/src/client/conversation-viewer/conversation-email.vala
@@ -237,23 +237,17 @@ public class ConversationEmail : Gtk.Box, Geary.BaseInterface {
     // window, for updating email menu trash/delete actions.
     private bool shift_handler_installed = false;
 
-    [GtkChild]
-    private Gtk.Grid actions;
+    [GtkChild] private unowned Gtk.Grid actions;
 
-    [GtkChild]
-    private Gtk.Button attachments_button;
+    [GtkChild] private unowned Gtk.Button attachments_button;
 
-    [GtkChild]
-    private Gtk.Button star_button;
+    [GtkChild] private unowned Gtk.Button star_button;
 
-    [GtkChild]
-    private Gtk.Button unstar_button;
+    [GtkChild] private unowned Gtk.Button unstar_button;
 
-    [GtkChild]
-    private Gtk.MenuButton email_menubutton;
+    [GtkChild] private unowned Gtk.MenuButton email_menubutton;
 
-    [GtkChild]
-    private Gtk.Grid sub_messages;
+    [GtkChild] private unowned Gtk.Grid sub_messages;
 
 
     /** Fired when a internal link is activated */
diff --git a/src/client/conversation-viewer/conversation-message.vala 
b/src/client/conversation-viewer/conversation-message.vala
index 72d8a575f..b987dbdd6 100644
--- a/src/client/conversation-viewer/conversation-message.vala
+++ b/src/client/conversation-viewer/conversation-message.vala
@@ -302,13 +302,14 @@ public class ConversationMessage : Gtk.Grid, Geary.BaseInterface {
         get; private set;
     }
 
-    /** Box containing the preview and full header widgets.  */
-    [GtkChild]
-    internal Gtk.Grid summary;
+    /** Container for preview and full header widgets.  */
+    [GtkChild] internal unowned Gtk.Grid summary { get; }
 
-    /** Box that InfoBar widgets should be added to. */
-    [GtkChild]
-    internal Components.InfoBarStack info_bars;
+    /** Container for message body components.  */
+    [GtkChild] internal unowned Gtk.Grid body_container { get; }
+
+    /** Conainer for message InfoBar widgets. */
+    [GtkChild] internal unowned Components.InfoBarStack info_bars  { get; }
 
     /**
      * Emitted when web_view's content has finished loaded.
@@ -334,51 +335,31 @@ public class ConversationMessage : Gtk.Grid, Geary.BaseInterface {
 
     private GLib.DateTime? local_date = null;
 
-    [GtkChild]
-    private Gtk.Image avatar;
-
-    [GtkChild]
-    private Gtk.Revealer compact_revealer;
-    [GtkChild]
-    private Gtk.Label compact_from;
-    [GtkChild]
-    private Gtk.Label compact_date;
-    [GtkChild]
-    private Gtk.Label compact_body;
-
-    [GtkChild]
-    private Gtk.Revealer header_revealer;
-    [GtkChild]
-    private Gtk.FlowBox from;
-    [GtkChild]
-    private Gtk.Label subject;
+    [GtkChild] private unowned Gtk.Image avatar;
+
+    [GtkChild] private unowned Gtk.Revealer compact_revealer;
+    [GtkChild] private unowned Gtk.Label compact_from;
+    [GtkChild] private unowned Gtk.Label compact_date;
+    [GtkChild] private unowned Gtk.Label compact_body;
+
+    [GtkChild] private unowned Gtk.Revealer header_revealer;
+    [GtkChild] private unowned Gtk.FlowBox from;
+    [GtkChild] private unowned Gtk.Label subject;
     private string subject_searchable = "";
-    [GtkChild]
-    private Gtk.Label date;
-
-    [GtkChild]
-    private Gtk.Grid sender_header;
-    [GtkChild]
-    private Gtk.FlowBox sender_address;
-
-    [GtkChild]
-    private Gtk.Grid reply_to_header;
-    [GtkChild]
-    private Gtk.FlowBox reply_to_addresses;
-
-    [GtkChild]
-    private Gtk.Grid to_header;
-    [GtkChild]
-    private Gtk.Grid cc_header;
-    [GtkChild]
-    private Gtk.Grid bcc_header;
-
-    [GtkChild]
-    private Gtk.Revealer body_revealer;
-    [GtkChild]
-    public Gtk.Grid body_container;
-    [GtkChild]
-    private Gtk.ProgressBar body_progress;
+    [GtkChild] private unowned Gtk.Label date;
+
+    [GtkChild] private unowned Gtk.Grid sender_header;
+    [GtkChild] private unowned Gtk.FlowBox sender_address;
+
+    [GtkChild] private unowned Gtk.Grid reply_to_header;
+    [GtkChild] private unowned Gtk.FlowBox reply_to_addresses;
+
+    [GtkChild] private unowned Gtk.Grid to_header;
+    [GtkChild] private unowned Gtk.Grid cc_header;
+    [GtkChild] private unowned Gtk.Grid bcc_header;
+
+    [GtkChild] private unowned Gtk.Revealer body_revealer;
+    [GtkChild] private unowned Gtk.ProgressBar body_progress;
 
     private Components.InfoBar? remote_images_info_bar = null;
 
diff --git a/src/client/conversation-viewer/conversation-viewer.vala 
b/src/client/conversation-viewer/conversation-viewer.vala
index 4d895db46..4b645fced 100644
--- a/src/client/conversation-viewer/conversation-viewer.vala
+++ b/src/client/conversation-viewer/conversation-viewer.vala
@@ -38,35 +38,24 @@ public class ConversationViewer : Gtk.Stack, Geary.BaseInterface {
     private GLib.Cancellable? find_cancellable = null;
 
     // Stack pages
-    [GtkChild]
-    private Gtk.Spinner loading_page;
-    [GtkChild]
-    private Gtk.Grid no_conversations_page;
-    [GtkChild]
-    private Gtk.Grid conversation_page;
-    [GtkChild]
-    private Gtk.Grid multiple_conversations_page;
-    [GtkChild]
-    private Gtk.Grid empty_folder_page;
-    [GtkChild]
-    private Gtk.Grid empty_search_page;
-    [GtkChild]
-    private Gtk.Grid composer_page;
+    [GtkChild] private unowned Gtk.Spinner loading_page;
+    [GtkChild] private unowned Gtk.Grid no_conversations_page;
+    [GtkChild] private unowned Gtk.Grid conversation_page;
+    [GtkChild] private unowned Gtk.Grid multiple_conversations_page;
+    [GtkChild] private unowned Gtk.Grid empty_folder_page;
+    [GtkChild] private unowned Gtk.Grid empty_search_page;
+    [GtkChild] private unowned Gtk.Grid composer_page;
 
     private Gtk.ScrolledWindow conversation_scroller;
 
-    [GtkChild]
-    internal Gtk.SearchBar conversation_find_bar;
+    [GtkChild] internal unowned Gtk.SearchBar conversation_find_bar;
 
-    [GtkChild]
-    internal Gtk.SearchEntry conversation_find_entry;
+    [GtkChild] internal unowned Gtk.SearchEntry conversation_find_entry;
     private Components.EntryUndo conversation_find_undo;
 
-    [GtkChild]
-    private Gtk.Button conversation_find_next;
+    [GtkChild] private unowned Gtk.Button conversation_find_next;
 
-    [GtkChild]
-    private Gtk.Button conversation_find_prev;
+    [GtkChild] private unowned Gtk.Button conversation_find_prev;
 
 
     /* Emitted when a new conversation list was added to this view. */
diff --git a/src/client/dialogs/dialogs-problem-details-dialog.vala 
b/src/client/dialogs/dialogs-problem-details-dialog.vala
index 43f5d3113..83943444e 100644
--- a/src/client/dialogs/dialogs-problem-details-dialog.vala
+++ b/src/client/dialogs/dialogs-problem-details-dialog.vala
@@ -33,14 +33,11 @@ public class Dialogs.ProblemDetailsDialog : Gtk.Dialog {
     }
 
 
-    [GtkChild]
-    private Gtk.Stack stack;
+    [GtkChild] private unowned Gtk.Stack stack;
 
-    [GtkChild]
-    private Gtk.Button copy_button;
+    [GtkChild] private unowned Gtk.Button copy_button;
 
-    [GtkChild]
-    private Gtk.ToggleButton search_button;
+    [GtkChild] private unowned Gtk.ToggleButton search_button;
 
     private Components.InspectorErrorView error_pane;
     private Components.InspectorLogView log_pane;


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