[evolution] EShell-related cleanups.



commit 7d6027be1a9989549c80fdbe6dcf8317c54a6a6a
Author: Matthew Barnes <mbarnes redhat com>
Date:   Thu Jul 4 11:56:09 2013 -0400

    EShell-related cleanups.

 shell/e-shell-backend.c        |    6 ++-
 shell/e-shell-content.c        |   11 ++---
 shell/e-shell-searchbar.c      |   24 +++++++----
 shell/e-shell-sidebar.c        |   16 +++++---
 shell/e-shell-switcher.c       |    6 ++-
 shell/e-shell-taskbar.c        |   20 +++------
 shell/e-shell-view.c           |   85 ++++++++++++++++++---------------------
 shell/e-shell-window-private.c |   18 ++++----
 shell/e-shell-window-private.h |    6 ---
 shell/e-shell-window.c         |   33 ++++++++++-----
 shell/e-shell.c                |   40 ++++++++----------
 11 files changed, 134 insertions(+), 131 deletions(-)
---
diff --git a/shell/e-shell-backend.c b/shell/e-shell-backend.c
index d30e698..5f7666b 100644
--- a/shell/e-shell-backend.c
+++ b/shell/e-shell-backend.c
@@ -354,7 +354,8 @@ e_shell_backend_class_init (EShellBackendClass *class)
                        "Busy",
                        "Whether any activities are still in progress",
                        FALSE,
-                       G_PARAM_READABLE));
+                       G_PARAM_READABLE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellBackend:prefer-new-item
@@ -369,7 +370,8 @@ e_shell_backend_class_init (EShellBackendClass *class)
                        "Prefer New Item",
                        "Name of an item to prefer in New toolbar button",
                        NULL,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellBackend::activity-added
diff --git a/shell/e-shell-content.c b/shell/e-shell-content.c
index 942e10b..a60a634 100644
--- a/shell/e-shell-content.c
+++ b/shell/e-shell-content.c
@@ -153,10 +153,7 @@ shell_content_dispose (GObject *object)
                priv->shell_view = NULL;
        }
 
-       if (priv->alert_bar != NULL) {
-               g_object_unref (priv->alert_bar);
-               priv->alert_bar = NULL;
-       }
+       g_clear_object (&priv->alert_bar);
 
        /* Chain up to parent's dispose() method. */
        G_OBJECT_CLASS (e_shell_content_parent_class)->dispose (object);
@@ -461,7 +458,8 @@ e_shell_content_class_init (EShellContentClass *class)
                        "Alert Bar",
                        "Displays informational and error messages",
                        E_TYPE_ALERT_BAR,
-                       G_PARAM_READABLE));
+                       G_PARAM_READABLE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellContent:shell-view
@@ -477,7 +475,8 @@ e_shell_content_class_init (EShellContentClass *class)
                        NULL,
                        E_TYPE_SHELL_VIEW,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT_ONLY));
+                       G_PARAM_CONSTRUCT_ONLY |
+                       G_PARAM_STATIC_STRINGS));
 }
 
 static void
diff --git a/shell/e-shell-searchbar.c b/shell/e-shell-searchbar.c
index b3dded8..cf39d4e 100644
--- a/shell/e-shell-searchbar.c
+++ b/shell/e-shell-searchbar.c
@@ -951,7 +951,8 @@ e_shell_searchbar_class_init (EShellSearchbarClass *class)
                        NULL,
                        NULL,
                        E_TYPE_ACTION_COMBO_BOX,
