From 3b3891191e9fe32d682a36e980aeaae16c33d2d2 Mon Sep 17 00:00:00 2001 From: Tim Janik Date: Sat, 23 Oct 1999 01:32:26 +0000 Subject: undraw/draw cursor here to avoid unnecessary scrolling in frozen state Sat Oct 23 03:03:08 1999 Tim Janik * gtk/gtktext.c (gtk_text_freeze): (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling in frozen state (and aparently crashes). patch provided by Anders Melchiorsen . Sat Oct 23 02:53:20 1999 Tim Janik * fix insensitive default/focus widget activation, reported by Matt Goodall . * gtk/gtkwindow.c (gtk_window_key_press_event): (gtk_window_activate_default): (gtk_window_activate_focus): return handled=FALSE for actiavtion of insensitive default widgets. return handled=TRUE for activation of insensitive focus widgets. don't activate in either case. --- ChangeLog | 19 +++++++++++++++++++ ChangeLog.pre-2-0 | 19 +++++++++++++++++++ ChangeLog.pre-2-10 | 19 +++++++++++++++++++ ChangeLog.pre-2-2 | 19 +++++++++++++++++++ ChangeLog.pre-2-4 | 19 +++++++++++++++++++ ChangeLog.pre-2-6 | 19 +++++++++++++++++++ ChangeLog.pre-2-8 | 19 +++++++++++++++++++ gtk/gtktext.c | 4 +++- gtk/gtkwindow.c | 16 +++++++++------- 9 files changed, 145 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 10cadeb47..8033ec5df 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,22 @@ +Sat Oct 23 03:03:08 1999 Tim Janik + + * gtk/gtktext.c (gtk_text_freeze): + (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling + in frozen state (and aparently crashes). patch provided by Anders + Melchiorsen . + +Sat Oct 23 02:53:20 1999 Tim Janik + + * fix insensitive default/focus widget activation, + reported by Matt Goodall . + + * gtk/gtkwindow.c (gtk_window_key_press_event): + (gtk_window_activate_default): + (gtk_window_activate_focus): + return handled=FALSE for actiavtion of insensitive default + widgets. return handled=TRUE for activation of insensitive + focus widgets. don't activate in either case. + Tue Oct 19 09:55:08 1999 Owen Taylor * gtk-config.in (lib_gtk): Switch order of @x_cflags@ diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 10cadeb47..8033ec5df 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,22 @@ +Sat Oct 23 03:03:08 1999 Tim Janik + + * gtk/gtktext.c (gtk_text_freeze): + (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling + in frozen state (and aparently crashes). patch provided by Anders + Melchiorsen . + +Sat Oct 23 02:53:20 1999 Tim Janik + + * fix insensitive default/focus widget activation, + reported by Matt Goodall . + + * gtk/gtkwindow.c (gtk_window_key_press_event): + (gtk_window_activate_default): + (gtk_window_activate_focus): + return handled=FALSE for actiavtion of insensitive default + widgets. return handled=TRUE for activation of insensitive + focus widgets. don't activate in either case. + Tue Oct 19 09:55:08 1999 Owen Taylor * gtk-config.in (lib_gtk): Switch order of @x_cflags@ diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 10cadeb47..8033ec5df 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,22 @@ +Sat Oct 23 03:03:08 1999 Tim Janik + + * gtk/gtktext.c (gtk_text_freeze): + (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling + in frozen state (and aparently crashes). patch provided by Anders + Melchiorsen . + +Sat Oct 23 02:53:20 1999 Tim Janik + + * fix insensitive default/focus widget activation, + reported by Matt Goodall . + + * gtk/gtkwindow.c (gtk_window_key_press_event): + (gtk_window_activate_default): + (gtk_window_activate_focus): + return handled=FALSE for actiavtion of insensitive default + widgets. return handled=TRUE for activation of insensitive + focus widgets. don't activate in either case. + Tue Oct 19 09:55:08 1999 Owen Taylor * gtk-config.in (lib_gtk): Switch order of @x_cflags@ diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 10cadeb47..8033ec5df 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,22 @@ +Sat Oct 23 03:03:08 1999 Tim Janik + + * gtk/gtktext.c (gtk_text_freeze): + (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling + in frozen state (and aparently crashes). patch provided by Anders + Melchiorsen . + +Sat Oct 23 02:53:20 1999 Tim Janik + + * fix insensitive default/focus widget activation, + reported by Matt Goodall . + + * gtk/gtkwindow.c (gtk_window_key_press_event): + (gtk_window_activate_default): + (gtk_window_activate_focus): + return handled=FALSE for actiavtion of insensitive default + widgets. return handled=TRUE for activation of insensitive + focus widgets. don't activate in either case. + Tue Oct 19 09:55:08 1999 Owen Taylor * gtk-config.in (lib_gtk): Switch order of @x_cflags@ diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 10cadeb47..8033ec5df 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,22 @@ +Sat Oct 23 03:03:08 1999 Tim Janik + + * gtk/gtktext.c (gtk_text_freeze): + (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling + in frozen state (and aparently crashes). patch provided by Anders + Melchiorsen . + +Sat Oct 23 02:53:20 1999 Tim Janik + + * fix insensitive default/focus widget activation, + reported by Matt Goodall . + + * gtk/gtkwindow.c (gtk_window_key_press_event): + (gtk_window_activate_default): + (gtk_window_activate_focus): + return handled=FALSE for actiavtion of insensitive default + widgets. return handled=TRUE for activation of insensitive + focus widgets. don't activate in either case. + Tue Oct 19 09:55:08 1999 Owen Taylor * gtk-config.in (lib_gtk): Switch order of @x_cflags@ diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 10cadeb47..8033ec5df 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,22 @@ +Sat Oct 23 03:03:08 1999 Tim Janik + + * gtk/gtktext.c (gtk_text_freeze): + (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling + in frozen state (and aparently crashes). patch provided by Anders + Melchiorsen . + +Sat Oct 23 02:53:20 1999 Tim Janik + + * fix insensitive default/focus widget activation, + reported by Matt Goodall . + + * gtk/gtkwindow.c (gtk_window_key_press_event): + (gtk_window_activate_default): + (gtk_window_activate_focus): + return handled=FALSE for actiavtion of insensitive default + widgets. return handled=TRUE for activation of insensitive + focus widgets. don't activate in either case. + Tue Oct 19 09:55:08 1999 Owen Taylor * gtk-config.in (lib_gtk): Switch order of @x_cflags@ diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 10cadeb47..8033ec5df 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,22 @@ +Sat Oct 23 03:03:08 1999 Tim Janik + + * gtk/gtktext.c (gtk_text_freeze): + (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling + in frozen state (and aparently crashes). patch provided by Anders + Melchiorsen . + +Sat Oct 23 02:53:20 1999 Tim Janik + + * fix insensitive default/focus widget activation, + reported by Matt Goodall . + + * gtk/gtkwindow.c (gtk_window_key_press_event): + (gtk_window_activate_default): + (gtk_window_activate_focus): + return handled=FALSE for actiavtion of insensitive default + widgets. return handled=TRUE for activation of insensitive + focus widgets. don't activate in either case. + Tue Oct 19 09:55:08 1999 Owen Taylor * gtk-config.in (lib_gtk): Switch order of @x_cflags@ diff --git a/gtk/gtktext.c b/gtk/gtktext.c index 3b4e95032..dea03ec94 100644 --- a/gtk/gtktext.c +++ b/gtk/gtktext.c @@ -901,8 +901,9 @@ gtk_text_freeze (GtkText *text) { g_return_if_fail (text != NULL); g_return_if_fail (GTK_IS_TEXT (text)); - + text->freeze_count++; + undraw_cursor (text, FALSE); } void @@ -917,6 +918,7 @@ gtk_text_thaw (GtkText *text) recompute_geometry (text); gtk_widget_queue_draw (GTK_WIDGET (text)); } + draw_cursor (text, FALSE); } void diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 9f1c875ea..4be35b630 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -525,7 +525,8 @@ gtk_window_activate_focus (GtkWindow *window) if (window->focus_widget) { - gtk_widget_activate (window->focus_widget); + if (GTK_WIDGET_IS_SENSITIVE (window->focus_widget)) + gtk_widget_activate (window->focus_widget); return TRUE; } @@ -538,7 +539,7 @@ gtk_window_activate_default (GtkWindow *window) g_return_val_if_fail (window != NULL, FALSE); g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE); - if (window->default_widget) + if (window->default_widget && GTK_WIDGET_IS_SENSITIVE (window->default_widget)) { gtk_widget_activate (window->default_widget); return TRUE; @@ -1179,22 +1180,23 @@ gtk_window_key_press_event (GtkWidget *widget, case GDK_space: if (window->focus_widget) { - gtk_widget_activate (window->focus_widget); + if (GTK_WIDGET_IS_SENSITIVE (window->focus_widget)) + gtk_widget_activate (window->focus_widget); handled = TRUE; } break; case GDK_Return: case GDK_KP_Enter: - if (window->default_widget && - (!window->focus_widget || - !GTK_WIDGET_RECEIVES_DEFAULT (window->focus_widget))) + if (window->default_widget && GTK_WIDGET_IS_SENSITIVE (window->default_widget) && + (!window->focus_widget || !GTK_WIDGET_RECEIVES_DEFAULT (window->focus_widget))) { gtk_widget_activate (window->default_widget); handled = TRUE; } else if (window->focus_widget) { - gtk_widget_activate (window->focus_widget); + if (GTK_WIDGET_IS_SENSITIVE (window->focus_widget)) + gtk_widget_activate (window->focus_widget); handled = TRUE; } break; -- cgit v1.2.1