summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--gtk/gtkentry.c5
-rw-r--r--gtk/gtktextview.c5
3 files changed, 15 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index a2bfd3b0ac..b234e26010 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-12-29 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtkentry.c (blink_cb):
+ * gtk/gtktextview.c (blink_cb): Don't die in an assertion
+ if focus went missing. Just warn, clean up and continue.
+ (#374378)
+
2006-12-29 Carlos Garnacho <carlosg@gnome.org>
* gtk/gtknotebook.c (gtk_notebook_scroll): return if the widget that
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index 49bcb3b9bf..9cfa39ae94 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -5385,9 +5385,12 @@ blink_cb (gpointer data)
g_warning ("GtkEntry - did not receive focus-out-event. If you\n"
"connect a handler to this signal, it must return\n"
"FALSE so the entry gets the event as well");
+
+ gtk_entry_check_cursor_blink (entry);
+
+ return FALSE;
}
- g_assert (GTK_WIDGET_HAS_FOCUS (entry));
g_assert (entry->selection_bound == entry->current_pos);
blink_timeout = get_cursor_blink_timeout (entry);
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index 6980d09618..5f8529e9a1 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -4514,10 +4514,13 @@ blink_cb (gpointer data)
g_warning ("GtkTextView - did not receive focus-out-event. If you\n"
"connect a handler to this signal, it must return\n"
"FALSE so the text view gets the event as well");
+
+ gtk_text_view_check_cursor_blink (text_view);
+
+ return FALSE;
}
g_assert (text_view->layout);
- g_assert (GTK_WIDGET_HAS_FOCUS (text_view));
g_assert (text_view->cursor_visible);
visible = gtk_text_layout_get_cursor_visible (text_view->layout);