-                       G_PARAM_READABLE));
+                       G_PARAM_READABLE |
+                       G_PARAM_STATIC_STRINGS));
 
        g_object_class_install_property (
                object_class,
@@ -961,7 +962,8 @@ e_shell_searchbar_class_init (EShellSearchbarClass *class)
                        NULL,
                        NULL,
                        NULL,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        g_object_class_install_property (
                object_class,
@@ -971,7 +973,8 @@ e_shell_searchbar_class_init (EShellSearchbarClass *class)
                        NULL,
                        NULL,
                        GTK_TYPE_RADIO_ACTION,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        g_object_class_install_property (
                object_class,
@@ -981,7 +984,8 @@ e_shell_searchbar_class_init (EShellSearchbarClass *class)
                        NULL,
                        NULL,
                        NULL,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        g_object_class_install_property (
                object_class,
@@ -991,7 +995,8 @@ e_shell_searchbar_class_init (EShellSearchbarClass *class)
                        NULL,
                        NULL,
                        E_TYPE_ACTION_COMBO_BOX,
-                       G_PARAM_READABLE));
+                       G_PARAM_READABLE |
+                       G_PARAM_STATIC_STRINGS));
 
        g_object_class_install_property (
                object_class,
@@ -1002,7 +1007,8 @@ e_shell_searchbar_class_init (EShellSearchbarClass *class)
                        NULL,
                        FALSE,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT));
+                       G_PARAM_CONSTRUCT |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellSearchbar:shell-view
@@ -1018,7 +1024,8 @@ e_shell_searchbar_class_init (EShellSearchbarClass *class)
                        NULL,
                        E_TYPE_SHELL_VIEW,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT_ONLY));
+                       G_PARAM_CONSTRUCT_ONLY |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellSearchbar:state-group
@@ -1034,7 +1041,8 @@ e_shell_searchbar_class_init (EShellSearchbarClass *class)
                        NULL,
                        STATE_GROUP_DEFAULT,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT));
+                       G_PARAM_CONSTRUCT |
+                       G_PARAM_STATIC_STRINGS));
 }
 
 static void
diff --git a/shell/e-shell-sidebar.c b/shell/e-shell-sidebar.c
index a2fa399..eeda80f 100644
--- a/shell/e-shell-sidebar.c
+++ b/shell/e-shell-sidebar.c
@@ -173,10 +173,10 @@ shell_sidebar_dispose (GObject *object)
        if (priv->event_box != NULL) {
                gtk_widget_unparent (priv->event_box);
                gtk_widget_destroy (priv->event_box);
-               g_object_unref (priv->event_box);
-               priv->event_box = NULL;
        }
 
+       g_clear_object (&priv->event_box);
+
        /* Chain up to parent's dispose() method. */
        G_OBJECT_CLASS (e_shell_sidebar_parent_class)->dispose (object);
 }
@@ -369,7 +369,8 @@ e_shell_sidebar_class_init (EShellSidebarClass *class)
                        "Icon Name",
                        NULL,
                        NULL,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellSidebar:primary-text
@@ -384,7 +385,8 @@ e_shell_sidebar_class_init (EShellSidebarClass *class)
                        "Primary Text",
                        NULL,
                        NULL,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellSidebar:secondary-text
@@ -400,7 +402,8 @@ e_shell_sidebar_class_init (EShellSidebarClass *class)
                        "Secondary Text",
                        NULL,
                        NULL,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellSidebar:shell-view
@@ -416,7 +419,8 @@ e_shell_sidebar_class_init (EShellSidebarClass *class)
                        NULL,
                        E_TYPE_SHELL_VIEW,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT_ONLY));
+                       G_PARAM_CONSTRUCT_ONLY |
+                       G_PARAM_STATIC_STRINGS));
 }
 
 static void
diff --git a/shell/e-shell-switcher.c b/shell/e-shell-switcher.c
index 9e8f9a3..84adfe6 100644
--- a/shell/e-shell-switcher.c
+++ b/shell/e-shell-switcher.c
@@ -520,7 +520,8 @@ e_shell_switcher_class_init (EShellSwitcherClass *class)
                        GTK_TYPE_TOOLBAR_STYLE,
                        E_SHELL_SWITCHER_DEFAULT_TOOLBAR_STYLE,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT));
+                       G_PARAM_CONSTRUCT |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellSwitcher:toolbar-visible
@@ -536,7 +537,8 @@ e_shell_switcher_class_init (EShellSwitcherClass *class)
                        "Whether the switcher is visible",
                        TRUE,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT));
