[gimp] Bug 784647: Crash when choosing debug option Show Image Graph
- From: Jehan Pagès <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] Bug 784647: Crash when choosing debug option Show Image Graph
- Date: Wed, 10 Jan 2018 16:18:13 +0000 (UTC)
commit b118e8242bb8490042e7dc9aee6bcda8df7eef0b
Author: Massimo Valentini <mvalentini src gnome org>
Date: Wed Jan 10 10:29:37 2018 +0100
Bug 784647: Crash when choosing debug option Show Image Graph
The attached patch avoids CRITICALs when executing Debug actions
with no images open.
1) do not run projection benchmark unless there is an image
2) memsize of pluginmanager member was incorrectly computed using
gimp_object functions for 2 GObjects
app/actions/debug-commands.c | 26 +++++++++++++++-----------
app/plug-in/gimppluginmanager.c | 6 ++----
2 files changed, 17 insertions(+), 15 deletions(-)
---
diff --git a/app/actions/debug-commands.c b/app/actions/debug-commands.c
index 6e1a28a..85de856 100644
--- a/app/actions/debug-commands.c
+++ b/app/actions/debug-commands.c
@@ -282,22 +282,26 @@ debug_dump_attached_data_cmd_callback (GtkAction *action,
static gboolean
debug_benchmark_projection (GimpDisplay *display)
{
- GimpImage *image = gimp_display_get_image (display);
- GimpProjection *projection = gimp_image_get_projection (image);
+ GimpImage *image = gimp_display_get_image (display);
- GIMP_TIMER_START ();
+ if (image)
+ {
+ GimpProjection *projection = gimp_image_get_projection (image);
+
+ GIMP_TIMER_START ();
- gimp_image_invalidate (image,
- 0, 0,
- gimp_image_get_width (image),
- gimp_image_get_height (image));
- gimp_projection_flush_now (projection);
+ gimp_image_invalidate (image,
+ 0, 0,
+ gimp_image_get_width (image),
+ gimp_image_get_height (image));
+ gimp_projection_flush_now (projection);
- gimp_display_flush_now (display);
+ gimp_display_flush_now (display);
- GIMP_TIMER_END ("Validation of the entire projection");
+ GIMP_TIMER_END ("Validation of the entire projection");
- g_object_unref (display);
+ g_object_unref (display);
+ }
return FALSE;
}
diff --git a/app/plug-in/gimppluginmanager.c b/app/plug-in/gimppluginmanager.c
index 6fd19f0..705eeb9 100644
--- a/app/plug-in/gimppluginmanager.c
+++ b/app/plug-in/gimppluginmanager.c
@@ -192,10 +192,8 @@ gimp_plug_in_manager_get_memsize (GimpObject *object,
memsize += gimp_g_slist_get_memsize (manager->plug_in_stack, 0);
memsize += 0; /* FIXME manager->shm */
- memsize += gimp_object_get_memsize (GIMP_OBJECT (manager->interpreter_db),
- gui_size);
- memsize += gimp_object_get_memsize (GIMP_OBJECT (manager->environ_table),
- gui_size);
+ memsize += /* FIXME */ gimp_g_object_get_memsize (G_OBJECT (manager->interpreter_db));
+ memsize += /* FIXME */ gimp_g_object_get_memsize (G_OBJECT (manager->environ_table));
memsize += 0; /* FIXME manager->plug_in_debug */
memsize += gimp_g_list_get_memsize (manager->data_list, 0 /* FIXME */);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]