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

Changing the font of a GtkTextTag



Hello,

I am having trouble changing the font of a GtkTextTag.  I am using

  g_object_set((gpointer) tag, "font", "sans 14", NULL);

to change the font to "sans 14".  This works once.  The second time I call
g_object_set, the program crashes with the message

  (testc:1003): Gtk-CRITICAL **: file gtktextbtree.c: line 3418
  (_gtk_text_line_get_data): assertion `line != NULL' failed

I have attached a test program that exhibits this behavior.  Please let me know
if this is the correct way to change the font.  I built the program with

  gcc $(pkg-config --cflags --libs libgnomeui-2.0) test.c -o testc

Thanks,
Alban
#include <stdio.h>
#include <gtk/gtk.h>

gboolean delete_cb(GtkWidget *, GdkEvent *, gpointer);

int 
main(int argc, char* argv[])
{
  GtkWidget *top;
  GtkWidget *view;
  GtkTextTagTable *tagTable;
  GtkTextBuffer *buffer;
  GtkTextTag *tag;
  GtkTextIter start, end;
  /***********************************************************************/
  gtk_init(&argc, &argv);
  top = gtk_window_new(GTK_WINDOW_TOPLEVEL);

  tagTable = gtk_text_tag_table_new();
  buffer = gtk_text_buffer_new(tagTable);
  view = gtk_text_view_new_with_buffer(buffer);

  gtk_container_add(GTK_CONTAINER(top), view);

  gtk_widget_show_all(top);

  tag = gtk_text_tag_new(NULL);
  gtk_text_tag_table_add(tagTable, tag);
  g_object_set((gpointer) tag, "font", "sans 14", NULL);

  gtk_text_buffer_set_text(buffer,
			   "1234567890\nabcdefghij\nklmnopqust\nuvwxyz",
			   -1);
  gtk_text_buffer_get_bounds(buffer, &start, &end);
  gtk_text_buffer_apply_tag(buffer, tag, &start, &end);

  fprintf(stderr, "Calling g_object_set...");
  g_object_set((gpointer) tag, "font", "sans 14", NULL);
  fprintf(stderr, "done\n");

  gtk_main();

  return 0;
}

/** Delete signal.
 */
gboolean
delete_cb(GtkWidget* widget, GdkEvent *event, gpointer data)
{
  gtk_main_quit();
  return(FALSE);
}


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