+                       G_PARAM_CONSTRUCT |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellSwitcher::style-changed
diff --git a/shell/e-shell-taskbar.c b/shell/e-shell-taskbar.c
index 40a3d63..cda9fee 100644
--- a/shell/e-shell-taskbar.c
+++ b/shell/e-shell-taskbar.c
@@ -223,19 +223,11 @@ shell_taskbar_dispose (GObject *object)
                g_signal_handlers_disconnect_matched (
                        priv->shell_backend, G_SIGNAL_MATCH_DATA,
                        0, 0, NULL, NULL, object);
-               g_object_unref (priv->shell_backend);
-               priv->shell_backend = NULL;
        }
 
-       if (priv->label != NULL) {
-               g_object_unref (priv->label);
-               priv->label = NULL;
-       }
-
-       if (priv->hbox != NULL) {
-               g_object_unref (priv->hbox);
-               priv->hbox = NULL;
-       }
+       g_clear_object (&priv->shell_backend);
+       g_clear_object (&priv->label);
+       g_clear_object (&priv->hbox);
 
        /* Chain up to parent's dispose() method. */
        G_OBJECT_CLASS (e_shell_taskbar_parent_class)->dispose (object);
@@ -362,7 +354,8 @@ e_shell_taskbar_class_init (EShellTaskbarClass *class)
                        NULL,
                        NULL,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT));
+                       G_PARAM_CONSTRUCT |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellTaskbar:shell-view
@@ -378,7 +371,8 @@ e_shell_taskbar_class_init (EShellTaskbarClass *class)
                        NULL,
                        E_TYPE_SHELL_VIEW,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT_ONLY));
+                       G_PARAM_CONSTRUCT_ONLY |
+                       G_PARAM_STATIC_STRINGS));
 }
 
 static void
diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c
index f39458f..1f979e6 100644
--- a/shell/e-shell-view.c
+++ b/shell/e-shell-view.c
@@ -69,7 +69,7 @@ struct _EShellViewPrivate {
        guint execute_search_blocked;
 
        GtkWidget *preferences_window;
-       gulong preferences_hide_id;
+       gulong preferences_hide_handler_id;
 };
 
 enum {
@@ -513,45 +513,25 @@ shell_view_dispose (GObject *object)
                priv->state_save_activity = NULL;
        }
 
+       if (priv->preferences_window != NULL) {
+               g_signal_handler_disconnect (
+                       priv->preferences_window,
+                       priv->preferences_hide_handler_id);
+               priv->preferences_hide_handler_id = 0;
+       }
+
        if (priv->shell_window != NULL) {
                g_object_remove_weak_pointer (
                        G_OBJECT (priv->shell_window), &priv->shell_window);
                priv->shell_window = NULL;
        }
 
-       if (priv->shell_content != NULL) {
-               g_object_unref (priv->shell_content);
-               priv->shell_content = NULL;
-       }
-
-       if (priv->shell_sidebar != NULL) {
-               g_object_unref (priv->shell_sidebar);
-               priv->shell_sidebar = NULL;
-       }
-
-       if (priv->shell_taskbar != NULL) {
-               g_object_unref (priv->shell_taskbar);
-               priv->shell_taskbar = NULL;
-       }
-
-       if (priv->searchbar != NULL) {
-               g_object_unref (priv->searchbar);
-               priv->searchbar = NULL;
-       }
-
-       if (priv->search_rule != NULL) {
-               g_object_unref (priv->search_rule);
-               priv->search_rule = NULL;
-       }
-
-       if (priv->preferences_window != NULL) {
-               g_signal_handler_disconnect (
-                       priv->preferences_window,
-                       priv->preferences_hide_id);
-               g_object_unref (priv->preferences_window);
-               priv->preferences_window = NULL;
-               priv->preferences_hide_id = 0;
-       }
+       g_clear_object (&priv->shell_content);
+       g_clear_object (&priv->shell_sidebar);
+       g_clear_object (&priv->shell_taskbar);
+       g_clear_object (&priv->searchbar);
+       g_clear_object (&priv->search_rule);
+       g_clear_object (&priv->preferences_window);
 
        /* Chain up to parent's dispose() method. */
        G_OBJECT_CLASS (parent_class)->dispose (object);
