]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtktextbuffer.c
Fix the last commit
[~andy/gtk] / gtk / gtktextbuffer.c
index 6dd858d4f344b35611ed05638f3697aaa6977f3c..e65c71bf3afa93b63d49dcc9833918cd0fd03c54 100644 (file)
@@ -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;