[gnome-builder] workbench: avoid creating temporary file with command line params
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] workbench: avoid creating temporary file with command line params
- Date: Sat, 25 Apr 2015 08:08:50 +0000 (UTC)
commit 22b658ad555b900ffffd312a75180fa784280d24
Author: Christian Hergert <christian hergert me>
Date: Sat Apr 25 01:08:28 2015 -0700
workbench: avoid creating temporary file with command line params
There is a case we restored nothing, and the command line files have been
requested to be opened, but no buffers have yet been created.
We don't want to open a temporary buffer in that case.
src/workbench/gb-workbench-private.h | 2 ++
src/workbench/gb-workbench.c | 14 ++++++++------
2 files changed, 10 insertions(+), 6 deletions(-)
---
diff --git a/src/workbench/gb-workbench-private.h b/src/workbench/gb-workbench-private.h
index e05138c..3d99018 100644
--- a/src/workbench/gb-workbench-private.h
+++ b/src/workbench/gb-workbench-private.h
@@ -54,8 +54,10 @@ struct _GbWorkbench
gulong project_notify_name_handler;
guint disposing;
+
guint building : 1;
guint unloading : 1;
+ guint has_opened : 1;
};
G_END_DECLS
diff --git a/src/workbench/gb-workbench.c b/src/workbench/gb-workbench.c
index 53a5a5a..fe6d735 100644
--- a/src/workbench/gb-workbench.c
+++ b/src/workbench/gb-workbench.c
@@ -97,7 +97,7 @@ gb_workbench__context_restore_cb (GObject *object,
}
buffer_manager = ide_context_get_buffer_manager (context);
- if (ide_buffer_manager_get_n_buffers (buffer_manager) == 0)
+ if ((ide_buffer_manager_get_n_buffers (buffer_manager) == 0) && (self->has_opened == FALSE))
gb_workbench_add_temporary_buffer (self);
gtk_widget_grab_focus (GTK_WIDGET (self->editor_workspace));
@@ -121,11 +121,6 @@ gb_workbench_connect_context (GbWorkbench *self,
self,
G_CONNECT_SWAPPED);
gb_workbench__project_notify_name_cb (self, NULL, project);
-
- ide_context_restore_async (context,
- NULL,
- gb_workbench__context_restore_cb,
- g_object_ref (self));
}
static void
@@ -301,6 +296,11 @@ gb_workbench_realize (GtkWidget *widget)
GTK_WIDGET_CLASS (gb_workbench_parent_class)->realize (widget);
gtk_widget_grab_focus (GTK_WIDGET (self->editor_workspace));
+
+ ide_context_restore_async (self->context,
+ NULL,
+ gb_workbench__context_restore_cb,
+ g_object_ref (self));
}
static void
@@ -680,6 +680,8 @@ gb_workbench_open (GbWorkbench *self,
g_return_if_fail (self->unloading == FALSE);
g_return_if_fail (self->context);
+ self->has_opened = TRUE;
+
/*
* TODO: We probably want to dispatch this based on the type. But for now,
* we will just try to open it with the buffer manager.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]