@@ -581,6 +561,7 @@ shell_view_constructed (GObject *object)
        EShellBackend *shell_backend;
        EShellViewClass *shell_view_class;
        GtkWidget *widget;
+       gulong handler_id;
 
        shell_view = E_SHELL_VIEW (object);
        shell_view_class = E_SHELL_VIEW_GET_CLASS (shell_view);
@@ -618,9 +599,10 @@ shell_view_constructed (GObject *object)
        /* Update actions whenever the Preferences window is closed. */
        widget = e_shell_get_preferences_window (shell);
        shell_view->priv->preferences_window = g_object_ref (widget);
-       shell_view->priv->preferences_hide_id = g_signal_connect_swapped (
+       handler_id = g_signal_connect_swapped (
                shell_view->priv->preferences_window, "hide",
                G_CALLBACK (e_shell_view_update_actions), shell_view);
+       shell_view->priv->preferences_hide_handler_id = handler_id;
 
        e_extensible_load_extensions (E_EXTENSIBLE (object));
 
@@ -769,7 +751,8 @@ e_shell_view_class_init (EShellViewClass *class)
                        "The switcher action for this shell view",
                        GTK_TYPE_RADIO_ACTION,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT_ONLY));
+                       G_PARAM_CONSTRUCT_ONLY |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellView:page-num
@@ -786,7 +769,8 @@ e_shell_view_class_init (EShellViewClass *class)
                        -1,
                        G_MAXINT,
                        -1,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellView:search-rule
@@ -801,7 +785,8 @@ e_shell_view_class_init (EShellViewClass *class)
                        "Search Rule",
                        "Criteria for the current search results",
                        E_TYPE_FILTER_RULE,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellView:shell-backend
@@ -816,7 +801,8 @@ e_shell_view_class_init (EShellViewClass *class)
                        "Shell Backend",
                        "The EShellBackend for this shell view",
                        E_TYPE_SHELL_BACKEND,
-                       G_PARAM_READABLE));
+                       G_PARAM_READABLE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellView:shell-content
@@ -833,7 +819,8 @@ e_shell_view_class_init (EShellViewClass *class)
                        "The content widget appears in "
                        "a shell window's right pane",
                        E_TYPE_SHELL_CONTENT,
-                       G_PARAM_READABLE));
+                       G_PARAM_READABLE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellView:shell-sidebar
@@ -850,7 +837,8 @@ e_shell_view_class_init (EShellViewClass *class)
                        "The sidebar widget appears in "
                        "a shell window's left pane",
                        E_TYPE_SHELL_SIDEBAR,
-                       G_PARAM_READABLE));
+                       G_PARAM_READABLE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellView:shell-taskbar
@@ -866,7 +854,8 @@ e_shell_view_class_init (EShellViewClass *class)
                        "The taskbar widget appears at "
                        "the bottom of a shell window",
                        E_TYPE_SHELL_TASKBAR,
-                       G_PARAM_READABLE));
+                       G_PARAM_READABLE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellView:shell-window
@@ -882,7 +871,8 @@ e_shell_view_class_init (EShellViewClass *class)
                        "The window to which the shell view belongs",
                        E_TYPE_SHELL_WINDOW,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT_ONLY));
+                       G_PARAM_CONSTRUCT_ONLY |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellView:state-key-file
@@ -896,7 +886,8 @@ e_shell_view_class_init (EShellViewClass *class)
                        "state-key-file",
                        "State Key File",
                        "The key file holding widget state data",
-                       G_PARAM_READABLE));
+                       G_PARAM_READABLE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellView:title
@@ -912,7 +903,8 @@ e_shell_view_class_init (EShellViewClass *class)
                        "Title",
                        "The title of the shell view",
                        NULL,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellView:view-id
@@ -927,7 +919,8 @@ e_shell_view_class_init (EShellViewClass *class)
                        "Current View ID",
                        "The current GAL view ID",
                        NULL,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellView::toggled
diff --git a/shell/e-shell-window-private.c b/shell/e-shell-window-private.c
index 100a8be..2515f0a 100644
--- a/shell/e-shell-window-private.c
+++ b/shell/e-shell-window-private.c
@@ -497,18 +497,18 @@ e_shell_window_private_dispose (EShellWindow *shell_window)
                priv->shell = NULL;
        }
 
