[gitg] Move config destruction to dialog finalize
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gitg] Move config destruction to dialog finalize
- Date: Sat, 8 Jan 2011 13:02:12 +0000 (UTC)
commit ff83aa6ffa7eb941343d2d9a41a5f106bec60e7a
Author: Jesse van den Kieboom <jesse vandenkieboom epfl ch>
Date: Sat Jan 8 13:59:09 2011 +0100
Move config destruction to dialog finalize
This fixes a problem when closing the dialog while one of the config entries
has focus. The config object would be destroyed in dispose, before the
focus-out callback had been called.
gitg/gitg-preferences-dialog.c | 17 +++++++++++------
1 files changed, 11 insertions(+), 6 deletions(-)
---
diff --git a/gitg/gitg-preferences-dialog.c b/gitg/gitg-preferences-dialog.c
index a9ef83e..60b0376 100644
--- a/gitg/gitg-preferences-dialog.c
+++ b/gitg/gitg-preferences-dialog.c
@@ -98,12 +98,6 @@ gitg_preferences_dialog_dispose (GObject *object)
{
GitgPreferencesDialog *dialog = GITG_PREFERENCES_DIALOG (object);
- if (dialog->priv->config)
- {
- g_object_unref (dialog->priv->config);
- dialog->priv->config = NULL;
- }
-
if (dialog->priv->message_settings)
{
g_object_unref (dialog->priv->message_settings);
@@ -126,11 +120,22 @@ gitg_preferences_dialog_dispose (GObject *object)
}
static void
+gitg_preferences_dialog_finalize (GObject *object)
+{
+ GitgPreferencesDialog *dialog = GITG_PREFERENCES_DIALOG (object);
+
+ g_object_unref (dialog->priv->config);
+
+ G_OBJECT_CLASS (gitg_preferences_dialog_parent_class)->finalize (object);
+}
+
+static void
gitg_preferences_dialog_class_init(GitgPreferencesDialogClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
object_class->dispose = gitg_preferences_dialog_dispose;
+ object_class->finalize = gitg_preferences_dialog_finalize;
g_type_class_add_private(object_class, sizeof(GitgPreferencesDialogPrivate));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]