[gnome-builder] sourceview: protect against async callback after destruction
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] sourceview: protect against async callback after destruction
- Date: Mon, 6 Mar 2017 22:31:24 +0000 (UTC)
commit 7c53eadfb9e5cc4981ab2f0710b9cecdcb74be76
Author: Christian Hergert <chergert redhat com>
Date: Mon Mar 6 14:31:15 2017 -0800
sourceview: protect against async callback after destruction
If we had a really long async process it is possible that our text marks
were destroyed and zeroed. Check for that before calling move_mark.
libide/sourceview/ide-source-view.c | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
---
diff --git a/libide/sourceview/ide-source-view.c b/libide/sourceview/ide-source-view.c
index 8b58ae8..f1f7e21 100644
--- a/libide/sourceview/ide-source-view.c
+++ b/libide/sourceview/ide-source-view.c
@@ -2800,12 +2800,15 @@ ide_source_view_get_definition_on_mouse_over_cb (GObject *object,
gtk_text_buffer_apply_tag_by_name (GTK_TEXT_BUFFER (priv->buffer),
TAG_DEFINITION, &word_start, &word_end);
- gtk_text_buffer_move_mark (GTK_TEXT_BUFFER (priv->buffer),
- priv->definition_highlight_start_mark,
- &word_start);
- gtk_text_buffer_move_mark (GTK_TEXT_BUFFER (priv->buffer),
- priv->definition_highlight_end_mark,
- &word_end);
+ if (priv->definition_highlight_start_mark != NULL)
+ gtk_text_buffer_move_mark (GTK_TEXT_BUFFER (priv->buffer),
+ priv->definition_highlight_start_mark,
+ &word_start);
+
+ if (priv->definition_highlight_end_mark != NULL)
+ gtk_text_buffer_move_mark (GTK_TEXT_BUFFER (priv->buffer),
+ priv->definition_highlight_end_mark,
+ &word_end);
ide_source_view_set_cursor_from_name (data->self, "pointer");
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]