-       DISPOSE (priv->focus_tracker);
-       DISPOSE (priv->ui_manager);
+       g_clear_object (&priv->focus_tracker);
+       g_clear_object (&priv->ui_manager);
 
        g_hash_table_remove_all (priv->loaded_views);
 
-       DISPOSE (priv->alert_bar);
-       DISPOSE (priv->content_pane);
-       DISPOSE (priv->content_notebook);
-       DISPOSE (priv->sidebar_notebook);
-       DISPOSE (priv->switcher);
-       DISPOSE (priv->tooltip_label);
-       DISPOSE (priv->status_notebook);
+       g_clear_object (&priv->alert_bar);
+       g_clear_object (&priv->content_pane);
+       g_clear_object (&priv->content_notebook);
+       g_clear_object (&priv->sidebar_notebook);
+       g_clear_object (&priv->switcher);
+       g_clear_object (&priv->tooltip_label);
+       g_clear_object (&priv->status_notebook);
 
        priv->destroyed = TRUE;
 }
diff --git a/shell/e-shell-window-private.h b/shell/e-shell-window-private.h
index d69546c..3572bf5 100644
--- a/shell/e-shell-window-private.h
+++ b/shell/e-shell-window-private.h
@@ -46,12 +46,6 @@
 #define ACTION_GROUP(name) \
        (E_SHELL_WINDOW_ACTION_GROUP_##name (shell_window))
 
-/* For use in dispose() methods. */
-#define DISPOSE(obj) \
-       G_STMT_START { \
-       if ((obj) != NULL) { g_object_unref (obj); (obj) = NULL; } \
-       } G_STMT_END
-
 /* Format for switcher action names.
  * The last part is the shell view name.
  * (e.g. switch-to-mail, switch-to-calendar) */
diff --git a/shell/e-shell-window.c b/shell/e-shell-window.c
index 0bc5a51..5488ccb 100644
--- a/shell/e-shell-window.c
+++ b/shell/e-shell-window.c
@@ -760,7 +760,8 @@ e_shell_window_class_init (EShellWindowClass *class)
                        "Active Shell View",
                        "Name of the active shell view",
                        NULL,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellWindow:alert-bar
@@ -775,7 +776,8 @@ e_shell_window_class_init (EShellWindowClass *class)
                        "Alert Bar",
                        "Displays informational and error messages",
                        E_TYPE_ALERT_BAR,
-                       G_PARAM_READABLE));
+                       G_PARAM_READABLE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellWindow:focus-tracker
@@ -790,7 +792,8 @@ e_shell_window_class_init (EShellWindowClass *class)
                        "Focus Tracker",
                        "The shell window's EFocusTracker",
                        E_TYPE_FOCUS_TRACKER,
-                       G_PARAM_READABLE));
+                       G_PARAM_READABLE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellWindow:geometry
@@ -806,7 +809,8 @@ e_shell_window_class_init (EShellWindowClass *class)
                        "Initial window geometry string",
                        NULL,
                        G_PARAM_WRITABLE |
-                       G_PARAM_CONSTRUCT_ONLY));
+                       G_PARAM_CONSTRUCT_ONLY |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellWindow:safe-mode
@@ -822,7 +826,8 @@ e_shell_window_class_init (EShellWindowClass *class)
                        "Whether the shell window is in safe mode",
                        FALSE,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT));
+                       G_PARAM_CONSTRUCT |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellWindow:shell
@@ -838,7 +843,8 @@ e_shell_window_class_init (EShellWindowClass *class)
                        "The EShell singleton",
                        E_TYPE_SHELL,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT_ONLY));
+                       G_PARAM_CONSTRUCT_ONLY |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellWindow:sidebar-visible
@@ -853,7 +859,8 @@ e_shell_window_class_init (EShellWindowClass *class)
                        "Sidebar Visible",
                        "Whether the shell window's side bar is visible",
                        TRUE,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellWindow:switcher-visible
