summaryrefslogtreecommitdiff
path: root/gtk/gtktextbuffer.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2005-12-09 16:05:55 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2005-12-09 16:05:55 +0000
commit4669a053d7bf4f6463eb98bef2d92d8bb5cfb240 (patch)
tree06646b15050a1738a227fe66b97df4c843d272e2 /gtk/gtktextbuffer.c
parente75323a5589a578d87f61c046ec80ed20662ccc2 (diff)
downloadgtk+-4669a053d7bf4f6463eb98bef2d92d8bb5cfb240.tar.gz
Unref the buffer when freeing the RequestData. (#323577)
2005-12-09 Matthias Clasen <mclasen@redhat.com> * gtk/gtktextbuffer.c (paste_from_buffer): Unref the buffer when freeing the RequestData. (#323577)
Diffstat (limited to 'gtk/gtktextbuffer.c')
-rw-r--r--gtk/gtktextbuffer.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c
index 6dd858d4f3..e797aeace3 100644
--- a/gtk/gtktextbuffer.c
+++ b/gtk/gtktextbuffer.c
@@ -2993,6 +2993,13 @@ post_paste_cleanup (ClipboardRequest *request_data)
}
}
+static void
+free_clipboard_request (ClipBoardRequest *request_data)
+{
+ g_object_unref (request_data->buffer);
+ g_free (request_data);
+}
+
/* Called when we request a paste and receive the text data
*/
static void
@@ -3025,8 +3032,7 @@ clipboard_text_received (GtkClipboard *clipboard,
gtk_text_buffer_end_user_action (buffer);
}
- g_object_unref (buffer);
- g_free (request_data);
+ free_clipboard_request (request_data);
}
static GtkTextBuffer*
@@ -3128,7 +3134,8 @@ paste_from_buffer (ClipboardRequest *request_data,
gtk_text_buffer_end_user_action (buffer);
g_object_unref (src_buffer);
- g_free (request_data);
+
+ free_clipboard_request (request_data);
}
static void
@@ -3349,8 +3356,7 @@ gtk_text_buffer_paste_clipboard (GtkTextBuffer *buffer,
"gtk_paste_point_override",
override_location, FALSE);
- data->buffer = buffer;
- g_object_ref (buffer);
+ data->buffer = g_object_ref (buffer);
data->interactive = TRUE;
data->default_editable = default_editable;