[gnome-builder/wip/gtk4-port] libide/gui: leave TODO about plugin unloading
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/gtk4-port] libide/gui: leave TODO about plugin unloading
- Date: Sun, 8 May 2022 17:46:57 +0000 (UTC)
commit 5fd76003f624c8c3d3290ab1d5bcf71cd3468fbf
Author: Christian Hergert <chergert redhat com>
Date: Sun May 8 10:46:52 2022 -0700
libide/gui: leave TODO about plugin unloading
src/libide/gui/ide-application-plugins.c | 2 ++
src/libide/gui/ide-application-private.h | 2 ++
src/libide/gui/ide-application.c | 11 +++++++++++
3 files changed, 15 insertions(+)
---
diff --git a/src/libide/gui/ide-application-plugins.c b/src/libide/gui/ide-application-plugins.c
index 02df5388e..e7c37c497 100644
--- a/src/libide/gui/ide-application-plugins.c
+++ b/src/libide/gui/ide-application-plugins.c
@@ -280,6 +280,8 @@ ide_application_plugins_unload_plugin_after_cb (IdeApplication *self,
module_dir = peas_plugin_info_get_module_dir (plugin_info);
module_name = peas_plugin_info_get_module_name (plugin_info);
+ _ide_application_remove_resources (self, module_dir);
+
g_debug ("Unloaded plugin \"%s\" with module-dir \"%s\"",
module_name, module_dir);
}
diff --git a/src/libide/gui/ide-application-private.h b/src/libide/gui/ide-application-private.h
index cc02d7547..62e3884c6 100644
--- a/src/libide/gui/ide-application-private.h
+++ b/src/libide/gui/ide-application-private.h
@@ -114,5 +114,7 @@ void _ide_application_command_line (IdeApplication
GApplicationCommandLine *cmdline);
void _ide_application_add_resources (IdeApplication *self,
const char *path);
+void _ide_application_remove_resources (IdeApplication *self,
+ const char *path);
G_END_DECLS
diff --git a/src/libide/gui/ide-application.c b/src/libide/gui/ide-application.c
index 554e02282..b24c53cba 100644
--- a/src/libide/gui/ide-application.c
+++ b/src/libide/gui/ide-application.c
@@ -332,6 +332,17 @@ _ide_application_add_resources (IdeApplication *self,
ide_shortcut_manager_add_resources (resource_path);
}
+void
+_ide_application_remove_resources (IdeApplication *self,
+ const char *resource_path)
+{
+ g_return_if_fail (IDE_IS_APPLICATION (self));
+ g_return_if_fail (resource_path != NULL);
+
+ /* Unmerge menus, keybindings, etc */
+ g_warning ("TODO: implement resource unloading for plugins: %s", resource_path);
+}
+
static void
ide_application_get_property (GObject *object,
guint prop_id,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]