New upstream version 2.10.34
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.16.5 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -317,6 +317,8 @@ am__define_uniq_tagged_files = \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
AA_LIBS = @AA_LIBS@
|
||||
@ -366,8 +368,6 @@ CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
|
||||
CPP_FOR_BUILD = @CPP_FOR_BUILD@
|
||||
CSCOPE = @CSCOPE@
|
||||
CTAGS = @CTAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
@ -386,10 +386,8 @@ ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
ETAGS = @ETAGS@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILECMD = @FILECMD@
|
||||
FILE_AA = @FILE_AA@
|
||||
FILE_EXR = @FILE_EXR@
|
||||
FILE_HEIF = @FILE_HEIF@
|
||||
@ -438,6 +436,7 @@ GIMP_PKGCONFIG_VERSION = @GIMP_PKGCONFIG_VERSION@
|
||||
GIMP_PLUGINS = @GIMP_PLUGINS@
|
||||
GIMP_PLUGIN_VERSION = @GIMP_PLUGIN_VERSION@
|
||||
GIMP_REAL_VERSION = @GIMP_REAL_VERSION@
|
||||
GIMP_RELEASE = @GIMP_RELEASE@
|
||||
GIMP_SYSCONF_VERSION = @GIMP_SYSCONF_VERSION@
|
||||
GIMP_TOOL_VERSION = @GIMP_TOOL_VERSION@
|
||||
GIMP_UNSTABLE = @GIMP_UNSTABLE@
|
||||
@ -1181,6 +1180,7 @@ cscopelist-am: $(am__tagged_files)
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||
|
||||
|
@ -274,17 +274,21 @@ gimp_display_shell_canvas_expose (GtkWidget *widget,
|
||||
/* ignore events on overlays */
|
||||
if (eevent->window == gtk_widget_get_window (widget))
|
||||
{
|
||||
cairo_t *cr;
|
||||
GimpImage *image = gimp_display_get_image (shell->display);
|
||||
cairo_t *cr;
|
||||
|
||||
cr = gdk_cairo_create (gtk_widget_get_window (shell->canvas));
|
||||
gdk_cairo_region (cr, eevent->region);
|
||||
cairo_clip (cr);
|
||||
|
||||
if (gimp_display_get_image (shell->display))
|
||||
/* If we are currently converting the image, it might be in inconsistent
|
||||
* state and should not be redrawn.
|
||||
*/
|
||||
if (image != NULL && ! gimp_image_get_converting (image))
|
||||
{
|
||||
gimp_display_shell_canvas_draw_image (shell, cr);
|
||||
}
|
||||
else
|
||||
else if (image == NULL)
|
||||
{
|
||||
gimp_display_shell_canvas_draw_drop_zone (shell, cr);
|
||||
}
|
||||
|
@ -75,6 +75,15 @@ gimp_display_shell_render (GimpDisplayShell *shell,
|
||||
g_return_if_fail (scale > 0.0);
|
||||
|
||||
image = gimp_display_get_image (shell->display);
|
||||
|
||||
/* While converting, the render can be wrong; but worse, we rely on allocated
|
||||
* data which might be the wrong size and this was a crash we had which was
|
||||
* hard to diagnose as it doesn't always crash immediately (see discussions in
|
||||
* #9136). This is why this assert is important. We want to make sure we never
|
||||
* call this when the shell's image is in the inconsistent "converting" state.
|
||||
*/
|
||||
g_return_if_fail (! gimp_image_get_converting (image));
|
||||
|
||||
buffer = gimp_pickable_get_buffer (
|
||||
gimp_display_shell_get_pickable (shell));
|
||||
#ifdef USE_NODE_BLIT
|
||||
|
@ -55,6 +55,9 @@
|
||||
/* spacing between the icon and the statusbar label */
|
||||
#define ICON_SPACING 2
|
||||
|
||||
/* width/height of the statusbar icon rect */
|
||||
#define ICON_SIZE 16
|
||||
|
||||
/* timeout (in milliseconds) for temporary statusbar messages */
|
||||
#define MESSAGE_TIMEOUT 8000
|
||||
|
||||
@ -1342,7 +1345,7 @@ gimp_statusbar_label_expose (GtkWidget *widget,
|
||||
/* the rectangle width is negative when rendering right-to-left */
|
||||
x += PANGO_PIXELS (rect.x) + (rect.width < 0 ?
|
||||
PANGO_PIXELS (rect.width) : 0);
|
||||
y += PANGO_PIXELS (rect.y);
|
||||
y += PANGO_PIXELS (rect.y / ICON_SIZE);
|
||||
|
||||
gdk_cairo_set_source_pixbuf (cr, statusbar->icon, x, y);
|
||||
cairo_paint (cr);
|
||||
@ -1734,7 +1737,7 @@ gimp_statusbar_load_icon (GimpStatusbar *statusbar,
|
||||
if (icon)
|
||||
return g_object_ref (icon);
|
||||
|
||||
icon = gimp_widget_load_icon (statusbar->label, icon_name, 16);
|
||||
icon = gimp_widget_load_icon (statusbar->label, icon_name, ICON_SIZE);
|
||||
|
||||
/* this is not optimal but so what */
|
||||
if (g_hash_table_size (statusbar->icon_hash) > 16)
|
||||
|
@ -548,10 +548,11 @@ gimp_tool_handle_grid_button_press (GimpToolWidget *widget,
|
||||
GdkModifierType state,
|
||||
GimpButtonPressType press_type)
|
||||
{
|
||||
GimpToolHandleGrid *grid = GIMP_TOOL_HANDLE_GRID (widget);
|
||||
GimpToolHandleGridPrivate *private = grid->private;
|
||||
gint n_handles = private->n_handles;
|
||||
gint active_handle = private->handle - 1;
|
||||
GimpToolHandleGrid *grid = GIMP_TOOL_HANDLE_GRID (widget);
|
||||
GimpToolHandleGridPrivate *private = grid->private;
|
||||
gint n_handles = private->n_handles;
|
||||
gint active_handle = private->handle - 1;
|
||||
GimpCanvasItem *dragged_handle = NULL;
|
||||
|
||||
switch (private->handle_mode)
|
||||
{
|
||||
@ -591,9 +592,23 @@ gimp_tool_handle_grid_button_press (GimpToolWidget *widget,
|
||||
|
||||
g_object_notify (G_OBJECT (grid), "n-handles");
|
||||
}
|
||||
else if (active_handle >= 0 &&
|
||||
active_handle < 4)
|
||||
{
|
||||
/* existing handle is being dragged. don't set dragged_handle for
|
||||
* newly-created handles, otherwise their snap offset will be wrong
|
||||
*/
|
||||
dragged_handle = private->handles[private->handle];
|
||||
}
|
||||
break;
|
||||
|
||||
case GIMP_HANDLE_MODE_MOVE:
|
||||
if (active_handle >= 0 &&
|
||||
active_handle < 4)
|
||||
{
|
||||
/* existing handle is being dragged */
|
||||
dragged_handle = private->handles[private->handle];
|
||||
}
|
||||
/* check for valid position and calculating of OX0...OY3 is
|
||||
* done on button release
|
||||
*/
|
||||
@ -627,6 +642,22 @@ gimp_tool_handle_grid_button_press (GimpToolWidget *widget,
|
||||
break;
|
||||
}
|
||||
|
||||
/* ensure dragged handles snap to guides based on the handle center, not where
|
||||
* the cursor grabbed them
|
||||
*/
|
||||
if (dragged_handle)
|
||||
{
|
||||
gdouble x, y;
|
||||
|
||||
gimp_canvas_handle_get_position (dragged_handle,
|
||||
&x,
|
||||
&y);
|
||||
gimp_tool_widget_set_snap_offsets (widget,
|
||||
SIGNED_ROUND (x - coords->x),
|
||||
SIGNED_ROUND (y - coords->y),
|
||||
0, 0);
|
||||
}
|
||||
|
||||
private->last_x = coords->x;
|
||||
private->last_y = coords->y;
|
||||
|
||||
|
Reference in New Issue
Block a user