Commit 96563501 authored by Ari Pollak's avatar Ari Pollak

Imported Upstream version 2.6.2

parent 0e546c59
This diff is collapsed.
......@@ -113,7 +113,6 @@ BINRELOC_CFLAGS = @BINRELOC_CFLAGS@
BINRELOC_LIBS = @BINRELOC_LIBS@
CAIRO_CFLAGS = @CAIRO_CFLAGS@
CAIRO_LIBS = @CAIRO_LIBS@
CARBON_LDFLAGS = @CARBON_LDFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
......
......@@ -7,6 +7,41 @@ This is the stable branch of GIMP. No new features are being added
here, just bug-fixes.
Overview of Changes from GIMP 2.6.1 to GIMP 2.6.2
=================================================
* Bugs fixed:
557950 – Scaling in Gimp 2.6 is much slower than in Gimp 2.4
558215 – unit and zoom entries in Statusbar not visible
558451 – Cannot build GIMP using Sun CC on Solaris 2.8
558420 – projection incorrect with alpha-less layers
556603 – Zoom region always zooms in center of image
557870 – "Qmask" message popping up here and there
557705 – compatibility with GEGL > 0.0.20
556248 – Scaling gives 'jagged' edges
556804 – Zoom drop down doesn't update
524615 – Print not to scale
555246 – gimp crashes when a file is opened while a preview is generating
556741 – Alpha layer automatically added (in psd format)
556182 – Could you please explain a few strings [I18N]
555697 – build fails if configured with --without-libjpeg
134956 – Curves tool doesn't save free curves
* Updated translations:
Czech (cs)
Danish (da)
Finnish (fi)
French (fr)
Japanese (ja)
Polish (pl)
Brazilian Portuguese (pt_BR)
Swedish (sv)
Simplified Chinese (zh_CN)
Overview of Changes from GIMP 2.6.0 to GIMP 2.6.1
=================================================
......
......@@ -1041,7 +1041,7 @@ AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
# serial 52 Debian 1.5.26-4 AC_PROG_LIBTOOL
# serial 52 Debian 1.5.26-1ubuntu1 AC_PROG_LIBTOOL
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
......
......@@ -167,7 +167,6 @@ BINRELOC_CFLAGS = @BINRELOC_CFLAGS@
BINRELOC_LIBS = @BINRELOC_LIBS@
CAIRO_CFLAGS = @CAIRO_CFLAGS@
CAIRO_LIBS = @CAIRO_LIBS@
CARBON_LDFLAGS = @CARBON_LDFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
......
......@@ -130,7 +130,6 @@ BINRELOC_CFLAGS = @BINRELOC_CFLAGS@
BINRELOC_LIBS = @BINRELOC_LIBS@
CAIRO_CFLAGS = @CAIRO_CFLAGS@
CAIRO_LIBS = @CAIRO_LIBS@
CARBON_LDFLAGS = @CARBON_LDFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
......
......@@ -165,6 +165,9 @@ file_open_recent_cmd_callback (GtkAction *action,
GError *error = NULL;
return_if_no_display (display, data);
g_object_ref (display);
g_object_ref (imagefile);
progress = display->image ? NULL : GIMP_PROGRESS (display);
image = file_open_with_display (gimp, action_data_get_context (data),
......@@ -184,6 +187,9 @@ file_open_recent_cmd_callback (GtkAction *action,
g_free (filename);
}
g_object_unref (imagefile);
g_object_unref (display);
}
}
......
......@@ -101,7 +101,6 @@ BINRELOC_CFLAGS = @BINRELOC_CFLAGS@
BINRELOC_LIBS = @BINRELOC_LIBS@
CAIRO_CFLAGS = @CAIRO_CFLAGS@
CAIRO_LIBS = @CAIRO_LIBS@
CARBON_LDFLAGS = @CARBON_LDFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
......
......@@ -195,7 +195,6 @@ BINRELOC_CFLAGS = @BINRELOC_CFLAGS@
BINRELOC_LIBS = @BINRELOC_LIBS@
CAIRO_CFLAGS = @CAIRO_CFLAGS@
CAIRO_LIBS = @CAIRO_LIBS@
CARBON_LDFLAGS = @CARBON_LDFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
......
......@@ -104,7 +104,6 @@ BINRELOC_CFLAGS = @BINRELOC_CFLAGS@
BINRELOC_LIBS = @BINRELOC_LIBS@
CAIRO_CFLAGS = @CAIRO_CFLAGS@
CAIRO_LIBS = @CAIRO_LIBS@
CARBON_LDFLAGS = @CARBON_LDFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
......
......@@ -42,7 +42,7 @@
#ifdef G_OS_WIN32
# define DEFAULT_WEB_BROWSER "not used on Windows"
#elif HAVE_CARBON
#elif PLATFORM_OSX
# define DEFAULT_WEB_BROWSER "open %s"
#else
# define DEFAULT_WEB_BROWSER "firefox %s"
......
......@@ -174,7 +174,6 @@ BINRELOC_CFLAGS = @BINRELOC_CFLAGS@
BINRELOC_LIBS = @BINRELOC_LIBS@
CAIRO_CFLAGS = @CAIRO_CFLAGS@
CAIRO_LIBS = @CAIRO_LIBS@
CARBON_LDFLAGS = @CARBON_LDFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
......
......@@ -84,6 +84,7 @@ enum
RESTORE,
EXIT,
BUFFER_CHANGED,
IMAGE_OPENED,
LAST_SIGNAL
};
......@@ -161,6 +162,15 @@ gimp_class_init (GimpClass *klass)
gimp_marshal_VOID__VOID,
G_TYPE_NONE, 0);
gimp_signals[IMAGE_OPENED] =
g_signal_new ("image-opened",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GimpClass, image_opened),
NULL, NULL,
gimp_marshal_VOID__STRING,
G_TYPE_NONE, 1, G_TYPE_STRING);
object_class->dispose = gimp_dispose;
object_class->finalize = gimp_finalize;
......@@ -1072,6 +1082,16 @@ gimp_message_valist (Gimp *gimp,
g_free (message);
}
void
gimp_image_opened (Gimp *gimp,
const gchar *uri)
{
g_return_if_fail (GIMP_IS_GIMP (gimp));
g_return_if_fail (uri != NULL);
g_signal_emit (gimp, gimp_signals[IMAGE_OPENED], 0, uri);
}
gboolean
gimp_use_gegl (Gimp *gimp)
{
......
......@@ -129,6 +129,10 @@ struct _GimpClass
gboolean force);
void (* buffer_changed) (Gimp *gimp);
/* emitted if an image is loaded and opened with a display */
void (* image_opened) (Gimp *gimp,
const gchar *uri);
};
......@@ -188,6 +192,9 @@ void gimp_message_valist (Gimp *gimp,
const gchar *format,
va_list args);
void gimp_image_opened (Gimp *gimp,
const gchar *uri);
gboolean gimp_use_gegl (Gimp *gimp);
......
......@@ -809,7 +809,12 @@ gimp_curve_get_point (GimpCurve *curve,
g_return_if_fail (point >= 0 && point < curve->n_points);
if (curve->curve_type == GIMP_CURVE_FREE)
return;
{
if (x) *x = -1.0;
if (y) *y = -1.0;
return;
}
if (x) *x = curve->points[point].x;
if (y) *y = curve->points[point].y;
......
......@@ -25,9 +25,10 @@
#include "base/gimplut.h"
#include "base/lut-funcs.h"
#include "gegl/gimp-gegl-utils.h"
#include "gegl/gimpbrightnesscontrastconfig.h"
/* temp */
/* temporary */
#include "gimp.h"
#include "gimpimage.h"
......@@ -60,10 +61,14 @@ gimp_drawable_brightness_contrast (GimpDrawable *drawable,
if (gimp_use_gegl (GIMP_ITEM (drawable)->image->gimp))
{
GeglNode *node;
GeglNode *node;
const gchar *name;
name = (gimp_gegl_check_version (0, 0, 21) ?
"gegl:brightness-contrast" : "brightness-contrast");
node = g_object_new (GEGL_TYPE_NODE,
"operation", "brightness-contrast",
"operation", name,
NULL);
gimp_brightness_contrast_config_set_node (config, node);
......
......@@ -25,7 +25,9 @@
#include "base/gimplut.h"
#include "base/lut-funcs.h"
/* temp */
#include "gegl/gimp-gegl-utils.h"
/* temporary */
#include "gimp.h"
#include "gimpimage.h"
......@@ -48,9 +50,12 @@ gimp_drawable_invert (GimpDrawable *drawable,
if (gimp_use_gegl (GIMP_ITEM (drawable)->image->gimp))
{
GeglNode *invert;
GeglNode *invert;
const gchar *name;
name = gimp_gegl_check_version (0, 0, 21) ? "gegl:invert" : "invert";
invert = g_object_new (GEGL_TYPE_NODE, "operation", "invert", NULL);
invert = g_object_new (GEGL_TYPE_NODE, "operation", name, NULL);
gimp_drawable_apply_operation (drawable, progress, _("Invert"),
invert, TRUE);
......
......@@ -29,6 +29,8 @@
#include "paint-funcs/paint-funcs.h"
#include "gegl/gimp-gegl-utils.h"
#include "gimpdrawable.h"
#include "gimpdrawable-shadow.h"
#include "gimpimage.h"
......@@ -455,6 +457,8 @@ gimp_image_map_apply (GimpImageMap *image_map,
{
if (! image_map->gegl)
{
const gchar *shift_name;
image_map->gegl = gegl_node_new ();
if (g_object_class_find_property (
......@@ -466,9 +470,12 @@ gimp_image_map_apply (GimpImageMap *image_map,
"operation", "gimp-tilemanager-source",
NULL);
shift_name =
gimp_gegl_check_version (0, 0, 21) ? "gegl:shift" : "shift";
image_map->shift =
gegl_node_new_child (image_map->gegl,
"operation", "shift",
"operation", shift_name,
NULL);
gegl_node_add_child (image_map->gegl, image_map->operation);
......@@ -510,9 +517,15 @@ gimp_image_map_apply (GimpImageMap *image_map,
* source OP, blend its result on top of the original
* pixels.
*/
GeglNode *over = gegl_node_new_child (image_map->gegl,
"operation", "over",
NULL);
const gchar *over_name;
GeglNode *over;
over_name =
gimp_gegl_check_version (0, 0, 21) ? "gegl:over" : "over";
over = gegl_node_new_child (image_map->gegl,
"operation", over_name,
NULL);
gegl_node_link_many (image_map->input,
image_map->shift,
......
......@@ -616,7 +616,44 @@ gimp_marshal_VOID__INT_INT_INT_INT (GClosure *closure,
/* VOID:OBJECT (./gimpmarshal.list:46) */
/* VOID:OBJECT,INT (./gimpmarshal.list:47) */
/* VOID:OBJECT,BOOLEAN (./gimpmarshal.list:47) */
void
gimp_marshal_VOID__OBJECT_BOOLEAN (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
guint n_param_values,
const GValue *param_values,
gpointer invocation_hint G_GNUC_UNUSED,
gpointer marshal_data)
{
typedef void (*GMarshalFunc_VOID__OBJECT_BOOLEAN) (gpointer data1,
gpointer arg_1,
gboolean arg_2,
gpointer data2);
register GMarshalFunc_VOID__OBJECT_BOOLEAN callback;
register GCClosure *cc = (GCClosure*) closure;
register gpointer data1, data2;
g_return_if_fail (n_param_values == 3);
if (G_CCLOSURE_SWAP_DATA (closure))
{
data1 = closure->data;
data2 = g_value_peek_pointer (param_values + 0);
}
else
{
data1 = g_value_peek_pointer (param_values + 0);
data2 = closure->data;
}
callback = (GMarshalFunc_VOID__OBJECT_BOOLEAN) (marshal_data ? marshal_data : cc->callback);
callback (data1,
g_marshal_value_peek_object (param_values + 1),
g_marshal_value_peek_boolean (param_values + 2),
data2);
}
/* VOID:OBJECT,INT (./gimpmarshal.list:48) */
void
gimp_marshal_VOID__OBJECT_INT (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
......@@ -653,7 +690,7 @@ gimp_marshal_VOID__OBJECT_INT (GClosure *closure,
data2);
}
/* VOID:OBJECT,OBJECT (./gimpmarshal.list:48) */
/* VOID:OBJECT,OBJECT (./gimpmarshal.list:49) */
void
gimp_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
......@@ -690,7 +727,7 @@ gimp_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
data2);
}
/* VOID:OBJECT,POINTER (./gimpmarshal.list:49) */
/* VOID:OBJECT,POINTER (./gimpmarshal.list:50) */
void
gimp_marshal_VOID__OBJECT_POINTER (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
......@@ -727,9 +764,9 @@ gimp_marshal_VOID__OBJECT_POINTER (GClosure *closure,
data2);
}
/* VOID:POINTER (./gimpmarshal.list:50) */
/* VOID:POINTER (./gimpmarshal.list:51) */
/* VOID:POINTER,BOXED (./gimpmarshal.list:51) */
/* VOID:POINTER,BOXED (./gimpmarshal.list:52) */
void
gimp_marshal_VOID__POINTER_BOXED (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
......@@ -766,7 +803,7 @@ gimp_marshal_VOID__POINTER_BOXED (GClosure *closure,
data2);
}
/* VOID:POINTER,ENUM (./gimpmarshal.list:52) */
/* VOID:POINTER,ENUM (./gimpmarshal.list:53) */
void
gimp_marshal_VOID__POINTER_ENUM (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
......@@ -803,9 +840,9 @@ gimp_marshal_VOID__POINTER_ENUM (GClosure *closure,
data2);
}
/* VOID:STRING (./gimpmarshal.list:53) */
/* VOID:STRING (./gimpmarshal.list:54) */
/* VOID:STRING,BOOLEAN,UINT,FLAGS (./gimpmarshal.list:54) */
/* VOID:STRING,BOOLEAN,UINT,FLAGS (./gimpmarshal.list:55) */
void
gimp_marshal_VOID__STRING_BOOLEAN_UINT_FLAGS (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
......@@ -846,7 +883,7 @@ gimp_marshal_VOID__STRING_BOOLEAN_UINT_FLAGS (GClosure *closure,
data2);
}
/* VOID:STRING,FLAGS (./gimpmarshal.list:55) */
/* VOID:STRING,FLAGS (./gimpmarshal.list:56) */
void
gimp_marshal_VOID__STRING_FLAGS (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
......@@ -883,7 +920,7 @@ gimp_marshal_VOID__STRING_FLAGS (GClosure *closure,
data2);
}
/* VOID:STRING,STRING,STRING (./gimpmarshal.list:56) */
/* VOID:STRING,STRING,STRING (./gimpmarshal.list:57) */
void
gimp_marshal_VOID__STRING_STRING_STRING (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
......@@ -922,5 +959,5 @@ gimp_marshal_VOID__STRING_STRING_STRING (GClosure *closure,
data2);
}
/* VOID:VOID (./gimpmarshal.list:57) */
/* VOID:VOID (./gimpmarshal.list:58) */
......@@ -139,7 +139,15 @@ extern void gimp_marshal_VOID__INT_INT_INT_INT (GClosure *closure,
/* VOID:OBJECT (./gimpmarshal.list:46) */
#define gimp_marshal_VOID__OBJECT g_cclosure_marshal_VOID__OBJECT
/* VOID:OBJECT,INT (./gimpmarshal.list:47) */
/* VOID:OBJECT,BOOLEAN (./gimpmarshal.list:47) */
extern void gimp_marshal_VOID__OBJECT_BOOLEAN (GClosure *closure,
GValue *return_value,
guint n_param_values,
const GValue *param_values,
gpointer invocation_hint,
gpointer marshal_data);
/* VOID:OBJECT,INT (./gimpmarshal.list:48) */
extern void gimp_marshal_VOID__OBJECT_INT (GClosure *closure,
GValue *return_value,
guint n_param_values,
......@@ -147,7 +155,7 @@ extern void gimp_marshal_VOID__OBJECT_INT (GClosure *closure,
gpointer invocation_hint,
gpointer marshal_data);
/* VOID:OBJECT,OBJECT (./gimpmarshal.list:48) */
/* VOID:OBJECT,OBJECT (./gimpmarshal.list:49) */
extern void gimp_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
GValue *return_value,
guint n_param_values,
......@@ -155,7 +163,7 @@ extern void gimp_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
gpointer invocation_hint,
gpointer marshal_data);
/* VOID:OBJECT,POINTER (./gimpmarshal.list:49) */
/* VOID:OBJECT,POINTER (./gimpmarshal.list:50) */
extern void gimp_marshal_VOID__OBJECT_POINTER (GClosure *closure,
GValue *return_value,
guint n_param_values,
......@@ -163,10 +171,10 @@ extern void gimp_marshal_VOID__OBJECT_POINTER (GClosure *closure,
gpointer invocation_hint,
gpointer marshal_data);
/* VOID:POINTER (./gimpmarshal.list:50) */
/* VOID:POINTER (./gimpmarshal.list:51) */
#define gimp_marshal_VOID__POINTER g_cclosure_marshal_VOID__POINTER
/* VOID:POINTER,BOXED (./gimpmarshal.list:51) */
/* VOID:POINTER,BOXED (./gimpmarshal.list:52) */
extern void gimp_marshal_VOID__POINTER_BOXED (GClosure *closure,
GValue *return_value,
guint n_param_values,
......@@ -174,7 +182,7 @@ extern void gimp_marshal_VOID__POINTER_BOXED (GClosure *closure,
gpointer invocation_hint,
gpointer marshal_data);
/* VOID:POINTER,ENUM (./gimpmarshal.list:52) */
/* VOID:POINTER,ENUM (./gimpmarshal.list:53) */
extern void gimp_marshal_VOID__POINTER_ENUM (GClosure *closure,
GValue *return_value,
guint n_param_values,
......@@ -182,10 +190,10 @@ extern void gimp_marshal_VOID__POINTER_ENUM (GClosure *closure,
gpointer invocation_hint,
gpointer marshal_data);
/* VOID:STRING (./gimpmarshal.list:53) */
/* VOID:STRING (./gimpmarshal.list:54) */
#define gimp_marshal_VOID__STRING g_cclosure_marshal_VOID__STRING
/* VOID:STRING,BOOLEAN,UINT,FLAGS (./gimpmarshal.list:54) */
/* VOID:STRING,BOOLEAN,UINT,FLAGS (./gimpmarshal.list:55) */
extern void gimp_marshal_VOID__STRING_BOOLEAN_UINT_FLAGS (GClosure *closure,
GValue *return_value,
guint n_param_values,
......@@ -193,7 +201,7 @@ extern void gimp_marshal_VOID__STRING_BOOLEAN_UINT_FLAGS (GClosure *closure,
gpointer invocation_hint,
gpointer marshal_data);
/* VOID:STRING,FLAGS (./gimpmarshal.list:55) */
/* VOID:STRING,FLAGS (./gimpmarshal.list:56) */
extern void gimp_marshal_VOID__STRING_FLAGS (GClosure *closure,
GValue *return_value,
guint n_param_values,
......@@ -201,7 +209,7 @@ extern void gimp_marshal_VOID__STRING_FLAGS (GClosure *closure,
gpointer invocation_hint,
gpointer marshal_data);
/* VOID:STRING,STRING,STRING (./gimpmarshal.list:56) */
/* VOID:STRING,STRING,STRING (./gimpmarshal.list:57) */
extern void gimp_marshal_VOID__STRING_STRING_STRING (GClosure *closure,
GValue *return_value,
guint n_param_values,
......@@ -209,7 +217,7 @@ extern void gimp_marshal_VOID__STRING_STRING_STRING (GClosure *closure,
gpointer invocation_hint,
gpointer marshal_data);
/* VOID:VOID (./gimpmarshal.list:57) */
/* VOID:VOID (./gimpmarshal.list:58) */
#define gimp_marshal_VOID__VOID g_cclosure_marshal_VOID__VOID
G_END_DECLS
......
......@@ -44,6 +44,7 @@ VOID: INT
VOID: INT, INT
VOID: INT, INT, INT, INT
VOID: OBJECT
VOID: OBJECT, BOOLEAN
VOID: OBJECT, INT
VOID: OBJECT, OBJECT
VOID: OBJECT, POINTER
......
......@@ -361,13 +361,14 @@ gimp_projection_initialize (GimpProjection *proj,
gimp_item_offsets (item, &off_x, &off_y);
if (gimp_item_get_visible (item) &&
! gimp_drawable_has_alpha (GIMP_DRAWABLE (item)) &&
! gimp_layer_get_mask (GIMP_LAYER (item)) &&
gimp_layer_get_mode (GIMP_LAYER (item)) == GIMP_NORMAL_MODE &&
(off_x <= x) &&
(off_y <= y) &&
(off_x + gimp_item_width (item) >= x + w) &&
if (gimp_item_get_visible (item) &&
! gimp_drawable_has_alpha (GIMP_DRAWABLE (item)) &&
! gimp_layer_get_mask (GIMP_LAYER (item)) &&
gimp_layer_get_mode (GIMP_LAYER (item)) == GIMP_NORMAL_MODE &&
gimp_layer_get_opacity (GIMP_LAYER (item)) == GIMP_OPACITY_OPAQUE &&
(off_x <= x) &&
(off_y <= y) &&
(off_x + gimp_item_width (item) >= x + w) &&
(off_y + gimp_item_height (item) >= y + h))
{
coverage = TRUE;
......
......@@ -110,7 +110,6 @@ BINRELOC_CFLAGS = @BINRELOC_CFLAGS@
BINRELOC_LIBS = @BINRELOC_LIBS@
CAIRO_CFLAGS = @CAIRO_CFLAGS@