[gnome-builder] editor: add more tracing to editor perspective
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] editor: add more tracing to editor perspective
- Date: Tue, 19 Sep 2017 21:31:35 +0000 (UTC)
commit e1d79c2fbeb3cf55050bfe0a8d1f7f6d26e38a77
Author: Christian Hergert <chergert redhat com>
Date: Tue Sep 19 14:31:25 2017 -0700
editor: add more tracing to editor perspective
libide/editor/ide-editor-perspective.c | 44 +++++++++++++++++++++++++------
1 files changed, 35 insertions(+), 9 deletions(-)
---
diff --git a/libide/editor/ide-editor-perspective.c b/libide/editor/ide-editor-perspective.c
index d9234c0..23671c6 100644
--- a/libide/editor/ide-editor-perspective.c
+++ b/libide/editor/ide-editor-perspective.c
@@ -20,6 +20,8 @@
#include <glib/gi18n.h>
+#include "ide-debug.h"
+
#include "buffers/ide-buffer.h"
#include "buffers/ide-buffer-manager.h"
#include "diagnostics/ide-source-location.h"
@@ -340,6 +342,8 @@ ide_editor_perspective_focus_location_cb (GObject *object,
FocusLocation *state = user_data;
GError *error = NULL;
+ IDE_ENTRY;
+
g_assert (IDE_IS_BUFFER_MANAGER (bufmgr));
g_assert (state != NULL);
g_assert (IDE_IS_EDITOR_PERSPECTIVE (state->self));
@@ -350,16 +354,18 @@ ide_editor_perspective_focus_location_cb (GObject *object,
/* TODO: display warning breifly to the user in the frame? */
g_warning ("%s", error->message);
g_clear_error (&error);
- goto cleanup;
+ IDE_GOTO (cleanup);
}
/* try again now that we have loaded */
ide_editor_perspective_focus_location_full (state->self, state->location, FALSE);
cleanup:
- g_object_unref (state->self);
- ide_source_location_unref (state->location);
+ g_clear_object (&state->self);
+ g_clear_pointer (&state->location, ide_source_location_unref);
g_slice_free (FocusLocation, state);
+
+ IDE_EXIT;
}
static void
@@ -375,8 +381,10 @@ ide_editor_perspective_focus_location_full (IdeEditorPerspective *self,
guint line;
guint line_offset;
- g_return_if_fail (IDE_IS_EDITOR_PERSPECTIVE (self));
- g_return_if_fail (location != NULL);
+ IDE_ENTRY;
+
+ g_assert (IDE_IS_EDITOR_PERSPECTIVE (self));
+ g_assert (location != NULL);
lookup.file = ide_source_location_get_file (location);
lookup.view = NULL;
@@ -384,15 +392,23 @@ ide_editor_perspective_focus_location_full (IdeEditorPerspective *self,
if (lookup.file == NULL)
{
g_warning ("IdeSourceLocation does not contain a file");
- return;
+ IDE_EXIT;
}
+#ifdef IDE_ENABLE_TRACE
+ {
+ const gchar *path = ide_file_get_path (lookup.file);
+ IDE_TRACE_MSG ("Locating %s, open_if_not_found=%d",
+ path, open_if_not_found);
+ }
+#endif
+
ide_perspective_views_foreach (IDE_PERSPECTIVE (self),
ide_editor_perspective_find_source_location,
&lookup);
if (!open_if_not_found && lookup.view == NULL)
- return;
+ IDE_EXIT;
if (lookup.view == NULL)
{
@@ -417,7 +433,7 @@ ide_editor_perspective_focus_location_full (IdeEditorPerspective *self,
NULL,
ide_editor_perspective_focus_location_cb,
state);
- return;
+ IDE_EXIT;
}
line = ide_source_location_get_line (location);
@@ -426,16 +442,22 @@ ide_editor_perspective_focus_location_full (IdeEditorPerspective *self,
stack = gtk_widget_get_ancestor (GTK_WIDGET (lookup.view), IDE_TYPE_LAYOUT_STACK);
ide_layout_stack_set_visible_child (IDE_LAYOUT_STACK (stack), IDE_LAYOUT_VIEW (lookup.view));
ide_editor_view_scroll_to_line_offset (lookup.view, line, line_offset);
+
+ IDE_EXIT;
}
void
ide_editor_perspective_focus_location (IdeEditorPerspective *self,
IdeSourceLocation *location)
{
+ IDE_ENTRY;
+
g_return_if_fail (IDE_IS_EDITOR_PERSPECTIVE (self));
g_return_if_fail (location != NULL);
ide_editor_perspective_focus_location_full (self, location, TRUE);
+
+ IDE_EXIT;
}
static void
@@ -496,17 +518,21 @@ ide_editor_perspective_focus_buffer (IdeEditorPerspective *self,
{
IdeEditorView *view;
+ IDE_ENTRY;
+
g_return_if_fail (IDE_IS_EDITOR_PERSPECTIVE (self));
g_return_if_fail (IDE_IS_BUFFER (buffer));
if (ide_editor_perspective_focus_if_found (self, buffer, TRUE))
- return;
+ IDE_EXIT;
view = g_object_new (IDE_TYPE_EDITOR_VIEW,
"buffer", buffer,
"visible", TRUE,
NULL);
gtk_container_add (GTK_CONTAINER (self->grid), GTK_WIDGET (view));
+
+ IDE_EXIT;
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]