terminal-window: Fix memory leak
Gsettings needs to be freed
parent
9529b42518
commit
5cd597b040
|
@ -52,6 +52,8 @@ struct _TerminalWindowPrivate
|
||||||
GtkUIManager *ui_manager;
|
GtkUIManager *ui_manager;
|
||||||
guint ui_id;
|
guint ui_id;
|
||||||
|
|
||||||
|
GSettings *global_settings;
|
||||||
|
|
||||||
GtkActionGroup *profiles_action_group;
|
GtkActionGroup *profiles_action_group;
|
||||||
guint profiles_ui_id;
|
guint profiles_ui_id;
|
||||||
|
|
||||||
|
@ -2208,7 +2210,7 @@ terminal_window_init (TerminalWindow *window)
|
||||||
|
|
||||||
GtkStyleContext *context;
|
GtkStyleContext *context;
|
||||||
|
|
||||||
GSettings *settings = g_settings_new ("org.mate.terminal.global");
|
priv->global_settings = g_settings_new (CONF_GLOBAL_SCHEMA);
|
||||||
|
|
||||||
context = gtk_widget_get_style_context (GTK_WIDGET (window));
|
context = gtk_widget_get_style_context (GTK_WIDGET (window));
|
||||||
gtk_style_context_add_class (context, "mate-terminal");
|
gtk_style_context_add_class (context, "mate-terminal");
|
||||||
|
@ -2228,9 +2230,9 @@ terminal_window_init (TerminalWindow *window)
|
||||||
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE);
|
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE);
|
||||||
gtk_notebook_set_group_name (GTK_NOTEBOOK (priv->notebook), I_("mate-terminal-window"));
|
gtk_notebook_set_group_name (GTK_NOTEBOOK (priv->notebook), I_("mate-terminal-window"));
|
||||||
g_signal_connect (priv->notebook, "button-press-event",
|
g_signal_connect (priv->notebook, "button-press-event",
|
||||||
G_CALLBACK (notebook_button_press_cb), settings);
|
G_CALLBACK (notebook_button_press_cb), priv->global_settings);
|
||||||
g_signal_connect (window, "key-press-event",
|
g_signal_connect (window, "key-press-event",
|
||||||
G_CALLBACK (window_key_press_cb), settings);
|
G_CALLBACK (window_key_press_cb), priv->global_settings);
|
||||||
g_signal_connect (priv->notebook, "popup-menu",
|
g_signal_connect (priv->notebook, "popup-menu",
|
||||||
G_CALLBACK (notebook_popup_menu_cb), window);
|
G_CALLBACK (notebook_popup_menu_cb), window);
|
||||||
g_signal_connect_after (priv->notebook, "switch-page",
|
g_signal_connect_after (priv->notebook, "switch-page",
|
||||||
|
@ -2415,6 +2417,7 @@ terminal_window_finalize (GObject *object)
|
||||||
TerminalWindowPrivate *priv = window->priv;
|
TerminalWindowPrivate *priv = window->priv;
|
||||||
|
|
||||||
g_object_unref (priv->ui_manager);
|
g_object_unref (priv->ui_manager);
|
||||||
|
g_object_unref (priv->global_settings);
|
||||||
|
|
||||||
if (priv->confirm_close_dialog)
|
if (priv->confirm_close_dialog)
|
||||||
gtk_dialog_response (GTK_DIALOG (priv->confirm_close_dialog),
|
gtk_dialog_response (GTK_DIALOG (priv->confirm_close_dialog),
|
||||||
|
@ -3570,7 +3573,6 @@ confirm_close_window_or_tab (TerminalWindow *window,
|
||||||
{
|
{
|
||||||
TerminalWindowPrivate *priv = window->priv;
|
TerminalWindowPrivate *priv = window->priv;
|
||||||
GtkWidget *dialog;
|
GtkWidget *dialog;
|
||||||
GSettings *settings;
|
|
||||||
gboolean do_confirm;
|
gboolean do_confirm;
|
||||||
gboolean has_processes;
|
gboolean has_processes;
|
||||||
int n_tabs;
|
int n_tabs;
|
||||||
|
@ -3583,9 +3585,8 @@ confirm_close_window_or_tab (TerminalWindow *window,
|
||||||
GTK_RESPONSE_DELETE_EVENT);
|
GTK_RESPONSE_DELETE_EVENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
settings = g_settings_new (CONF_GLOBAL_SCHEMA);
|
do_confirm = g_settings_get_boolean (priv->global_settings, "confirm-window-close");
|
||||||
do_confirm = g_settings_get_boolean (settings, "confirm-window-close");
|
|
||||||
g_object_unref (settings);
|
|
||||||
if (!do_confirm)
|
if (!do_confirm)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue