[gimp] app: fix CRITICALs in GimpMeasureTool
- From: Ell <ell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: fix CRITICALs in GimpMeasureTool
- Date: Mon, 4 Feb 2019 21:53:15 +0000 (UTC)
commit 7fc5698f32a144336d6732eabb1a0cdc7be8f757
Author: Ell <ell_se yahoo com>
Date: Mon Feb 4 09:36:35 2019 -0500
app: fix CRITICALs in GimpMeasureTool
In GimpMeasureTool, don't try to access the "straighten" button
when halting the tool if it's NULL, which can happen when the
measure tool is selected upon startup, but is changed before its
tool-options GUI is constructed.
app/tools/gimpmeasuretool.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
---
diff --git a/app/tools/gimpmeasuretool.c b/app/tools/gimpmeasuretool.c
index c498aced13..4fc7504f6c 100644
--- a/app/tools/gimpmeasuretool.c
+++ b/app/tools/gimpmeasuretool.c
@@ -494,7 +494,15 @@ gimp_measure_tool_halt (GimpMeasureTool *measure)
GimpMeasureOptions *options = GIMP_MEASURE_TOOL_GET_OPTIONS (measure);
GimpTool *tool = GIMP_TOOL (measure);
- gtk_widget_set_sensitive (options->straighten_button, FALSE);
+ if (options->straighten_button)
+ {
+ gtk_widget_set_sensitive (options->straighten_button, FALSE);
+
+ g_signal_handlers_disconnect_by_func (
+ options->straighten_button,
+ G_CALLBACK (gimp_measure_tool_straighten_button_clicked),
+ measure);
+ }
if (tool->display)
gimp_tool_pop_status (tool, tool->display);
@@ -502,11 +510,6 @@ gimp_measure_tool_halt (GimpMeasureTool *measure)
if (gimp_draw_tool_is_active (GIMP_DRAW_TOOL (measure)))
gimp_draw_tool_stop (GIMP_DRAW_TOOL (measure));
- g_signal_handlers_disconnect_by_func (
- options->straighten_button,
- G_CALLBACK (gimp_measure_tool_straighten_button_clicked),
- measure);
-
gimp_draw_tool_set_widget (GIMP_DRAW_TOOL (tool), NULL);
g_clear_object (&measure->widget);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]