Added guards, fixed idle handler removal on finalization

This commit is contained in:
Jesse van den Kieboom 2005-11-15 11:53:25 +00:00
parent e549ae9b9a
commit 8fe7604cd5
1 changed files with 15 additions and 1 deletions

View File

@ -49,6 +49,10 @@ gm_text_scroller_finalize(GObject *object) {
g_object_unref(obj->priv->text_buffer);
}
if (obj->priv->idle_handler) {
g_source_remove(obj->priv->idle_handler);
}
g_signal_handlers_disconnect_by_func(obj->priv->text_view,
G_CALLBACK(on_gm_text_scroller_text_view_notify), obj);
g_signal_handlers_disconnect_by_func(obj->priv->text_view,
@ -113,6 +117,8 @@ gm_text_scroller_scroll_end(GmTextScroller *scroller) {
GtkTextMark *mark;
GtkTextIter iter;
g_return_if_fail(GTK_IS_TEXT_BUFFER(scroller->priv->text_buffer));
mark = gtk_text_buffer_get_mark(scroller->priv->text_buffer,
"end-of-buffer");
@ -131,6 +137,8 @@ gm_text_scroller_scroll_begin(GmTextScroller *scroller) {
GtkTextMark *mark;
GtkTextIter iter;
g_return_if_fail(GTK_IS_TEXT_BUFFER(scroller->priv->text_buffer));
mark = gtk_text_buffer_get_mark(scroller->priv->text_buffer,
"begin-of-buffer");
@ -241,13 +249,18 @@ on_gm_text_scroller_text_view_notify(GtkTextView *text_view, GParamSpec *arg1,
void
on_gm_text_scroller_text_view_style_set(GtkTextView *view,
GtkStyle *previous_style, GmTextScroller *scroller) {
g_return_if_fail(GM_IS_TEXT_SCROLLER(scroller));
gm_text_scroller_update_character_height(scroller);
}
void
on_gm_text_scroller_text_buffer_changed(GtkTextBuffer *text_buffer,
GmTextScroller *scroller) {
// Changed...
g_return_if_fail(GM_IS_TEXT_SCROLLER(scroller));
gm_text_scroller_prepare(scroller);
}
@ -255,5 +268,6 @@ void
on_gm_text_scroller_text_view_destroy(GtkTextView *text_view,
GmTextScroller *scroller) {
// Remove ourselfs when the text view dies
g_object_unref(scroller);
}