@@ -869,7 +876,8 @@ e_shell_window_class_init (EShellWindowClass *class)
                        "Whether the shell window's "
                        "switcher buttons are visible",
                        TRUE,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellWindow:taskbar-visible
@@ -884,7 +892,8 @@ e_shell_window_class_init (EShellWindowClass *class)
                        "Taskbar Visible",
                        "Whether the shell window's task bar is visible",
                        TRUE,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellWindow:toolbar-visible
@@ -899,7 +908,8 @@ e_shell_window_class_init (EShellWindowClass *class)
                        "Toolbar Visible",
                        "Whether the shell window's tool bar is visible",
                        TRUE,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellWindow:ui-manager
@@ -914,7 +924,8 @@ e_shell_window_class_init (EShellWindowClass *class)
                        "UI Manager",
                        "The shell window's GtkUIManager",
                        GTK_TYPE_UI_MANAGER,
-                       G_PARAM_READABLE));
+                       G_PARAM_READABLE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShellWindow::shell-view-created
diff --git a/shell/e-shell.c b/shell/e-shell.c
index 3ca64df..93dde1e 100644
--- a/shell/e-shell.c
+++ b/shell/e-shell.c
@@ -657,20 +657,9 @@ shell_dispose (GObject *object)
                priv->backend_died_handler_id = 0;
        }
 
-       if (priv->registry != NULL) {
-               g_object_unref (priv->registry);
-               priv->registry = NULL;
-       }
-
-       if (priv->client_cache != NULL) {
-               g_object_unref (priv->client_cache);
-               priv->client_cache = NULL;
-       }
-
-       if (priv->preferences_window != NULL) {
-               g_object_unref (priv->preferences_window);
-               priv->preferences_window = NULL;
-       }
+       g_clear_object (&priv->registry);
+       g_clear_object (&priv->client_cache);
+       g_clear_object (&priv->preferences_window);
 
        if (priv->preparing_for_line_change != NULL) {
                g_object_remove_weak_pointer (
@@ -858,12 +847,13 @@ e_shell_class_init (EShellClass *class)
                        "Client Cache",
                        "Shared EClient instances",
                        E_TYPE_CLIENT_CACHE,
-                       G_PARAM_READABLE));
+                       G_PARAM_READABLE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShell:express-mode
         *
-        * Express mode alters Evolution's user interface to be more
+        * Express mode alters Evolution's user interface to be mode
         * usable on devices with small screens.
         **/
        g_object_class_install_property (
@@ -875,7 +865,8 @@ e_shell_class_init (EShellClass *class)
                        "Whether express mode is enabled",
                        FALSE,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT_ONLY));
+                       G_PARAM_CONSTRUCT_ONLY |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShell:geometry
@@ -892,7 +883,8 @@ e_shell_class_init (EShellClass *class)
                        "Initial window geometry string",
                        NULL,
                        G_PARAM_WRITABLE |
-                       G_PARAM_CONSTRUCT_ONLY));
+                       G_PARAM_CONSTRUCT_ONLY |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShell:module-directory
@@ -908,7 +900,8 @@ e_shell_class_init (EShellClass *class)
                        "The directory from which to load EModules",
                        NULL,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT_ONLY));
+                       G_PARAM_CONSTRUCT_ONLY |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShell:network-available
@@ -923,7 +916,8 @@ e_shell_class_init (EShellClass *class)
                        "Network Available",
                        "Whether the network is available",
                        TRUE,
-                       G_PARAM_READWRITE));
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShell:online
@@ -939,7 +933,8 @@ e_shell_class_init (EShellClass *class)
                        "Whether the shell is online",
                        FALSE,
                        G_PARAM_READWRITE |
-                       G_PARAM_CONSTRUCT));
+                       G_PARAM_CONSTRUCT |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShell:registry
@@ -954,7 +949,8 @@ e_shell_class_init (EShellClass *class)
                        "Registry",
                        "Data source registry",
                        E_TYPE_SOURCE_REGISTRY,
-                       G_PARAM_READABLE));
+                       G_PARAM_READABLE |
+                       G_PARAM_STATIC_STRINGS));
 
        /**
         * EShell::event


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