[116754] trunk/dports/graphics/gimp2
devans at macports.org
devans at macports.org
Wed Feb 5 15:41:12 PST 2014
Revision: 116754
https://trac.macports.org/changeset/116754
Author: devans at macports.org
Date: 2014-02-05 15:41:12 -0800 (Wed, 05 Feb 2014)
Log Message:
-----------
gimp2: apply latest upstream patches, intltool configuration, increment revision.
Modified Paths:
--------------
trunk/dports/graphics/gimp2/Portfile
Added Paths:
-----------
trunk/dports/graphics/gimp2/files/patch-ICC-profile-with-long-description-bz723177.diff
trunk/dports/graphics/gimp2/files/patch-crash-removing-tag-from-palette-bz722975.diff
trunk/dports/graphics/gimp2/files/patch-dont-reset-brush-size-before-each-paint-stroke-bz721249.diff
trunk/dports/graphics/gimp2/files/patch-halt-transform-tool-when-switching.diff
trunk/dports/graphics/gimp2/files/patch-plugins-bmp-dont-check-biClrUsed-bz697431.diff
trunk/dports/graphics/gimp2/files/patch-remove-confirm-on-close-preference.diff
trunk/dports/graphics/gimp2/files/patch-snapping-behavior-scale-tool-bz722034.diff
trunk/dports/graphics/gimp2/files/patch-writing-character-constants-bz721775.diff
trunk/dports/graphics/gimp2/files/patch-wrong-name-transfer-tool-dialogs-bz701159.diff
Modified: trunk/dports/graphics/gimp2/Portfile
===================================================================
--- trunk/dports/graphics/gimp2/Portfile 2014-02-05 23:37:41 UTC (rev 116753)
+++ trunk/dports/graphics/gimp2/Portfile 2014-02-05 23:41:12 UTC (rev 116754)
@@ -8,7 +8,7 @@
conflicts gimp2-devel gimp3-devel
# please remember to update the gimp metapackage to match
version 2.8.10
-revision 5
+revision 6
license {GPL-2+ LGPL}
categories graphics
maintainers devans
@@ -102,6 +102,15 @@
patch-gimp-paint-options-set-default-brush-size.diff \
patch-remove-accelerator-markers-python-fu-tooltips.diff \
patch-create-filechooserbutton-bz699978.diff \
+ patch-crash-removing-tag-from-palette-bz722975.diff \
+ patch-ICC-profile-with-long-description-bz723177.diff \
+ patch-remove-confirm-on-close-preference.diff \
+ patch-snapping-behavior-scale-tool-bz722034.diff \
+ patch-plugins-bmp-dont-check-biClrUsed-bz697431.diff \
+ patch-dont-reset-brush-size-before-each-paint-stroke-bz721249.diff \
+ patch-writing-character-constants-bz721775.diff \
+ patch-halt-transform-tool-when-switching.diff \
+ patch-wrong-name-transfer-tool-dialogs-bz701159.diff \
patch-plug-ins-twain-tw_mac.c.diff
# gcc-4.2 5493 and 5666.3_13: gimpcpuaccel.c:180: error: can't find a register in class 'BREG' while reloading 'asm'
@@ -140,7 +149,12 @@
# It doesn't build any more anyways:
# https://trac.macports.org/ticket/35168
-# Don't do intltool's INTLTOOL_PERL dance
+# update m4macros/intltool.m4 and autoreconf
+
+post-patch {
+ copy -force ${prefix}/share/aclocal/intltool.m4 ${worksrcpath}/m4macros
+}
+
use_autoreconf yes
autoreconf.args -fvi
Added: trunk/dports/graphics/gimp2/files/patch-ICC-profile-with-long-description-bz723177.diff
===================================================================
--- trunk/dports/graphics/gimp2/files/patch-ICC-profile-with-long-description-bz723177.diff (rev 0)
+++ trunk/dports/graphics/gimp2/files/patch-ICC-profile-with-long-description-bz723177.diff 2014-02-05 23:41:12 UTC (rev 116754)
@@ -0,0 +1,29 @@
+From 8b6b6add69d3f0d66287a3d2b4e951f28e0d7103 Mon Sep 17 00:00:00 2001
+From: Michael Natterer <mitch at gimp.org>
+Date: Tue, 28 Jan 2014 17:54:46 +0000
+Subject: Bug 723177 - After opening an ICC profile with a long description...
+
+...dialogs are too wide
+
+Ellipsize GimpColorProfileComboBox' label.
+
+(cherry picked from commit 219bf3529942f9b12d65cf93705dbeaf0a9812cb)
+---
+diff --git a/libgimpwidgets/gimpcolorprofilecombobox.c b/libgimpwidgets/gimpcolorprofilecombobox.c
+index 10bde3a..0a1b319 100644
+--- libgimpwidgets/gimpcolorprofilecombobox.c
++++ libgimpwidgets/gimpcolorprofilecombobox.c
+@@ -130,6 +130,11 @@ gimp_color_profile_combo_box_init (GimpColorProfileComboBox *combo_box)
+ {
+ GtkCellRenderer *cell = gtk_cell_renderer_text_new ();
+
++ g_object_set (cell,
++ "ellipsize", PANGO_ELLIPSIZE_END,
++ NULL);
++
++
+ gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), cell, TRUE);
+ gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), cell,
+ "text", GIMP_COLOR_PROFILE_STORE_LABEL,
+--
+cgit v0.9.2
Added: trunk/dports/graphics/gimp2/files/patch-crash-removing-tag-from-palette-bz722975.diff
===================================================================
--- trunk/dports/graphics/gimp2/files/patch-crash-removing-tag-from-palette-bz722975.diff (rev 0)
+++ trunk/dports/graphics/gimp2/files/patch-crash-removing-tag-from-palette-bz722975.diff 2014-02-05 23:41:12 UTC (rev 116754)
@@ -0,0 +1,146 @@
+From 2ec7e24d805d1f524fe455ed08ac641c5244a6e6 Mon Sep 17 00:00:00 2001
+From: Michael Natterer <mitch at gimp.org>
+Date: Sun, 26 Jan 2014 20:03:28 +0000
+Subject: Bug 722975 - crash when removing tag from palette while filtering by same tag
+
+Each of the following cleans up tag refcounting, fixes access to
+released memory, or other small glitches. Not sure which change
+actually fixed the bug:
+
+gimp_data_remove_tag(): remove the found tag, not the passed in tag
+(which is to be treated only as a value for comparison).
+
+gimp_tagged_remove_tag(): don't continue the loop after the tag to
+remove has been found, there can only be one matching tag, and the
+list element has become invalid.
+
+gimptagentry.c: keep references around for the members of
+entry->common_tags, and make sure the references are always dropped
+properly. In assign_tags(), reference the "add" and "remove" lists for
+paranoia and safety reasons.
+
+(cherry picked from commit 7fca15c27dd944890a67bb6db90c0b1fd4238f2f)
+---
+diff --git a/app/core/gimpdata.c b/app/core/gimpdata.c
+index 711d38f..76806ff 100644
+--- app/core/gimpdata.c
++++ app/core/gimpdata.c
+@@ -421,7 +421,7 @@ gimp_data_remove_tag (GimpTagged *tagged,
+ if (gimp_tag_equals (tag, this))
+ {
+ private->tags = g_list_delete_link (private->tags, list);
+- g_object_unref (tag);
++ g_object_unref (this);
+ return TRUE;
+ }
+ }
+diff --git a/app/core/gimptagged.c b/app/core/gimptagged.c
+index 9c44940..b04304a 100644
+--- app/core/gimptagged.c
++++ app/core/gimptagged.c
+@@ -153,6 +153,8 @@ gimp_tagged_remove_tag (GimpTagged *tagged,
+ }
+
+ g_object_unref (tag_ref);
++
++ return;
+ }
+ }
+ }
+diff --git a/app/widgets/gimptagentry.c b/app/widgets/gimptagentry.c
+index 5593801..73227e1 100644
+--- app/widgets/gimptagentry.c
++++ app/widgets/gimptagentry.c
+@@ -227,7 +227,7 @@ gimp_tag_entry_dispose (GObject *object)
+
+ if (entry->common_tags)
+ {
+- g_list_free (entry->common_tags);
++ g_list_free_full (entry->common_tags, (GDestroyNotify) g_object_unref);
+ entry->common_tags = NULL;
+ }
+
+@@ -761,7 +761,7 @@ gimp_tag_entry_assign_tags (GimpTagEntry *tag_entry)
+ }
+ else
+ {
+- add_list = g_list_prepend (add_list, tag);
++ add_list = g_list_prepend (add_list, g_object_ref (tag));
+ }
+
+ common_tags = g_list_prepend (common_tags, tag);
+@@ -778,7 +778,8 @@ gimp_tag_entry_assign_tags (GimpTagEntry *tag_entry)
+ if (! g_list_find_custom (dont_remove_list, tag_iter->data,
+ gimp_tag_compare_func))
+ {
+- remove_list = g_list_prepend (remove_list, tag_iter->data);
++ remove_list = g_list_prepend (remove_list,
++ g_object_ref (tag_iter->data));
+ }
+ }
+
+@@ -792,20 +793,20 @@ gimp_tag_entry_assign_tags (GimpTagEntry *tag_entry)
+
+ for (tag_iter = remove_list; tag_iter; tag_iter = g_list_next (tag_iter))
+ {
+- gimp_tagged_remove_tag (tagged, GIMP_TAG (tag_iter->data));
++ gimp_tagged_remove_tag (tagged, tag_iter->data);
+ }
+
+ for (tag_iter = add_list; tag_iter; tag_iter = g_list_next (tag_iter))
+ {
+- gimp_tagged_add_tag (tagged, GIMP_TAG (tag_iter->data));
++ gimp_tagged_add_tag (tagged, tag_iter->data);
+ }
+ }
+
+- g_list_free (add_list);
+- g_list_free (remove_list);
++ g_list_free_full (add_list, (GDestroyNotify) g_object_unref);
++ g_list_free_full (remove_list, (GDestroyNotify) g_object_unref);
+
+ /* common tags list with changes applied. */
+- g_list_free (tag_entry->common_tags);
++ g_list_free_full (tag_entry->common_tags, (GDestroyNotify) g_object_unref);
+ tag_entry->common_tags = common_tags;
+ }
+
+@@ -903,7 +904,7 @@ gimp_tag_entry_set_selected_items (GimpTagEntry *tag_entry,
+
+ if (tag_entry->common_tags)
+ {
+- g_list_free (tag_entry->common_tags);
++ g_list_free_full (tag_entry->common_tags, (GDestroyNotify) g_object_unref);
+ tag_entry->common_tags = NULL;
+ }
+
+@@ -956,7 +957,7 @@ gimp_tag_entry_load_selection (GimpTagEntry *tag_entry,
+ }
+ }
+
+- g_hash_table_foreach (refcounts, gimp_tag_entry_find_common_tags,tag_entry);
++ g_hash_table_foreach (refcounts, gimp_tag_entry_find_common_tags, tag_entry);
+
+ g_hash_table_destroy (refcounts);
+
+@@ -996,7 +997,8 @@ gimp_tag_entry_find_common_tags (gpointer key,
+ /* FIXME: more efficient list length */
+ if (ref_count == g_list_length (tag_entry->selected_items))
+ {
+- tag_entry->common_tags = g_list_prepend (tag_entry->common_tags, key);
++ tag_entry->common_tags = g_list_prepend (tag_entry->common_tags,
++ g_object_ref (key));
+ }
+ }
+
+@@ -1215,7 +1217,7 @@ gimp_tag_entry_container_changed (GimpContainer *container,
+ {
+ if (gimp_tagged_get_tags (GIMP_TAGGED (list->data)) &&
+ gimp_container_have (GIMP_CONTAINER (tag_entry->container),
+- GIMP_OBJECT(list->data)))
++ GIMP_OBJECT (list->data)))
+ {
+ break;
+ }
+--
+cgit v0.9.2
Added: trunk/dports/graphics/gimp2/files/patch-dont-reset-brush-size-before-each-paint-stroke-bz721249.diff
===================================================================
--- trunk/dports/graphics/gimp2/files/patch-dont-reset-brush-size-before-each-paint-stroke-bz721249.diff (rev 0)
+++ trunk/dports/graphics/gimp2/files/patch-dont-reset-brush-size-before-each-paint-stroke-bz721249.diff 2014-02-05 23:41:12 UTC (rev 116754)
@@ -0,0 +1,41 @@
+From 6cb5fcafb04c515f8773f81d6867efcedd95688e Mon Sep 17 00:00:00 2001
+From: Michael Natterer <mitch at gimp.org>
+Date: Mon, 03 Feb 2014 22:05:56 +0000
+Subject: Bug 721249 - pdb.gimp_context_set_brush_size() dont't work
+
+Don't reset the brush size before each PDB paint stroke.
+
+(cherry picked from commit 9fe869236bbf178ac9699e0e789f78aa085e5ef6)
+---
+diff --git a/app/pdb/paint-tools-cmds.c b/app/pdb/paint-tools-cmds.c
+index d1d6de3..ba1c826 100644
+--- app/pdb/paint-tools-cmds.c
++++ app/pdb/paint-tools-cmds.c
+@@ -62,10 +62,6 @@ paint_tools_stroke (Gimp *gimp,
+
+ n_strokes /= 2; /* #doubles -> #points */
+
+- /* FIXME: i'm most certain that this is wrong, see bug 721249 --mitch */
+- gimp_paint_options_set_default_brush_size (options,
+- gimp_context_get_brush (context));
+-
+ /* undefine the paint-relevant context properties and get them
+ * from the current context
+ */
+diff --git a/tools/pdbgen/pdb/paint_tools.pdb b/tools/pdbgen/pdb/paint_tools.pdb
+index 8544a56..d084e25 100644
+--- tools/pdbgen/pdb/paint_tools.pdb
++++ tools/pdbgen/pdb/paint_tools.pdb
+@@ -987,10 +987,6 @@ paint_tools_stroke (Gimp *gimp,
+
+ n_strokes /= 2; /* #doubles -> #points */
+
+- /* FIXME: i'm most certain that this is wrong, see bug 721249 --mitch */
+- gimp_paint_options_set_default_brush_size (options,
+- gimp_context_get_brush (context));
+-
+ /* undefine the paint-relevant context properties and get them
+ * from the current context
+ */
+--
+cgit v0.9.2
Added: trunk/dports/graphics/gimp2/files/patch-halt-transform-tool-when-switching.diff
===================================================================
--- trunk/dports/graphics/gimp2/files/patch-halt-transform-tool-when-switching.diff (rev 0)
+++ trunk/dports/graphics/gimp2/files/patch-halt-transform-tool-when-switching.diff 2014-02-05 23:41:12 UTC (rev 116754)
@@ -0,0 +1,33 @@
+From 72942f4e6b4aa25698b6432f7a20494f61ec3fca Mon Sep 17 00:00:00 2001
+From: Michael Natterer <mitch at gimp.org>
+Date: Tue, 04 Feb 2014 22:28:01 +0000
+Subject: app: halt the transform tool when switching layer|selection|path transform
+
+(cherry picked from commit 1335bc42c89c7b739bba54400b6adcee3abd7423)
+---
+diff --git a/app/tools/gimptransformtool.c b/app/tools/gimptransformtool.c
+index 009659c..8c31222 100644
+--- app/tools/gimptransformtool.c
++++ app/tools/gimptransformtool.c
+@@ -667,12 +667,17 @@ gimp_transform_tool_options_notify (GimpTool *tool,
+
+ GIMP_TOOL_CLASS (parent_class)->options_notify (tool, options, pspec);
+
++ if (! strcmp (pspec->name, "type"))
++ {
++ gimp_tool_control (tool, GIMP_TOOL_ACTION_HALT, tool->display);
++ return;
++ }
++
+ if (tr_tool->use_grid)
+ {
+ gimp_draw_tool_pause (GIMP_DRAW_TOOL (tr_tool));
+
+- if (! strcmp (pspec->name, "type") ||
+- ! strcmp (pspec->name, "direction"))
++ if (! strcmp (pspec->name, "direction"))
+ {
+ if (tr_tool->function != TRANSFORM_CREATING)
+ {
+--
+cgit v0.9.2
Added: trunk/dports/graphics/gimp2/files/patch-plugins-bmp-dont-check-biClrUsed-bz697431.diff
===================================================================
--- trunk/dports/graphics/gimp2/files/patch-plugins-bmp-dont-check-biClrUsed-bz697431.diff (rev 0)
+++ trunk/dports/graphics/gimp2/files/patch-plugins-bmp-dont-check-biClrUsed-bz697431.diff 2014-02-05 23:41:12 UTC (rev 116754)
@@ -0,0 +1,22 @@
+From 76ee47eff95e8dfad303d473c8a54b15720c83c0 Mon Sep 17 00:00:00 2001
+From: Téo Mazars <teomazars at gmail.com>
+Date: Thu, 30 Jan 2014 19:31:26 +0000
+Subject: plug-ins: don't check biClrUsed if bpp > 8 (in bug 697431)
+
+(cherry picked from commit 54f83a5ba273e45a9184f13d1f4b0f5697d56555)
+---
+diff --git a/plug-ins/file-bmp/bmp-read.c b/plug-ins/file-bmp/bmp-read.c
+index e59dfb8..f088a48 100644
+--- plug-ins/file-bmp/bmp-read.c
++++ plug-ins/file-bmp/bmp-read.c
+@@ -487,7 +487,7 @@ ReadBMP (const gchar *name,
+ goto out;
+ }
+
+- if (Bitmap_Head.biClrUsed > 256)
++ if (Bitmap_Head.biClrUsed > 256 && Bitmap_Head.biBitCnt <= 8)
+ {
+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
+ _("'%s' is not a valid BMP file"),
+--
+cgit v0.9.2
Added: trunk/dports/graphics/gimp2/files/patch-remove-confirm-on-close-preference.diff
===================================================================
--- trunk/dports/graphics/gimp2/files/patch-remove-confirm-on-close-preference.diff (rev 0)
+++ trunk/dports/graphics/gimp2/files/patch-remove-confirm-on-close-preference.diff 2014-02-05 23:41:12 UTC (rev 116754)
@@ -0,0 +1,172 @@
+From b101f38f0a7cd0b31a8c9c2b90842f75d20e97c0 Mon Sep 17 00:00:00 2001
+From: Michael Natterer <mitch at gimp.org>
+Date: Mon, 07 May 2012 12:02:36 +0000
+Subject: app: remove the "confirm-on-close" preference
+
+the warning dialog cannot be disabled any longer now.
+
+(cherry picked from commit e2c8a60665499cc945838fbd5a99964b09ec8892)
+---
+diff --git a/app/config/gimpdisplayconfig.c b/app/config/gimpdisplayconfig.c
+index 91c8c3d..36a46b2 100644
+--- app/config/gimpdisplayconfig.c
++++ app/config/gimpdisplayconfig.c
+@@ -59,7 +59,6 @@ enum
+ PROP_SHOW_PAINT_TOOL_CURSOR,
+ PROP_IMAGE_TITLE_FORMAT,
+ PROP_IMAGE_STATUS_FORMAT,
+- PROP_CONFIRM_ON_CLOSE,
+ PROP_MONITOR_XRESOLUTION,
+ PROP_MONITOR_YRESOLUTION,
+ PROP_MONITOR_RES_FROM_GDK,
+@@ -76,6 +75,7 @@ enum
+ PROP_USE_EVENT_HISTORY,
+
+ /* ignored, only for backward compatibility: */
++ PROP_CONFIRM_ON_CLOSE,
+ PROP_XOR_COLOR
+ };
+
+@@ -185,10 +185,6 @@ gimp_display_config_class_init (GimpDisplayConfigClass *klass)
+ IMAGE_STATUS_FORMAT_BLURB,
+ GIMP_CONFIG_DEFAULT_IMAGE_STATUS_FORMAT,
+ GIMP_PARAM_STATIC_STRINGS);
+- GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_CONFIRM_ON_CLOSE,
+- "confirm-on-close", CONFIRM_ON_CLOSE_BLURB,
+- TRUE,
+- GIMP_PARAM_STATIC_STRINGS);
+ GIMP_CONFIG_INSTALL_PROP_RESOLUTION (object_class, PROP_MONITOR_XRESOLUTION,
+ "monitor-xresolution",
+ MONITOR_XRESOLUTION_BLURB,
+@@ -267,6 +263,10 @@ gimp_display_config_class_init (GimpDisplayConfigClass *klass)
+ GIMP_PARAM_STATIC_STRINGS);
+
+ /* only for backward compatibility: */
++ GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_CONFIRM_ON_CLOSE,
++ "confirm-on-close", NULL,
++ TRUE,
++ GIMP_PARAM_STATIC_STRINGS);
+ GIMP_CONFIG_INSTALL_PROP_RGB (object_class, PROP_XOR_COLOR,
+ "xor-color", NULL,
+ FALSE, &color,
+@@ -366,9 +366,6 @@ gimp_display_config_set_property (GObject *object,
+ g_free (display_config->image_status_format);
+ display_config->image_status_format = g_value_dup_string (value);
+ break;
+- case PROP_CONFIRM_ON_CLOSE:
+- display_config->confirm_on_close = g_value_get_boolean (value);
+- break;
+ case PROP_MONITOR_XRESOLUTION:
+ display_config->monitor_xres = g_value_get_double (value);
+ break;
+@@ -416,6 +413,8 @@ gimp_display_config_set_property (GObject *object,
+ case PROP_USE_EVENT_HISTORY:
+ display_config->use_event_history = g_value_get_boolean (value);
+ break;
++
++ case PROP_CONFIRM_ON_CLOSE:
+ case PROP_XOR_COLOR:
+ /* ignored */
+ break;
+@@ -481,9 +480,6 @@ gimp_display_config_get_property (GObject *object,
+ case PROP_IMAGE_STATUS_FORMAT:
+ g_value_set_string (value, display_config->image_status_format);
+ break;
+- case PROP_CONFIRM_ON_CLOSE:
+- g_value_set_boolean (value, display_config->confirm_on_close);
+- break;
+ case PROP_MONITOR_XRESOLUTION:
+ g_value_set_double (value, display_config->monitor_xres);
+ break;
+@@ -526,6 +522,8 @@ gimp_display_config_get_property (GObject *object,
+ case PROP_USE_EVENT_HISTORY:
+ g_value_set_boolean (value, display_config->use_event_history);
+ break;
++
++ case PROP_CONFIRM_ON_CLOSE:
+ case PROP_XOR_COLOR:
+ /* ignored */
+ break;
+diff --git a/app/config/gimpdisplayconfig.h b/app/config/gimpdisplayconfig.h
+index 427e50e..2c6a7e5 100644
+--- app/config/gimpdisplayconfig.h
++++ app/config/gimpdisplayconfig.h
+@@ -56,7 +56,6 @@ struct _GimpDisplayConfig
+ gboolean show_paint_tool_cursor;
+ gchar *image_title_format;
+ gchar *image_status_format;
+- gboolean confirm_on_close;
+ gdouble monitor_xres;
+ gdouble monitor_yres;
+ gboolean monitor_res_from_gdk;
+diff --git a/app/config/gimprc-blurbs.h b/app/config/gimprc-blurbs.h
+index d8f6e44..2af5a29 100644
+--- app/config/gimprc-blurbs.h
++++ app/config/gimprc-blurbs.h
+@@ -42,9 +42,6 @@ N_("Specifies how the area around the image should be drawn.")
+ #define COLOR_PROFILE_POLICY_BLURB \
+ N_("How to handle embedded color profiles when opening a file.")
+
+-#define CONFIRM_ON_CLOSE_BLURB \
+-N_("Ask for confirmation before closing an image without saving.")
+-
+ #define CURSOR_FORMAT_BLURB \
+ N_("Sets the pixel format to use for mouse pointers.")
+
+diff --git a/app/dialogs/preferences-dialog.c b/app/dialogs/preferences-dialog.c
+index a8e6d5b..259a5ee 100644
+--- app/dialogs/preferences-dialog.c
++++ app/dialogs/preferences-dialog.c
+@@ -1559,13 +1559,6 @@ prefs_dialog_new (Gimp *gimp,
+ _("Maximum _filesize for thumbnailing:"),
+ GTK_TABLE (table), 1, size_group);
+
+- /* File Saving */
+- vbox2 = prefs_frame_new (_("Saving Images"), GTK_CONTAINER (vbox), FALSE);
+-
+- prefs_check_button_add (object, "confirm-on-close",
+- _("Confirm closing of unsa_ved images"),
+- GTK_BOX (vbox2));
+-
+ g_object_unref (size_group);
+ size_group = NULL;
+
+diff --git a/app/display/gimpdisplayshell-close.c b/app/display/gimpdisplayshell-close.c
+index 6857e50..bc37295 100644
+--- app/display/gimpdisplayshell-close.c
++++ app/display/gimpdisplayshell-close.c
+@@ -98,8 +98,7 @@ gimp_display_shell_close (GimpDisplayShell *shell,
+ if (! kill_it &&
+ image &&
+ gimp_image_get_display_count (image) == 1 &&
+- gimp_image_is_dirty (image) &&
+- shell->display->config->confirm_on_close)
++ gimp_image_is_dirty (image))
+ {
+ /* If there's a save dialog active for this image, then raise it.
+ * (see bug #511965)
+--
+cgit v0.9.2
+From 523f807d75efdf69473996b0fd7ede07200835c4 Mon Sep 17 00:00:00 2001
+From: Michael Natterer <mitch at gimp.org>
+Date: Mon, 07 May 2012 12:07:43 +0000
+Subject: app: set GIMP_CONFIG_PARAM_IGNORE on "confirm-on-close"
+
+(cherry picked from commit bfb875755976cd4b2cd4b02d5f3a32ebaf24642f)
+---
+diff --git a/app/config/gimpdisplayconfig.c b/app/config/gimpdisplayconfig.c
+index 36a46b2..4613535 100644
+--- app/config/gimpdisplayconfig.c
++++ app/config/gimpdisplayconfig.c
+@@ -266,7 +266,8 @@ gimp_display_config_class_init (GimpDisplayConfigClass *klass)
+ GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_CONFIRM_ON_CLOSE,
+ "confirm-on-close", NULL,
+ TRUE,
+- GIMP_PARAM_STATIC_STRINGS);
++ GIMP_PARAM_STATIC_STRINGS |
++ GIMP_CONFIG_PARAM_IGNORE);
+ GIMP_CONFIG_INSTALL_PROP_RGB (object_class, PROP_XOR_COLOR,
+ "xor-color", NULL,
+ FALSE, &color,
+--
+cgit v0.9.2
Added: trunk/dports/graphics/gimp2/files/patch-snapping-behavior-scale-tool-bz722034.diff
===================================================================
--- trunk/dports/graphics/gimp2/files/patch-snapping-behavior-scale-tool-bz722034.diff (rev 0)
+++ trunk/dports/graphics/gimp2/files/patch-snapping-behavior-scale-tool-bz722034.diff 2014-02-05 23:41:12 UTC (rev 116754)
@@ -0,0 +1,91 @@
+From aed3e3c741000ace5656030697cb0733c1c509ac Mon Sep 17 00:00:00 2001
+From: Michael Natterer <mitch at gimp.org>
+Date: Wed, 29 Jan 2014 22:40:35 +0000
+Subject: Bug 722034 - Incorrect snapping behaviour for scale tool
+
+Always snap to the center of transform tool handles.
+
+(cherry picked from commit 5054241ca61dbdf869701b429a84d0c239a2d22a)
+---
+diff --git a/app/display/gimpcanvashandle.c b/app/display/gimpcanvashandle.c
+index 45ad673..c776fb4 100644
+--- app/display/gimpcanvashandle.c
++++ app/display/gimpcanvashandle.c
+@@ -452,6 +452,21 @@ gimp_canvas_handle_new (GimpDisplayShell *shell,
+ }
+
+ void
++gimp_canvas_handle_get_position (GimpCanvasItem *handle,
++ gdouble *x,
++ gdouble *y)
++{
++ g_return_if_fail (GIMP_IS_CANVAS_HANDLE (handle));
++ g_return_if_fail (x != NULL);
++ g_return_if_fail (y != NULL);
++
++ g_object_get (handle,
++ "x", x,
++ "y", y,
++ NULL);
++}
++
++void
+ gimp_canvas_handle_set_position (GimpCanvasItem *handle,
+ gdouble x,
+ gdouble y)
+diff --git a/app/display/gimpcanvashandle.h b/app/display/gimpcanvashandle.h
+index 7dea56b..2aeae08 100644
+--- app/display/gimpcanvashandle.h
++++ app/display/gimpcanvashandle.h
+@@ -57,9 +57,13 @@ GimpCanvasItem * gimp_canvas_handle_new (GimpDisplayShell *shell,
+ gint width,
+ gint height);
+
++void gimp_canvas_handle_get_position (GimpCanvasItem *handle,
++ gdouble *x,
++ gdouble *y);
+ void gimp_canvas_handle_set_position (GimpCanvasItem *handle,
+ gdouble x,
+ gdouble y);
++
+ void gimp_canvas_handle_set_angles (GimpCanvasItem *handle,
+ gdouble start_handle,
+ gdouble slice_handle);
+diff --git a/app/tools/gimptransformtool.c b/app/tools/gimptransformtool.c
+index 3df8f01..009659c 100644
+--- app/tools/gimptransformtool.c
++++ app/tools/gimptransformtool.c
+@@ -54,6 +54,7 @@
+ #include "widgets/gimpwidgets-utils.h"
+
+ #include "display/gimpcanvasgroup.h"
++#include "display/gimpcanvashandle.h"
+ #include "display/gimpdisplay.h"
+ #include "display/gimpdisplayshell.h"
+ #include "display/gimpdisplayshell-transform.h"
+@@ -341,6 +342,23 @@ gimp_transform_tool_button_press (GimpTool *tool,
+ tr_tool->prev_trans_info[i] = tr_tool->trans_info[i];
+
+ gimp_tool_control_activate (tool->control);
++
++ if (GIMP_IS_CANVAS_HANDLE (tr_tool->handles[tr_tool->function]))
++ {
++ gdouble x, y;
++
++ gimp_canvas_handle_get_position (tr_tool->handles[tr_tool->function],
++ &x, &y);
++
++ gimp_tool_control_set_snap_offsets (tool->control,
++ SIGNED_ROUND (x - coords->x),
++ SIGNED_ROUND (y - coords->y),
++ 0, 0);
++ }
++ else
++ {
++ gimp_tool_control_set_snap_offsets (tool->control, 0, 0, 0, 0);
++ }
+ }
+
+ static void
+--
+cgit v0.9.2
Added: trunk/dports/graphics/gimp2/files/patch-writing-character-constants-bz721775.diff
===================================================================
--- trunk/dports/graphics/gimp2/files/patch-writing-character-constants-bz721775.diff (rev 0)
+++ trunk/dports/graphics/gimp2/files/patch-writing-character-constants-bz721775.diff 2014-02-05 23:41:12 UTC (rev 116754)
@@ -0,0 +1,21 @@
+From 6c2cd97b868e7742f9a3ade611713e46a1759d1c Mon Sep 17 00:00:00 2001
+From: Kevin Cozens <kevin at ve3syb.ca>
+Date: Mon, 03 Feb 2014 22:30:04 +0000
+Subject: Removed extraneous 'x' when writing character constants. Fixes bug #721775.
+
+---
+diff --git a/plug-ins/script-fu/tinyscheme/scheme.c b/plug-ins/script-fu/tinyscheme/scheme.c
+index 8abddcd..1d288f5 100644
+--- plug-ins/script-fu/tinyscheme/scheme.c
++++ plug-ins/script-fu/tinyscheme/scheme.c
+@@ -2177,7 +2177,7 @@ static void atom2str(scheme *sc, pointer l, int f, char **pp, int *plen) {
+ snprintf(p,STRBUFFSIZE,"#\\x%x",c); break;
+ }
+ #endif
+- snprintf(p,STRBUFFSIZE,"#\\x%c",c); break;
++ snprintf(p,STRBUFFSIZE,"#\\%c",c); break;
+ }
+ }
+ } else if (is_symbol(l)) {
+--
+cgit v0.9.2
Added: trunk/dports/graphics/gimp2/files/patch-wrong-name-transfer-tool-dialogs-bz701159.diff
===================================================================
--- trunk/dports/graphics/gimp2/files/patch-wrong-name-transfer-tool-dialogs-bz701159.diff (rev 0)
+++ trunk/dports/graphics/gimp2/files/patch-wrong-name-transfer-tool-dialogs-bz701159.diff 2014-02-05 23:41:12 UTC (rev 116754)
@@ -0,0 +1,247 @@
+From d94f38c18db41dce4a22a9e55a84c92c2161f169 Mon Sep 17 00:00:00 2001
+From: Michael Natterer <mitch at gimp.org>
+Date: Tue, 04 Feb 2014 23:54:39 +0000
+Subject: Bug 701159 - Wrong name in transform tool dialogs...
+
+...when acting on a path or selection
+
+Factor out the code that checks if an active item exists and if it's
+transformable (not locked etc.) and use that function in more places.
+This fixes both the wrong dialog labels and the tool running into
+broken states when the selection or a path are being transformed.
+
+(cherry picked from commit b13c68fda6dcedd43d7e2f4633191f9ddc6cdf3f)
+---
+diff --git a/app/tools/gimptransformtool.c b/app/tools/gimptransformtool.c
+index 8c31222..ff976ea 100644
+--- app/tools/gimptransformtool.c
++++ app/tools/gimptransformtool.c
+@@ -151,6 +151,12 @@ static void gimp_transform_tool_response (GtkWidget
+ gint response_id,
+ GimpTransformTool *tr_tool);
+
++static GimpItem *gimp_transform_tool_get_active_item (GimpTransformTool *tr_tool,
++ GimpImage *image);
++static GimpItem *gimp_transform_tool_check_active_item (GimpTransformTool *tr_tool,
++ GimpImage *display,
++ GError **error);
++
+
+ G_DEFINE_TYPE (GimpTransformTool, gimp_transform_tool, GIMP_TYPE_DRAW_TOOL)
+
+@@ -236,18 +242,17 @@ gimp_transform_tool_initialize (GimpTool *tool,
+ GimpTransformTool *tr_tool = GIMP_TRANSFORM_TOOL (tool);
+ GimpImage *image = gimp_display_get_image (display);
+ GimpDrawable *drawable = gimp_image_get_active_drawable (image);
++ GimpItem *item;
+
+ if (! GIMP_TOOL_CLASS (parent_class)->initialize (tool, display, error))
+ {
+ return FALSE;
+ }
+
+- if (gimp_item_is_content_locked (GIMP_ITEM (drawable)))
+- {
+- g_set_error_literal (error, GIMP_ERROR, GIMP_FAILED,
+- _("The active layer's pixels are locked."));
+- return FALSE;
+- }
++ item = gimp_transform_tool_check_active_item (tr_tool, image, error);
++
++ if (! item)
++ return FALSE;
+
+ if (display != tool->display)
+ {
+@@ -578,13 +583,10 @@ gimp_transform_tool_cursor_update (GimpTool *tool,
+ GdkModifierType state,
+ GimpDisplay *display)
+ {
+- GimpTransformTool *tr_tool = GIMP_TRANSFORM_TOOL (tool);
+- GimpTransformOptions *options = GIMP_TRANSFORM_TOOL_GET_OPTIONS (tool);
+- GimpCursorType cursor;
+- GimpCursorModifier modifier = GIMP_CURSOR_MODIFIER_NONE;
+- GimpImage *image = gimp_display_get_image (display);
+-
+- cursor = gimp_tool_control_get_cursor (tool->control);
++ GimpTransformTool *tr_tool = GIMP_TRANSFORM_TOOL (tool);
++ GimpImage *image = gimp_display_get_image (display);
++ GimpCursorType cursor = gimp_tool_control_get_cursor (tool->control);
++ GimpCursorModifier modifier = GIMP_CURSOR_MODIFIER_NONE;
+
+ if (tr_tool->use_handles)
+ {
+@@ -633,24 +635,8 @@ gimp_transform_tool_cursor_update (GimpTool *tool,
+ modifier = GIMP_CURSOR_MODIFIER_MOVE;
+ }
+
+- switch (options->type)
+- {
+- GimpDrawable *drawable;
+-
+- case GIMP_TRANSFORM_TYPE_LAYER:
+- drawable = gimp_image_get_active_drawable (image);
+- if (gimp_item_is_content_locked (GIMP_ITEM (drawable)))
+- modifier = GIMP_CURSOR_MODIFIER_BAD;
+- break;
+-
+- case GIMP_TRANSFORM_TYPE_SELECTION:
+- break;
+-
+- case GIMP_TRANSFORM_TYPE_PATH:
+- if (! gimp_image_get_active_vectors (image))
+- modifier = GIMP_CURSOR_MODIFIER_BAD;
+- break;
+- }
++ if (! gimp_transform_tool_check_active_item (tr_tool, image, NULL))
++ modifier = GIMP_CURSOR_MODIFIER_BAD;
+
+ gimp_tool_control_set_cursor (tool->control, cursor);
+ gimp_tool_control_set_cursor_modifier (tool->control, modifier);
+@@ -1073,50 +1059,23 @@ gimp_transform_tool_transform (GimpTransformTool *tr_tool,
+ GimpTransformOptions *options = GIMP_TRANSFORM_TOOL_GET_OPTIONS (tool);
+ GimpContext *context = GIMP_CONTEXT (options);
+ GimpImage *image = gimp_display_get_image (display);
+- GimpItem *active_item = NULL;
++ GimpItem *active_item;
+ TileManager *orig_tiles = NULL;
+- gint orig_offset_x;
+- gint orig_offset_y;
++ gint orig_offset_x = 0;
++ gint orig_offset_y = 0;
+ TileManager *new_tiles;
+ gint new_offset_x;
+ gint new_offset_y;
+- const gchar *null_message = NULL;
+- const gchar *locked_message = NULL;
+ gchar *undo_desc = NULL;
+- gboolean new_layer;
++ gboolean new_layer = FALSE;
++ GError *error = NULL;
+
+- switch (options->type)
+- {
+- case GIMP_TRANSFORM_TYPE_LAYER:
+- active_item = GIMP_ITEM (gimp_image_get_active_drawable (image));
+- null_message = _("There is no layer to transform.");
+- locked_message = _("The active layer's pixels are locked.");
+- break;
+-
+- case GIMP_TRANSFORM_TYPE_SELECTION:
+- active_item = GIMP_ITEM (gimp_image_get_mask (image));
+- /* cannot happen, so don't translate these messages */
+- null_message = "There is no selection to transform.";
+- locked_message = "The selection's pixels are locked.";
+- break;
+-
+- case GIMP_TRANSFORM_TYPE_PATH:
+- active_item = GIMP_ITEM (gimp_image_get_active_vectors (image));
+- null_message = _("There is no path to transform.");
+- locked_message = _("The active path's strokes are locked.");
+- break;
+- }
++ active_item = gimp_transform_tool_check_active_item (tr_tool, image, &error);
+
+ if (! active_item)
+ {
+- gimp_tool_message_literal (tool, display, null_message);
+- gimp_tool_control (tool, GIMP_TOOL_ACTION_HALT, display);
+- return;
+- }
+-
+- if (gimp_item_is_content_locked (active_item))
+- {
+- gimp_tool_message_literal (tool, display, locked_message);
++ gimp_tool_message_literal (tool, display, error->message);
++ g_clear_error (&error);
+ gimp_tool_control (tool, GIMP_TOOL_ACTION_HALT, display);
+ return;
+ }
+@@ -1396,10 +1355,12 @@ gimp_transform_tool_prepare (GimpTransformTool *tr_tool,
+ {
+ GimpTransformOptions *options = GIMP_TRANSFORM_TOOL_GET_OPTIONS (tr_tool);
+ GimpImage *image = gimp_display_get_image (display);
+- GimpDrawable *drawable = gimp_image_get_active_drawable (image);
++ GimpItem *item;
++
++ item = gimp_transform_tool_get_active_item (tr_tool, image);
+
+ gimp_viewable_dialog_set_viewable (GIMP_VIEWABLE_DIALOG (tr_tool->dialog),
+- GIMP_VIEWABLE (drawable),
++ GIMP_VIEWABLE (item),
+ GIMP_CONTEXT (options));
+ gimp_tool_dialog_set_shell (GIMP_TOOL_DIALOG (tr_tool->dialog),
+ gimp_display_get_shell (display));
+@@ -1464,3 +1425,70 @@ gimp_transform_tool_response (GtkWidget *widget,
+ break;
+ }
+ }
++
++static GimpItem *
++gimp_transform_tool_get_active_item (GimpTransformTool *tr_tool,
++ GimpImage *image)
++{
++ GimpTransformOptions *options = GIMP_TRANSFORM_TOOL_GET_OPTIONS (tr_tool);
++
++ switch (options->type)
++ {
++ case GIMP_TRANSFORM_TYPE_LAYER:
++ return GIMP_ITEM (gimp_image_get_active_drawable (image));
++
++ case GIMP_TRANSFORM_TYPE_SELECTION:
++ return GIMP_ITEM (gimp_image_get_mask (image));
++
++ case GIMP_TRANSFORM_TYPE_PATH:
++ return GIMP_ITEM (gimp_image_get_active_vectors (image));
++ }
++
++ return NULL;
++}
++
++static GimpItem *
++gimp_transform_tool_check_active_item (GimpTransformTool *tr_tool,
++ GimpImage *image,
++ GError **error)
++{
++ GimpTransformOptions *options = GIMP_TRANSFORM_TOOL_GET_OPTIONS (tr_tool);
++ GimpItem *item;
++ const gchar *null_message = NULL;
++ const gchar *locked_message = NULL;
++
++ item = gimp_transform_tool_get_active_item (tr_tool, image);
++
++ switch (options->type)
++ {
++ case GIMP_TRANSFORM_TYPE_LAYER:
++ null_message = _("There is no layer to transform.");
++ locked_message = _("The active layer's pixels are locked.");
++ break;
++
++ case GIMP_TRANSFORM_TYPE_SELECTION:
++ /* cannot happen, so don't translate these messages */
++ null_message = "There is no selection to transform.";
++ locked_message = "The selection's pixels are locked.";
++ break;
++
++ case GIMP_TRANSFORM_TYPE_PATH:
++ null_message = _("There is no path to transform.");
++ locked_message = _("The active path's strokes are locked.");
++ break;
++ }
++
++ if (! item)
++ {
++ g_set_error_literal (error, GIMP_ERROR, GIMP_FAILED, null_message);
++ return NULL;
++ }
++
++ if (gimp_item_is_content_locked (item))
++ {
++ g_set_error_literal (error, GIMP_ERROR, GIMP_FAILED, locked_message);
++ return NULL;
++ }
++
++ return item;
++}
+--
+cgit v0.9.2
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140205/9822dbd5/attachment-0001.html>
More information about the macports-changes
mailing list