[gtksourceview] Override GtkTextView's create_buffer() virtual function



commit 1648882cd979280741db03300a7fa9ebc6f51980
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Wed Jun 12 14:54:53 2013 +0200

    Override GtkTextView's create_buffer() virtual function
    
    When gtk_text_view_get_buffer() is called the first time, the buffer is
    created lazily if it was not already set. By overridding
    create_buffer(), a GtkSourceBuffer is created instead of a
    GtkTextBuffer.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=643732

 gtksourceview/gtksourceview.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/gtksourceview/gtksourceview.c b/gtksourceview/gtksourceview.c
index c225ee1..df5fc4b 100644
--- a/gtksourceview/gtksourceview.c
+++ b/gtksourceview/gtksourceview.c
@@ -201,6 +201,7 @@ static void         gtk_source_view_finalize                        (GObject            
*object);
 static void    gtk_source_view_undo                    (GtkSourceView      *view);
 static void    gtk_source_view_redo                    (GtkSourceView      *view);
 static void    gtk_source_view_show_completion_real    (GtkSourceView      *view);
+static GtkTextBuffer * gtk_source_view_create_buffer   (GtkTextView        *view);
 static void    set_source_buffer                       (GtkSourceView      *view,
                                                                 GtkTextBuffer      *buffer);
 static void    gtk_source_view_populate_popup          (GtkTextView        *view,
@@ -290,6 +291,7 @@ gtk_source_view_class_init (GtkSourceViewClass *klass)
 
        textview_class->populate_popup = gtk_source_view_populate_popup;
        textview_class->move_cursor = gtk_source_view_move_cursor;
+       textview_class->create_buffer = gtk_source_view_create_buffer;
 
        klass->undo = gtk_source_view_undo;
        klass->redo = gtk_source_view_redo;
@@ -2467,6 +2469,12 @@ calculate_real_tab_width (GtkSourceView *view, guint tab_size, gchar c)
        return tab_width;
 }
 
+static GtkTextBuffer *
+gtk_source_view_create_buffer (GtkTextView *text_view)
+{
+       return GTK_TEXT_BUFFER (gtk_source_buffer_new (NULL));
+}
+
 
 /* ----------------------------------------------------------------------
  * Public interface


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]