[gnome-builder/gnome-builder-3-32] buffer-monitor: prefer IdeBufferAddin::file-loaded
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/gnome-builder-3-32] buffer-monitor: prefer IdeBufferAddin::file-loaded
- Date: Tue, 7 May 2019 15:14:45 +0000 (UTC)
commit 202dc1bc414477df9908afd4c31d026c445ba167
Author: Christian Hergert <chergert redhat com>
Date: Tue May 7 08:10:12 2019 -0700
buffer-monitor: prefer IdeBufferAddin::file-loaded
We want to re-setup the monitor when the buffer has finished
loading, or we risk only tracking a single external
modification.
Fixes #908
.../buffer-monitor/gbp-buffer-monitor-buffer-addin.c | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
---
diff --git a/src/plugins/buffer-monitor/gbp-buffer-monitor-buffer-addin.c
b/src/plugins/buffer-monitor/gbp-buffer-monitor-buffer-addin.c
index 8fa5fd78d..42fbb50c6 100644
--- a/src/plugins/buffer-monitor/gbp-buffer-monitor-buffer-addin.c
+++ b/src/plugins/buffer-monitor/gbp-buffer-monitor-buffer-addin.c
@@ -236,16 +236,12 @@ gbp_buffer_monitor_buffer_addin_load (IdeBufferAddin *addin,
GbpBufferMonitorBufferAddin *self = (GbpBufferMonitorBufferAddin *)addin;
g_autoptr(IdeContext) context = NULL;
IdeProject *project;
- GFile *file;
g_assert (GBP_IS_BUFFER_MONITOR_BUFFER_ADDIN (self));
g_assert (IDE_IS_BUFFER (buffer));
self->buffer = buffer;
- file = ide_buffer_get_file (buffer);
- gbp_buffer_monitor_buffer_addin_setup_monitor (self, file);
-
context = ide_buffer_ref_context (buffer);
project = ide_project_from_context (context);
g_signal_connect_object (project,
@@ -319,6 +315,20 @@ gbp_buffer_monitor_buffer_addin_file_saved (IdeBufferAddin *addin,
gbp_buffer_monitor_buffer_addin_setup_monitor (self, current);
}
+static void
+gbp_buffer_monitor_buffer_addin_file_loaded (IdeBufferAddin *addin,
+ IdeBuffer *buffer,
+ GFile *file)
+{
+ GbpBufferMonitorBufferAddin *self = (GbpBufferMonitorBufferAddin *)addin;
+
+ g_assert (IDE_IS_BUFFER_ADDIN (addin));
+ g_assert (IDE_IS_BUFFER (buffer));
+ g_assert (G_IS_FILE (file));
+
+ gbp_buffer_monitor_buffer_addin_setup_monitor (self, file);
+}
+
static void
buffer_addin_iface_init (IdeBufferAddinInterface *iface)
{
@@ -326,6 +336,7 @@ buffer_addin_iface_init (IdeBufferAddinInterface *iface)
iface->unload = gbp_buffer_monitor_buffer_addin_unload;
iface->save_file = gbp_buffer_monitor_buffer_addin_save_file;
iface->file_saved = gbp_buffer_monitor_buffer_addin_file_saved;
+ iface->file_loaded = gbp_buffer_monitor_buffer_addin_file_loaded;
}
G_DEFINE_TYPE_WITH_CODE (GbpBufferMonitorBufferAddin, gbp_buffer_monitor_buffer_addin, G_TYPE_OBJECT,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]