diff options
author | Matthias Clasen <mclasen@redhat.com> | 2005-12-09 16:05:55 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2005-12-09 16:05:55 +0000 |
commit | 4669a053d7bf4f6463eb98bef2d92d8bb5cfb240 (patch) | |
tree | 06646b15050a1738a227fe66b97df4c843d272e2 /gtk/gtktextbuffer.c | |
parent | e75323a5589a578d87f61c046ec80ed20662ccc2 (diff) | |
download | gtk+-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.c | 16 |
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; |