version 2.8.4
This commit is contained in:
parent
1fffe98772
commit
2535739f77
1
.gitignore
vendored
1
.gitignore
vendored
@ -11,3 +11,4 @@ gimp-2.6.10-1-autoreconf.patch.bz2
|
||||
/gimp-2.8.0-RC1-gitff6c280.patch.bz2
|
||||
/gimp-2.8.0.tar.bz2
|
||||
/gimp-2.8.2.tar.bz2
|
||||
/gimp-2.8.4.tar.bz2
|
||||
|
||||
@ -1,166 +0,0 @@
|
||||
From 1d025c26b3e731ad2fb6d9be08dd199ecca67142 Mon Sep 17 00:00:00 2001
|
||||
From: Nils Philippsen <nils@redhat.com>
|
||||
Date: Tue, 13 Nov 2012 16:41:28 +0100
|
||||
Subject: [PATCH] patch: crop-to-selection
|
||||
|
||||
Squashed commit of the following:
|
||||
|
||||
commit 44d0c6393a92b1e5b1ce361ed5240ec669c1972b
|
||||
Author: Michael Natterer <mitch@gimp.org>
|
||||
Date: Thu Sep 6 23:55:35 2012 +0200
|
||||
|
||||
Bug 683462 - cropping with rectangular select tool leaves misaligned...
|
||||
|
||||
Reset the tool on image changes again, but not if only the active
|
||||
drawable changes, so keep bug #678890 closed:
|
||||
|
||||
Introduce new dirty flag GIMP_DIRTY_ACTIVE_DRAWABLE and set it on all
|
||||
tools' dirty_mask except for rect select. Check the new flag when
|
||||
reseting the active tool because of a drawable change.
|
||||
(cherry picked from commit e546f2b43bbe77901516c780428bda40f5af26ba)
|
||||
---
|
||||
app/core/core-enums.c | 2 ++
|
||||
app/core/core-enums.h | 1 +
|
||||
app/display/gimpdisplayshell-tool-events.c | 4 +++-
|
||||
app/tools/gimpcagetool.c | 3 ++-
|
||||
app/tools/gimpforegroundselecttool.c | 4 +++-
|
||||
app/tools/gimpimagemaptool.c | 3 ++-
|
||||
app/tools/gimpiscissorstool.c | 4 +++-
|
||||
app/tools/gimprectangleselecttool.c | 1 +
|
||||
app/tools/gimptransformtool.c | 3 ++-
|
||||
9 files changed, 19 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/app/core/core-enums.c b/app/core/core-enums.c
|
||||
index cf6e9ce..bba0a95 100644
|
||||
--- a/app/core/core-enums.c
|
||||
+++ b/app/core/core-enums.c
|
||||
@@ -941,6 +941,7 @@ gimp_dirty_mask_get_type (void)
|
||||
{ GIMP_DIRTY_DRAWABLE, "GIMP_DIRTY_DRAWABLE", "drawable" },
|
||||
{ GIMP_DIRTY_VECTORS, "GIMP_DIRTY_VECTORS", "vectors" },
|
||||
{ GIMP_DIRTY_SELECTION, "GIMP_DIRTY_SELECTION", "selection" },
|
||||
+ { GIMP_DIRTY_ACTIVE_DRAWABLE, "GIMP_DIRTY_ACTIVE_DRAWABLE", "active-drawable" },
|
||||
{ GIMP_DIRTY_ALL, "GIMP_DIRTY_ALL", "all" },
|
||||
{ 0, NULL, NULL }
|
||||
};
|
||||
@@ -957,6 +958,7 @@ gimp_dirty_mask_get_type (void)
|
||||
{ GIMP_DIRTY_DRAWABLE, "GIMP_DIRTY_DRAWABLE", NULL },
|
||||
{ GIMP_DIRTY_VECTORS, "GIMP_DIRTY_VECTORS", NULL },
|
||||
{ GIMP_DIRTY_SELECTION, "GIMP_DIRTY_SELECTION", NULL },
|
||||
+ { GIMP_DIRTY_ACTIVE_DRAWABLE, "GIMP_DIRTY_ACTIVE_DRAWABLE", NULL },
|
||||
{ GIMP_DIRTY_ALL, "GIMP_DIRTY_ALL", NULL },
|
||||
{ 0, NULL, NULL }
|
||||
};
|
||||
diff --git a/app/core/core-enums.h b/app/core/core-enums.h
|
||||
index e2edea3..ce62aa5 100644
|
||||
--- a/app/core/core-enums.h
|
||||
+++ b/app/core/core-enums.h
|
||||
@@ -449,6 +449,7 @@ typedef enum /*< pdb-skip >*/
|
||||
GIMP_DIRTY_DRAWABLE = 1 << 6,
|
||||
GIMP_DIRTY_VECTORS = 1 << 7,
|
||||
GIMP_DIRTY_SELECTION = 1 << 8,
|
||||
+ GIMP_DIRTY_ACTIVE_DRAWABLE = 1 << 9,
|
||||
|
||||
GIMP_DIRTY_ALL = 0xffff
|
||||
} GimpDirtyMask;
|
||||
diff --git a/app/display/gimpdisplayshell-tool-events.c b/app/display/gimpdisplayshell-tool-events.c
|
||||
index 6b8df80..d9d2176 100644
|
||||
--- a/app/display/gimpdisplayshell-tool-events.c
|
||||
+++ b/app/display/gimpdisplayshell-tool-events.c
|
||||
@@ -1686,7 +1686,9 @@ gimp_display_shell_initialize_tool (GimpDisplayShell *shell,
|
||||
}
|
||||
else if ((active_tool->drawable !=
|
||||
gimp_image_get_active_drawable (image)) &&
|
||||
- ! gimp_tool_control_get_preserve (active_tool->control))
|
||||
+ (! gimp_tool_control_get_preserve (active_tool->control) &&
|
||||
+ (gimp_tool_control_get_dirty_mask (active_tool->control) &
|
||||
+ GIMP_DIRTY_ACTIVE_DRAWABLE)))
|
||||
{
|
||||
/* create a new one, deleting the current */
|
||||
gimp_context_tool_changed (gimp_get_user_context (gimp));
|
||||
diff --git a/app/tools/gimpcagetool.c b/app/tools/gimpcagetool.c
|
||||
index fe0e1a9..806f089 100644
|
||||
--- a/app/tools/gimpcagetool.c
|
||||
+++ b/app/tools/gimpcagetool.c
|
||||
@@ -184,7 +184,8 @@ gimp_cage_tool_init (GimpCageTool *self)
|
||||
GIMP_DIRTY_IMAGE |
|
||||
GIMP_DIRTY_IMAGE_STRUCTURE |
|
||||
GIMP_DIRTY_DRAWABLE |
|
||||
- GIMP_DIRTY_SELECTION);
|
||||
+ GIMP_DIRTY_SELECTION |
|
||||
+ GIMP_DIRTY_ACTIVE_DRAWABLE);
|
||||
gimp_tool_control_set_wants_click (tool->control, TRUE);
|
||||
gimp_tool_control_set_tool_cursor (tool->control,
|
||||
GIMP_TOOL_CURSOR_PERSPECTIVE);
|
||||
diff --git a/app/tools/gimpforegroundselecttool.c b/app/tools/gimpforegroundselecttool.c
|
||||
index ec909f9..b320a2b 100644
|
||||
--- a/app/tools/gimpforegroundselecttool.c
|
||||
+++ b/app/tools/gimpforegroundselecttool.c
|
||||
@@ -183,7 +183,9 @@ gimp_foreground_select_tool_init (GimpForegroundSelectTool *fg_select)
|
||||
|
||||
gimp_tool_control_set_scroll_lock (tool->control, FALSE);
|
||||
gimp_tool_control_set_preserve (tool->control, FALSE);
|
||||
- gimp_tool_control_set_dirty_mask (tool->control, GIMP_DIRTY_IMAGE_SIZE);
|
||||
+ gimp_tool_control_set_dirty_mask (tool->control,
|
||||
+ GIMP_DIRTY_IMAGE_SIZE |
|
||||
+ GIMP_DIRTY_ACTIVE_DRAWABLE);
|
||||
gimp_tool_control_set_precision (tool->control,
|
||||
GIMP_CURSOR_PRECISION_PIXEL_CENTER);
|
||||
gimp_tool_control_set_tool_cursor (tool->control,
|
||||
diff --git a/app/tools/gimpimagemaptool.c b/app/tools/gimpimagemaptool.c
|
||||
index c168dfc..1b7ef06 100644
|
||||
--- a/app/tools/gimpimagemaptool.c
|
||||
+++ b/app/tools/gimpimagemaptool.c
|
||||
@@ -201,7 +201,8 @@ gimp_image_map_tool_init (GimpImageMapTool *image_map_tool)
|
||||
GIMP_DIRTY_IMAGE |
|
||||
GIMP_DIRTY_IMAGE_STRUCTURE |
|
||||
GIMP_DIRTY_DRAWABLE |
|
||||
- GIMP_DIRTY_SELECTION);
|
||||
+ GIMP_DIRTY_SELECTION |
|
||||
+ GIMP_DIRTY_ACTIVE_DRAWABLE);
|
||||
|
||||
image_map_tool->drawable = NULL;
|
||||
image_map_tool->operation = NULL;
|
||||
diff --git a/app/tools/gimpiscissorstool.c b/app/tools/gimpiscissorstool.c
|
||||
index 8392fea..f795f0a 100644
|
||||
--- a/app/tools/gimpiscissorstool.c
|
||||
+++ b/app/tools/gimpiscissorstool.c
|
||||
@@ -328,7 +328,9 @@ gimp_iscissors_tool_init (GimpIscissorsTool *iscissors)
|
||||
gimp_tool_control_set_scroll_lock (tool->control, TRUE);
|
||||
gimp_tool_control_set_snap_to (tool->control, FALSE);
|
||||
gimp_tool_control_set_preserve (tool->control, FALSE);
|
||||
- gimp_tool_control_set_dirty_mask (tool->control, GIMP_DIRTY_IMAGE_SIZE);
|
||||
+ gimp_tool_control_set_dirty_mask (tool->control,
|
||||
+ GIMP_DIRTY_IMAGE_SIZE |
|
||||
+ GIMP_DIRTY_ACTIVE_DRAWABLE);
|
||||
gimp_tool_control_set_tool_cursor (tool->control, GIMP_TOOL_CURSOR_ISCISSORS);
|
||||
|
||||
iscissors->op = ISCISSORS_OP_NONE;
|
||||
diff --git a/app/tools/gimprectangleselecttool.c b/app/tools/gimprectangleselecttool.c
|
||||
index 50d9852..3dcd2d3 100644
|
||||
--- a/app/tools/gimprectangleselecttool.c
|
||||
+++ b/app/tools/gimprectangleselecttool.c
|
||||
@@ -229,6 +229,7 @@ gimp_rectangle_select_tool_init (GimpRectangleSelectTool *rect_sel_tool)
|
||||
GIMP_CURSOR_PRECISION_PIXEL_BORDER);
|
||||
gimp_tool_control_set_tool_cursor (tool->control,
|
||||
GIMP_TOOL_CURSOR_RECT_SELECT);
|
||||
+ gimp_tool_control_set_preserve (tool->control, FALSE);
|
||||
gimp_tool_control_set_dirty_mask (tool->control,
|
||||
GIMP_DIRTY_IMAGE_SIZE |
|
||||
GIMP_DIRTY_SELECTION);
|
||||
diff --git a/app/tools/gimptransformtool.c b/app/tools/gimptransformtool.c
|
||||
index 4c41232..bd37efb 100644
|
||||
--- a/app/tools/gimptransformtool.c
|
||||
+++ b/app/tools/gimptransformtool.c
|
||||
@@ -201,7 +201,8 @@ gimp_transform_tool_init (GimpTransformTool *tr_tool)
|
||||
gimp_tool_control_set_dirty_mask (tool->control,
|
||||
GIMP_DIRTY_IMAGE_SIZE |
|
||||
GIMP_DIRTY_DRAWABLE |
|
||||
- GIMP_DIRTY_SELECTION);
|
||||
+ GIMP_DIRTY_SELECTION |
|
||||
+ GIMP_DIRTY_ACTIVE_DRAWABLE);
|
||||
gimp_tool_control_set_precision (tool->control,
|
||||
GIMP_CURSOR_PRECISION_SUBPIXEL);
|
||||
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
@ -1,70 +0,0 @@
|
||||
From 64b9787f8c2996e915474103044062a534924f38 Mon Sep 17 00:00:00 2001
|
||||
From: Nils Philippsen <nils@redhat.com>
|
||||
Date: Wed, 14 Nov 2012 17:16:53 +0100
|
||||
Subject: [PATCH] patch: file-dialog-toplevel
|
||||
|
||||
Squashed commit of the following:
|
||||
|
||||
commit b46df3e435d16819f1054f412b9adc2fc404c6ec
|
||||
Author: Nils Philippsen <nils@redhat.com>
|
||||
Date: Wed Nov 14 16:43:06 2012 +0100
|
||||
|
||||
app: remove check which hides conditions that should not happen
|
||||
|
||||
Remove a GTK_IS_WINDOW() check where this would hide parent widgets
|
||||
being passed in that don't have a gtk toplevel. This should not happen
|
||||
and if it does we want to know about it.
|
||||
(cherry picked from commit f6f8079013401eecaa11e5f8bdd2688e51fd6602)
|
||||
|
||||
commit 7f6370fb0314308a32f3db82473a1a109ba1b1ca
|
||||
Author: Nils Philippsen <nils@redhat.com>
|
||||
Date: Wed Nov 14 16:42:05 2012 +0100
|
||||
|
||||
app: fix marking file dialogs as transient if opened from context menu
|
||||
|
||||
GimpDisplayShell isn't a GtkWindow (anymore), therefore use
|
||||
gtk_widget_get_toplevel() to find the actual toplevel window.
|
||||
(cherry picked from commit 1a4087bd5f1c79859fbfc417eff58f8e7783f335)
|
||||
---
|
||||
app/actions/file-commands.c | 11 ++++-------
|
||||
1 file changed, 4 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/app/actions/file-commands.c b/app/actions/file-commands.c
|
||||
index cbf82de..94a23a0 100644
|
||||
--- a/app/actions/file-commands.c
|
||||
+++ b/app/actions/file-commands.c
|
||||
@@ -522,11 +522,8 @@ file_open_dialog_show (Gimp *gimp,
|
||||
gimp_file_dialog_set_open_image (GIMP_FILE_DIALOG (dialog),
|
||||
image, open_as_layers);
|
||||
|
||||
- parent = gtk_widget_get_toplevel (parent);
|
||||
-
|
||||
- if (GTK_IS_WINDOW (parent))
|
||||
- gtk_window_set_transient_for (GTK_WINDOW (dialog),
|
||||
- GTK_WINDOW (parent));
|
||||
+ gtk_window_set_transient_for (GTK_WINDOW (dialog),
|
||||
+ GTK_WINDOW (gtk_widget_get_toplevel (parent)));
|
||||
|
||||
gtk_window_present (GTK_WINDOW (dialog));
|
||||
}
|
||||
@@ -555,7 +552,7 @@ file_save_dialog_show (Gimp *gimp,
|
||||
if (dialog)
|
||||
{
|
||||
gtk_window_set_transient_for (GTK_WINDOW (dialog),
|
||||
- GTK_WINDOW (parent));
|
||||
+ GTK_WINDOW (gtk_widget_get_toplevel (parent)));
|
||||
|
||||
g_object_set_data_full (G_OBJECT (image),
|
||||
"gimp-file-save-dialog", dialog,
|
||||
@@ -606,7 +603,7 @@ file_export_dialog_show (Gimp *gimp,
|
||||
if (dialog)
|
||||
{
|
||||
gtk_window_set_transient_for (GTK_WINDOW (dialog),
|
||||
- GTK_WINDOW (parent));
|
||||
+ GTK_WINDOW (gtk_widget_get_toplevel (parent)));
|
||||
|
||||
g_object_set_data_full (G_OBJECT (image),
|
||||
"gimp-file-export-dialog", dialog,
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
@ -1,64 +0,0 @@
|
||||
From 19bee3766ab5c39fdcde4e8be26795981b7bbe76 Mon Sep 17 00:00:00 2001
|
||||
From: Nils Philippsen <nils@redhat.com>
|
||||
Date: Tue, 13 Nov 2012 16:21:48 +0100
|
||||
Subject: [PATCH] patch: max-memsize
|
||||
|
||||
Squashed commit of the following:
|
||||
|
||||
commit 26e5611acbb0d2f23a6cf481883c4241289436bf
|
||||
Author: Nils Philippsen <nils@redhat.com>
|
||||
Date: Tue Nov 13 16:12:56 2012 +0100
|
||||
|
||||
app: limit physical memory size by GIMP_MAX_MEMSIZE as well
|
||||
(cherry picked from commit c4365d4c14d1a1fc35210b373119a0870458c46b)
|
||||
|
||||
Conflicts:
|
||||
app/config/gimpbaseconfig.c
|
||||
|
||||
commit 71f298245ee8af6fc97496eb7c83d64001b0f3db
|
||||
Author: Michael Natterer <mitch@gimp.org>
|
||||
Date: Sat Oct 13 22:44:15 2012 +0200
|
||||
|
||||
app: limit the pyhsical memory size by G_MAXSIZE
|
||||
|
||||
because one process can't handle more.
|
||||
(cherry picked from commit 2b714fcb1a6c24bcaeb13b1c592a365c374f96d8)
|
||||
---
|
||||
app/config/gimpbaseconfig.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/app/config/gimpbaseconfig.c b/app/config/gimpbaseconfig.c
|
||||
index 0fa1e60..73a925d 100644
|
||||
--- a/app/config/gimpbaseconfig.c
|
||||
+++ b/app/config/gimpbaseconfig.c
|
||||
@@ -43,6 +43,8 @@
|
||||
#include "gimp-intl.h"
|
||||
|
||||
|
||||
+#define GIMP_MAX_MEM_PROCESS (MIN (G_MAXSIZE, GIMP_MAX_MEMSIZE))
|
||||
+
|
||||
enum
|
||||
{
|
||||
PROP_0,
|
||||
@@ -142,6 +144,9 @@ gimp_base_config_class_init (GimpBaseConfigClass *klass)
|
||||
|
||||
memory_size = get_physical_memory_size ();
|
||||
|
||||
+ /* limit to the amount one process can handle */
|
||||
+ memory_size = MIN (GIMP_MAX_MEM_PROCESS, memory_size);
|
||||
+
|
||||
if (memory_size > 0)
|
||||
memory_size = memory_size / 2; /* half the memory */
|
||||
else
|
||||
@@ -149,7 +154,7 @@ gimp_base_config_class_init (GimpBaseConfigClass *klass)
|
||||
|
||||
GIMP_CONFIG_INSTALL_PROP_MEMSIZE (object_class, PROP_TILE_CACHE_SIZE,
|
||||
"tile-cache-size", TILE_CACHE_SIZE_BLURB,
|
||||
- 0, MIN (G_MAXSIZE, GIMP_MAX_MEMSIZE),
|
||||
+ 0, GIMP_MAX_MEM_PROCESS,
|
||||
memory_size,
|
||||
GIMP_PARAM_STATIC_STRINGS |
|
||||
GIMP_CONFIG_PARAM_CONFIRM);
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
32
gimp.spec
32
gimp.spec
@ -79,8 +79,8 @@
|
||||
Summary: GNU Image Manipulation Program
|
||||
Name: gimp
|
||||
Epoch: 2
|
||||
Version: 2.8.2
|
||||
Release: %{?prerelprefix}7%{dotprerel}%{dotgitrev}%{?dist}
|
||||
Version: 2.8.4
|
||||
Release: %{?prerelprefix}1%{dotprerel}%{dotgitrev}%{?dist}
|
||||
|
||||
# Compute some version related macros
|
||||
# Ugly hack, you need to get your quoting backslashes/percent signs straight
|
||||
@ -200,27 +200,9 @@ Source0: ftp://ftp.gimp.org/pub/gimp/v%{binver}/gimp-%{version}%{dashprer
|
||||
Patch0: gimp-%{version}%{dashprerel}-git%{gitrev}.patch.bz2
|
||||
%endif
|
||||
|
||||
# Don't crash on machines with more than 32GB RAM.
|
||||
# Fixed upstream:
|
||||
# commit 2b714fcb1a6c24bcaeb13b1c592a365c374f96d8
|
||||
# commit c4365d4c14d1a1fc35210b373119a0870458c46b
|
||||
Patch1: gimp-2.8.2-max-memsize.patch
|
||||
# Don't leave misaligned selection when cropping with rectangular select tool.
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=873212
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=683462
|
||||
# Fixed upstream:
|
||||
# commit e546f2b43bbe77901516c780428bda40f5af26ba
|
||||
Patch2: gimp-2.8.2-crop-to-selection.patch
|
||||
# Set file dialog as transient when saving/exporting from context menu.
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=835736
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=683462
|
||||
# Fixed upstream:
|
||||
# commit 1a4087bd5f1c79859fbfc417eff58f8e7783f335
|
||||
# commit f6f8079013401eecaa11e5f8bdd2688e51fd6602
|
||||
Patch3: gimp-2.8.2-file-dialog-toplevel.patch
|
||||
# Try using the system monitor profile for color management by default.
|
||||
# Fedora specific.
|
||||
Patch4: gimp-2.8.2-cm-system-monitor-profile-by-default.patch
|
||||
Patch1: gimp-2.8.2-cm-system-monitor-profile-by-default.patch
|
||||
|
||||
%description
|
||||
GIMP (GNU Image Manipulation Program) is a powerful image composition and
|
||||
@ -306,10 +288,7 @@ EOF
|
||||
%patch0 -p1 -b .git%{gitrev}
|
||||
%endif
|
||||
|
||||
%patch1 -p1 -b .max-memsize
|
||||
%patch2 -p1 -b .crop-to-selection
|
||||
%patch3 -p1 -b .file-dialog-toplevel
|
||||
%patch4 -p1 -b .cm-system-monitor-profile-by-default
|
||||
%patch1 -p1 -b .cm-system-monitor-profile-by-default
|
||||
|
||||
%build
|
||||
%if %{with hardening}
|
||||
@ -604,6 +583,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Feb 06 2013 Nils Philippsen <nils@redhat.com> - 2:2.8.4-1
|
||||
- version 2.8.4
|
||||
|
||||
* Mon Jan 28 2013 Nils Philippsen <nils@redhat.com> - 2:2.8.2-7
|
||||
- build with -fno-strict-aliasing
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user