Yet Another GtkText Bug...
- From: Thomas Mailund Jensen <mailund daimi aau dk>
- To: gtk-list redhat com
- Subject: Yet Another GtkText Bug...
- Date: 02 Aug 1998 14:20:18 +0200
Here's another program that crashes the text widget...I don't know if
it's related to the other bugs...
Run the program, typein "foobar" (or something else with more than 3
lettes), and then press F1.
It'll then crash with:
** ERROR **: file gtktext.c: line 4183 (find_line_params): "lp.end.property"
===File ~/tmp/foo.c=========================================
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
static void
argh (GtkWidget *text)
{
static GdkColormap *cmap = NULL;
GdkColor red;
gchar *tmp;
guint pos;
if (!cmap) {
cmap = gtk_widget_get_colormap (text);
red.red = 65535;
red.green = 0;
red.blue = 0;
gdk_color_alloc (cmap, &red);
}
/* save position */
pos = gtk_editable_get_position (GTK_EDITABLE (text));
/* stuff to make it crash */
tmp = gtk_editable_get_chars (GTK_EDITABLE (text), 0, 3);
gtk_editable_delete_text (GTK_EDITABLE (text), 0, 3);
gtk_text_set_point (GTK_TEXT (text), 0);
gtk_text_insert (GTK_TEXT (text), NULL, &red, NULL,
tmp, 3);
g_free (tmp);
/* restore position */
gtk_editable_set_position (GTK_EDITABLE (text), pos);
}
static gboolean
keypress (GtkWidget *text, GdkEventKey *ev)
{
g_return_val_if_fail (text != NULL, FALSE);
g_return_val_if_fail (ev != NULL, FALSE);
switch (ev->keyval) {
case GDK_F1:
argh (text);
break;
}
return FALSE;
}
int
main (int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *text;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
text = gtk_text_new (NULL, NULL);
gtk_text_set_editable (GTK_TEXT (text), TRUE);
gtk_signal_connect (GTK_OBJECT (text), "key-press-event",
GTK_SIGNAL_FUNC (keypress), NULL);
gtk_container_add (GTK_CONTAINER (window), text);
gtk_widget_show_all (window);
gtk_main ();
return 0;
}
============================================================
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]