Compare commits

...

No commits in common. "c8s-stream-2.8" and "c9-beta" have entirely different histories.

17 changed files with 782 additions and 11082 deletions

View File

@ -1 +1 @@
c894a0d9a864d418bdbd30a22d698c731583e5c4 SOURCES/gimp-2.8.22.tar.bz2
f7c52adcf5c8ab3e858ac776d3b7cedd1f94a891 SOURCES/gimp-3.0.4.tar.xz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/gimp-2.8.22.tar.bz2
SOURCES/gimp-3.0.4.tar.xz

View File

@ -0,0 +1,12 @@
diff -urNp a/etc/gimprc.in b/etc/gimprc.in
--- a/etc/gimprc.in 2019-08-20 13:03:43.195089141 +0200
+++ b/etc/gimprc.in 2019-08-20 13:04:09.109353485 +0200
@@ -153,7 +153,7 @@
# Where to look for fonts in addition to the system-wide installed fonts.
# This is a colon-separated list of folders to search.
#
-# (font-path "${gimp_dir}/fonts:${gimp_data_dir}/fonts")
+(font-path "${gimp_dir}/fonts")
# Specify a default brush. The brush is searched for in the specified brush
# path. This is a string value.

View File

@ -1,48 +0,0 @@
From 9a3f047f90a79e96af54a73090313a670b2685d3 Mon Sep 17 00:00:00 2001
From: Nils Philippsen <nils@redhat.com>
Date: Mon, 19 Nov 2012 18:26:16 +0100
Subject: [PATCH] patch: cm-system-monitor-profile-by-default
Squashed commit of the following:
commit 1430096d27ba12566739fadf96302c9a4ce8f98b
Author: Nils Philippsen <nils@redhat.com>
Date: Mon Nov 19 18:25:28 2012 +0100
color mgmt: fix syntax error
commit eb78c3a0cfd7ff796110fcd3cd161ca11005fca5
Author: Richard Hughes <hughsient@gmail.com>
Date: Thu Nov 15 12:12:12 2012 +0100
color mgmt: try to use the system monitor profile by default
---
etc/gimprc | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/etc/gimprc b/etc/gimprc
index 8306571..1511cd6 100644
--- a/etc/gimprc
+++ b/etc/gimprc
@@ -285,14 +285,15 @@
# Defines the color management behavior. This is a parameter list.
#
-# (color-management
+(color-management
# (mode display)
-# (display-profile-from-gdk no)
+ (display-profile-from-gdk yes)
# (display-rendering-intent perceptual)
# (simulation-rendering-intent perceptual)
# (simulation-gamut-check no)
# (out-of-gamut-color (color-rgb 0.501961 0.501961 0.501961))
-# (display-module "CdisplayLcms"))
+# (display-module "CdisplayLcms")
+)
# How to handle embedded color profiles when opening a file. Possible values
# are ask, keep and convert.
--
1.7.11.7

View File

@ -1,13 +0,0 @@
diff -urNp old/plug-ins/common/file-gbr.c new/plug-ins/common/file-gbr.c
--- old/plug-ins/common/file-gbr.c 2018-01-04 12:13:17.553757864 +0100
+++ new/plug-ins/common/file-gbr.c 2018-01-04 12:18:01.723635742 +0100
@@ -443,7 +443,8 @@ load_image (const gchar *filename,
{
gchar *temp = g_new (gchar, bn_size);
- if ((read (fd, temp, bn_size)) < bn_size)
+ if ((read (fd, temp, bn_size)) < bn_size ||
+ temp[bn_size - 1] != '\0')
{
g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
_("Error in GIMP brush file '%s'"),

View File

@ -1,130 +0,0 @@
diff -urNp old/plug-ins/file-fli/fli.c new/plug-ins/file-fli/fli.c
--- old/plug-ins/file-fli/fli.c 2018-01-04 12:19:54.714139464 +0100
+++ new/plug-ins/file-fli/fli.c 2018-01-04 12:34:18.568323629 +0100
@@ -25,6 +25,8 @@
#include "config.h"
+#include <glib/gstdio.h>
+
#include <string.h>
#include <stdio.h>
@@ -461,23 +463,27 @@ void fli_read_brun(FILE *f, s_fli_header
unsigned short yc;
unsigned char *pos;
for (yc=0; yc < fli_header->height; yc++) {
- unsigned short xc, pc, pcnt;
+ unsigned short pc, pcnt;
+ size_t n, xc;
pc=fli_read_char(f);
xc=0;
pos=framebuf+(fli_header->width * yc);
+ n=(size_t)fli_header->width * (fli_header->height-yc);
for (pcnt=pc; pcnt>0; pcnt--) {
unsigned short ps;
ps=fli_read_char(f);
if (ps & 0x80) {
unsigned short len;
- for (len=-(signed char)ps; len>0; len--) {
+ for (len=-(signed char)ps; len>0 && xc<n; len--) {
pos[xc++]=fli_read_char(f);
}
} else {
unsigned char val;
+ size_t len;
+ len=MIN(n-xc,ps);
val=fli_read_char(f);
- memset(&(pos[xc]), val, ps);
- xc+=ps;
+ memset(&(pos[xc]), val, len);
+ xc+=len;
}
}
}
@@ -564,25 +570,34 @@ void fli_read_lc(FILE *f, s_fli_header *
memcpy(framebuf, old_framebuf, fli_header->width * fli_header->height);
firstline = fli_read_short(f);
numline = fli_read_short(f);
+ if (numline > fli_header->height || fli_header->height-numline < firstline)
+ return;
+
for (yc=0; yc < numline; yc++) {
- unsigned short xc, pc, pcnt;
+ unsigned short pc, pcnt;
+ size_t n, xc;
pc=fli_read_char(f);
xc=0;
pos=framebuf+(fli_header->width * (firstline+yc));
+ n=(size_t)fli_header->width * (fli_header->height-firstline-yc);
for (pcnt=pc; pcnt>0; pcnt--) {
unsigned short ps,skip;
skip=fli_read_char(f);
ps=fli_read_char(f);
- xc+=skip;
+ xc+=MIN(n-xc,skip);
if (ps & 0x80) {
unsigned char val;
+ size_t len;
ps=-(signed char)ps;
val=fli_read_char(f);
- memset(&(pos[xc]), val, ps);
- xc+=ps;
+ len=MIN(n-xc,ps);
+ memset(&(pos[xc]), val, len);
+ xc+=len;
} else {
- fread(&(pos[xc]), ps, 1, f);
- xc+=ps;
+ size_t len;
+ len=MIN(n-xc,ps);
+ fread(&(pos[xc]), len, 1, f);
+ xc+=len;
}
}
}
@@ -689,7 +704,8 @@ void fli_read_lc_2(FILE *f, s_fli_header
yc=0;
numline = fli_read_short(f);
for (lc=0; lc < numline; lc++) {
- unsigned short xc, pc, pcnt, lpf, lpn;
+ unsigned short pc, pcnt, lpf, lpn;
+ size_t n, xc;
pc=fli_read_short(f);
lpf=0; lpn=0;
while (pc & 0x8000) {
@@ -700,26 +716,30 @@ void fli_read_lc_2(FILE *f, s_fli_header
}
pc=fli_read_short(f);
}
+ yc=MIN(yc, fli_header->height);
xc=0;
pos=framebuf+(fli_header->width * yc);
+ n=(size_t)fli_header->width * (fli_header->height-yc);
for (pcnt=pc; pcnt>0; pcnt--) {
unsigned short ps,skip;
skip=fli_read_char(f);
ps=fli_read_char(f);
- xc+=skip;
+ xc+=MIN(n-xc,skip);
if (ps & 0x80) {
unsigned char v1,v2;
ps=-(signed char)ps;
v1=fli_read_char(f);
v2=fli_read_char(f);
- while (ps>0) {
+ while (ps>0 && xc+1<n) {
pos[xc++]=v1;
pos[xc++]=v2;
ps--;
}
} else {
- fread(&(pos[xc]), ps, 2, f);
- xc+=ps << 1;
+ size_t len;
+ len=MIN((n-xc)/2,ps);
+ fread(&(pos[xc]), len, 2, f);
+ xc+=len << 1;
}
}
if (lpf) pos[xc]=lpn;

View File

@ -1,25 +0,0 @@
diff -urNp old/plug-ins/common/file-tga.c new/plug-ins/common/file-tga.c
--- old/plug-ins/common/file-tga.c 2018-01-04 12:36:22.333754882 +0100
+++ new/plug-ins/common/file-tga.c 2018-01-04 12:40:46.943070295 +0100
@@ -564,12 +564,17 @@ load_image (const gchar *filename,
}
break;
case TGA_TYPE_COLOR:
- if (info.bpp != 15 && info.bpp != 16 &&
- info.bpp != 24 && info.bpp != 32)
+ if ((info.bpp != 15 && info.bpp != 16 &&
+ info.bpp != 24 && info.bpp != 32) ||
+ ((info.bpp == 15 || info.bpp == 24) &&
+ info.alphaBits != 0) ||
+ (info.bpp == 16 && info.alphaBits != 1 &&
+ info.alphaBits != 0) ||
+ (info.bpp == 32 && info.alphaBits != 8))
{
- g_message ("Unhandled sub-format in '%s' (type = %u, bpp = %u)",
+ g_message ("Unhandled sub-format in '%s' (type = %u, bpp = %u, alpha = %u)",
gimp_filename_to_utf8 (filename),
- info.imageType, info.bpp);
+ info.imageType, info.bpp, info.alphaBits);
return -1;
}
break;

View File

@ -1,16 +0,0 @@
diff -urNp old/plug-ins/common/file-psp.c new/plug-ins/common/file-psp.c
--- old/plug-ins/common/file-psp.c 2018-01-04 11:58:46.928253797 +0100
+++ new/plug-ins/common/file-psp.c 2018-01-04 12:03:42.141874067 +0100
@@ -913,6 +913,12 @@ read_creator_block (FILE *f,
g_message ("Error reading creator keyword data");
return -1;
}
+ if (string[length - 1] != '\0')
+ {
+ g_message ("Creator keyword data not nul-terminated");
+ g_free (string);
+ return -1;
+ }
switch (keyword)
{
case PSP_CRTR_FLD_CRT_DATE:

View File

@ -1,13 +0,0 @@
diff -urNp old/app/xcf/xcf.c new/app/xcf/xcf.c
--- old/app/xcf/xcf.c 2017-04-30 23:47:39.000000000 +0200
+++ new/app/xcf/xcf.c 2018-01-04 11:56:31.399888783 +0100
@@ -318,7 +318,8 @@ xcf_load_invoker (GimpProcedure *pr
{
info.file_version = 0;
}
- else if (id[9] == 'v')
+ else if (id[9] == 'v' &&
+ id[13] == '\0')
{
info.file_version = atoi (id + 10);
}

View File

@ -1,19 +0,0 @@
diff -urNp old/plug-ins/common/file-psp.c new/plug-ins/common/file-psp.c
--- old/plug-ins/common/file-psp.c 2018-01-04 12:04:14.636811394 +0100
+++ new/plug-ins/common/file-psp.c 2018-01-04 12:12:41.717877789 +0100
@@ -1777,6 +1777,15 @@ load_image (const gchar *filename,
{
block_start = ftell (f);
+ if (block_start + block_total_len > st.st_size)
+ {
+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
+ _("Could not open '%s' for reading: %s"),
+ gimp_filename_to_utf8 (filename),
+ _("invalid block size"));
+ goto error;
+ }
+
if (id == PSP_IMAGE_BLOCK)
{
if (block_number != 0)

File diff suppressed because it is too large Load Diff

View File

@ -1,163 +0,0 @@
diff -urNp old/plug-ins/pygimp/plug-ins/benchmark-foreground-extract.py new/plug-ins/pygimp/plug-ins/benchmark-foreground-extract.py
--- old/plug-ins/pygimp/plug-ins/benchmark-foreground-extract.py 2018-05-22 13:09:58.522351307 +0200
+++ new/plug-ins/pygimp/plug-ins/benchmark-foreground-extract.py 2018-05-22 13:13:20.132412856 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
# Foreground Extraction Benchmark
# Copyright 2005 Sven Neumann <sven@gimp.org>
diff -urNp old/plug-ins/pygimp/plug-ins/clothify.py new/plug-ins/pygimp/plug-ins/clothify.py
--- old/plug-ins/pygimp/plug-ins/clothify.py 2018-05-22 13:09:58.522351307 +0200
+++ new/plug-ins/pygimp/plug-ins/clothify.py 2018-05-22 13:13:30.123366531 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
# Gimp-Python - allows the writing of Gimp plugins in Python.
# Copyright (C) 1997 James Henstridge <james@daa.com.au>
diff -urNp old/plug-ins/pygimp/plug-ins/colorxhtml.py new/plug-ins/pygimp/plug-ins/colorxhtml.py
--- old/plug-ins/pygimp/plug-ins/colorxhtml.py 2018-05-22 13:09:58.521351312 +0200
+++ new/plug-ins/pygimp/plug-ins/colorxhtml.py 2018-05-22 13:11:58.188793396 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
# Gimp-Python - allows the writing of Gimp plugins in Python.
# Copyright (C) 2003, 2005 Manish Singh <yosh@gimp.org>
diff -urNp old/plug-ins/pygimp/plug-ins/file-openraster.py new/plug-ins/pygimp/plug-ins/file-openraster.py
--- old/plug-ins/pygimp/plug-ins/file-openraster.py 2018-05-22 13:09:58.521351312 +0200
+++ new/plug-ins/pygimp/plug-ins/file-openraster.py 2018-05-22 13:10:57.468076133 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
# GIMP Plug-in for the OpenRaster file format
# http://create.freedesktop.org/wiki/OpenRaster
diff -urNp old/plug-ins/pygimp/plug-ins/foggify.py new/plug-ins/pygimp/plug-ins/foggify.py
--- old/plug-ins/pygimp/plug-ins/foggify.py 2018-05-22 13:09:58.522351307 +0200
+++ new/plug-ins/pygimp/plug-ins/foggify.py 2018-05-22 13:11:44.843855476 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
# Gimp-Python - allows the writing of Gimp plugins in Python.
# Copyright (C) 1997 James Henstridge <james@daa.com.au>
diff -urNp old/plug-ins/pygimp/plug-ins/gradients-save-as-css.py new/plug-ins/pygimp/plug-ins/gradients-save-as-css.py
--- old/plug-ins/pygimp/plug-ins/gradients-save-as-css.py 2018-05-22 13:09:58.521351312 +0200
+++ new/plug-ins/pygimp/plug-ins/gradients-save-as-css.py 2018-05-22 13:11:34.716902608 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python2
# -*- coding: utf-8 -*-
# Allows saving (TODO: and loading) CSS gradient files
@@ -101,4 +101,4 @@ register(
menu="<Gradients>",
domain=("gimp20-python", gimp.locale_directory)
)
-main()
\ Chybí znak konce řádku na konci souboru
+main()
diff -urNp old/plug-ins/pygimp/plug-ins/palette-offset.py new/plug-ins/pygimp/plug-ins/palette-offset.py
--- old/plug-ins/pygimp/plug-ins/palette-offset.py 2018-05-22 13:09:58.521351312 +0200
+++ new/plug-ins/pygimp/plug-ins/palette-offset.py 2018-05-22 13:12:38.003608362 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
# -*- coding: utf-8 -*-
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff -urNp old/plug-ins/pygimp/plug-ins/palette-sort.py new/plug-ins/pygimp/plug-ins/palette-sort.py
--- old/plug-ins/pygimp/plug-ins/palette-sort.py 2018-05-22 13:09:58.522351307 +0200
+++ new/plug-ins/pygimp/plug-ins/palette-sort.py 2018-05-22 13:11:10.469015537 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff -urNp old/plug-ins/pygimp/plug-ins/palette-to-gradient.py new/plug-ins/pygimp/plug-ins/palette-to-gradient.py
--- old/plug-ins/pygimp/plug-ins/palette-to-gradient.py 2018-05-22 13:09:58.522351307 +0200
+++ new/plug-ins/pygimp/plug-ins/palette-to-gradient.py 2018-05-22 13:10:27.932213923 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff -urNp old/plug-ins/pygimp/plug-ins/py-slice.py new/plug-ins/pygimp/plug-ins/py-slice.py
--- old/plug-ins/pygimp/plug-ins/py-slice.py 2018-05-22 13:09:58.521351312 +0200
+++ new/plug-ins/pygimp/plug-ins/py-slice.py 2018-05-22 13:10:47.796121235 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
# -*- coding: utf-8 -*-
#Copyright (c) Manish Singh
diff -urNp old/plug-ins/pygimp/plug-ins/python-console.py new/plug-ins/pygimp/plug-ins/python-console.py
--- old/plug-ins/pygimp/plug-ins/python-console.py 2018-05-22 13:09:58.522351307 +0200
+++ new/plug-ins/pygimp/plug-ins/python-console.py 2018-05-22 13:12:08.532745298 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
# Gimp-Python - allows the writing of Gimp plugins in Python.
# Copyright (C) 1997 James Henstridge <james@daa.com.au>
diff -urNp old/plug-ins/pygimp/plug-ins/python-eval.py new/plug-ins/pygimp/plug-ins/python-eval.py
--- old/plug-ins/pygimp/plug-ins/python-eval.py 2018-05-22 13:09:58.522351307 +0200
+++ new/plug-ins/pygimp/plug-ins/python-eval.py 2018-05-22 13:13:44.059301940 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
# Gimp-Python - allows the writing of Gimp plugins in Python.
# Copyright (C) 2006 Manish Singh <yosh@gimp.org>
diff -urNp old/plug-ins/pygimp/plug-ins/shadow_bevel.py new/plug-ins/pygimp/plug-ins/shadow_bevel.py
--- old/plug-ins/pygimp/plug-ins/shadow_bevel.py 2018-05-22 13:09:58.521351312 +0200
+++ new/plug-ins/pygimp/plug-ins/shadow_bevel.py 2018-05-22 13:13:56.019246529 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
# Gimp-Python - allows the writing of Gimp plugins in Python.
# Copyright (C) 1997 James Henstridge <james@daa.com.au>
diff -urNp old/plug-ins/pygimp/plug-ins/sphere.py new/plug-ins/pygimp/plug-ins/sphere.py
--- old/plug-ins/pygimp/plug-ins/sphere.py 2018-05-22 13:09:58.522351307 +0200
+++ new/plug-ins/pygimp/plug-ins/sphere.py 2018-05-22 13:14:14.564160649 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
# Gimp-Python - allows the writing of Gimp plugins in Python.
# Copyright (C) 1997 James Henstridge <james@daa.com.au>
diff -urNp old/plug-ins/pygimp/plug-ins/text-brush.py new/plug-ins/pygimp/plug-ins/text-brush.py
--- old/plug-ins/pygimp/plug-ins/text-brush.py 2018-05-22 13:09:58.521351312 +0200
+++ new/plug-ins/pygimp/plug-ins/text-brush.py 2018-05-22 13:12:49.291555951 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
# coding: utf-8
# Author: João Sebastião de Oliveira Bueno
diff -urNp old/plug-ins/pygimp/plug-ins/whirlpinch.py new/plug-ins/pygimp/plug-ins/whirlpinch.py
--- old/plug-ins/pygimp/plug-ins/whirlpinch.py 2018-05-22 13:09:58.521351312 +0200
+++ new/plug-ins/pygimp/plug-ins/whirlpinch.py 2018-05-22 13:14:24.092116544 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
# Gimp-Python - allows the writing of Gimp plugins in Python.
# Copyright (C) 1997 James Henstridge <james@daa.com.au>
diff -urNp old/configure new/configure
--- old/configure 2018-06-28 08:44:29.162846929 +0200
+++ new/configure 2018-06-28 08:47:06.790148573 +0200
@@ -23051,7 +23051,7 @@ if ${am_cv_pathless_PYTHON+:} false; the
$as_echo_n "(cached) " >&6
else
- for am_cv_pathless_PYTHON in python python2 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do
+ for am_cv_pathless_PYTHON in python2 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do
test "$am_cv_pathless_PYTHON" = none && break
prog="import sys
# split strings by '.' and convert to numeric. Append some zeros

View File

@ -1,12 +0,0 @@
diff -up gimp-2.8.6/etc/gimprc.external-help-browser gimp-2.8.6/etc/gimprc
--- gimp-2.8.6/etc/gimprc.external-help-browser 2013-07-02 12:04:11.011774506 +0200
+++ gimp-2.8.6/etc/gimprc 2013-07-02 12:04:25.408824028 +0200
@@ -671,7 +671,7 @@
# Sets the browser used by the help system. Possible values are gimp and
# web-browser.
#
-# (help-browser gimp)
+(help-browser web-browser)
# When enabled, the online user manual will be used by the help system.
# Otherwise the locally installed copy is used. Possible values are yes and

View File

@ -0,0 +1,26 @@
diff -urNp old/etc/gimprc.in new/etc/gimprc.in
--- old/etc/gimprc.in 2025-05-02 16:05:59.766235164 +0200
+++ new/etc/gimprc.in 2025-05-02 16:08:52.117193144 +0200
@@ -316,9 +316,9 @@
# Defines the color management behavior. This is a parameter list.
#
-# (color-management
+ (color-management
# (mode display)
-# (display-profile-from-gdk no)
+ (display-profile-from-gdk no)
# (display-rendering-intent relative-colorimetric)
# (display-use-black-point-compensation yes)
# (display-optimize yes)
@@ -326,7 +326,9 @@
# (simulation-use-black-point-compensation no)
# (simulation-optimize yes)
# (simulation-gamut-check no)
-# (out-of-gamut-color (color-rgb 1 0 1)))
+# (out-of-gamut-color (color-rgb 1 0 1))
+ (display-module "CdisplayLcms")
+)
# Keep a permanent record of all opened and saved files in the Recent
# Documents list. Possible values are yes and no.

View File

@ -0,0 +1,12 @@
diff -urNp old/etc/gimprc.in new/etc/gimprc.in
--- old/etc/gimprc.in 2025-05-02 16:10:40.807797273 +0200
+++ new/etc/gimprc.in 2025-05-02 16:12:22.380006468 +0200
@@ -824,7 +824,7 @@
# Sets the browser used by the help system. Possible values are gimp and
# web-browser.
#
-# (help-browser gimp)
+(help-browser web-browser)
# The maximum number of actions saved in history. This is an integer value.
#

View File

@ -0,0 +1,153 @@
diff -urNp a/app/core/gimpimage-colormap.c b/app/core/gimpimage-colormap.c
--- a/app/core/gimpimage-colormap.c 2025-05-20 09:08:24.351925471 +0200
+++ b/app/core/gimpimage-colormap.c 2025-05-20 09:20:42.372348093 +0200
@@ -328,9 +328,8 @@ gimp_image_colormap_is_index_used (GimpI
num_processors = GIMP_GEGL_CONFIG (image->gimp->config)->num_processors;
layers = gimp_image_get_layer_list (image);
- pool = g_thread_pool_new_full ((GFunc) gimp_image_colormap_thread_is_index_used,
+ pool = g_thread_pool_new ((GFunc) gimp_image_colormap_thread_is_index_used,
GINT_TO_POINTER (color_index),
- (GDestroyNotify) g_free,
num_processors, TRUE, NULL);
for (iter = layers; iter; iter = g_list_next (iter))
{
diff -urNp a/app/core/gimpitemlist.c b/app/core/gimpitemlist.c
--- a/app/core/gimpitemlist.c 2025-05-20 09:08:24.354925484 +0200
+++ b/app/core/gimpitemlist.c 2025-05-20 09:20:03.980745485 +0200
@@ -629,7 +629,7 @@ gimp_item_list_get_items_by_glob (GimpIt
spec = g_pattern_spec_new (pattern);
for (iter = items; iter; iter = iter->next)
{
- if (g_pattern_spec_match_string (spec, gimp_object_get_name (iter->data)))
+ if (g_pattern_match_string (spec, gimp_object_get_name (iter->data)))
match = g_list_prepend (match, iter->data);
}
g_pattern_spec_free (spec);
diff -urNp a/app/plug-in/gimpplugin.c b/app/plug-in/gimpplugin.c
--- a/app/plug-in/gimpplugin.c 2025-05-20 09:08:24.339925418 +0200
+++ b/app/plug-in/gimpplugin.c 2025-05-20 09:19:19.516679552 +0200
@@ -403,7 +403,7 @@ gimp_plug_in_close_waitpid (GPid
GError *error = NULL;
if (plug_in->manager->gimp->be_verbose &&
- ! g_spawn_check_wait_status (status, &error))
+ ! g_spawn_check_exit_status (status, &error))
{
g_printerr ("Process for plug-in '%s' terminated with error: %s\n",
gimp_object_get_name (plug_in),
diff -urNp a/app/sanity.c b/app/sanity.c
--- a/app/sanity.c 2025-05-20 09:08:24.395925663 +0200
+++ b/app/sanity.c 2025-05-20 09:18:48.132179032 +0200
@@ -171,7 +171,7 @@ static gchar *
sanity_check_glib (void)
{
#define GLIB_REQUIRED_MAJOR 2
-#define GLIB_REQUIRED_MINOR 70
+#define GLIB_REQUIRED_MINOR 68
#define GLIB_REQUIRED_MICRO 0
const gchar *mismatch = glib_check_version (GLIB_REQUIRED_MAJOR,
diff -urNp a/app/text/gimptext.c b/app/text/gimptext.c
--- a/app/text/gimptext.c 2025-05-20 09:08:24.397925671 +0200
+++ b/app/text/gimptext.c 2025-05-20 09:16:10.900785765 +0200
@@ -827,7 +827,8 @@ gimp_text_serialize_property (GimpConfig
for (guint i = 0; i < length; ++i)
{
- PangoAttrFontDesc *attr_font_desc = pango_attribute_as_font_desc ((PangoAttribute*)g_slist_nth_data (list, i));
+ PangoAttrFontDesc *attr_font_desc = (((PangoAttribute*)g_slist_nth_data (list, i))->klass->type == PANGO_ATTR_FONT_DESC
+ ? (PangoAttrFontDesc *)g_slist_nth_data (list, i) : NULL );
if (attr_font_desc != NULL)
{
diff -urNp a/app/text/gimptext-parasite.c b/app/text/gimptext-parasite.c
--- a/app/text/gimptext-parasite.c 2025-05-20 09:08:24.397925671 +0200
+++ b/app/text/gimptext-parasite.c 2025-05-20 09:15:33.606149497 +0200
@@ -131,7 +131,8 @@ gimp_text_from_parasite (const GimpParas
for (guint i = 0; i < length; ++i)
{
- PangoAttrFontDesc *attr_font_desc = pango_attribute_as_font_desc ((PangoAttribute*)g_slist_nth_data (list, i));
+ PangoAttrFontDesc *attr_font_desc = (((PangoAttribute*)g_slist_nth_data (list, i))->klass->type == PANGO_ATTR_FONT_DESC
+ ? (PangoAttrFontDesc *)g_slist_nth_data (list, i) : NULL );
if (attr_font_desc != NULL)
{
diff -urNp a/app/xcf/xcf-save.c b/app/xcf/xcf-save.c
--- a/app/xcf/xcf-save.c 2025-05-20 09:08:24.399171071 +0200
+++ b/app/xcf/xcf-save.c 2025-05-20 09:14:35.628966564 +0200
@@ -2389,9 +2389,8 @@ xcf_save_level (XcfInfo *info,
* i.e. there is a bug in our code.
*/
queue = g_async_queue_new_full ((GDestroyNotify) xcf_save_free_job_data);
- pool = g_thread_pool_new_full ((GFunc) xcf_save_tile_parallel,
+ pool = g_thread_pool_new ((GFunc) xcf_save_tile_parallel,
queue,
- (GDestroyNotify) xcf_save_free_job_data,
num_processors, TRUE, NULL);
i = 0;
diff -urNp a/libgimp/gimpvectorloadprocedure.c b/libgimp/gimpvectorloadprocedure.c
--- a/libgimp/gimpvectorloadprocedure.c 2025-05-20 09:08:24.489926072 +0200
+++ b/libgimp/gimpvectorloadprocedure.c 2025-05-20 09:13:46.148798654 +0200
@@ -370,7 +370,7 @@ gimp_vector_load_procedure_run (GimpProc
}
}
- g_prefix_error_literal (&error, _("Vector image loading plug-in failed: "));
+ //g_prefix_error_literal (&error, _("Vector image loading plug-in failed: "));
}
/* One or both dimensions are still zero at this point. */
diff -urNp a/libgimpbase/gimpchoice.c b/libgimpbase/gimpchoice.c
--- a/libgimpbase/gimpchoice.c 2025-05-20 09:08:24.491384100 +0200
+++ b/libgimpbase/gimpchoice.c 2025-05-20 09:13:13.230538618 +0200
@@ -454,7 +454,7 @@ gimp_param_choice_class_init (GParamSpec
klass->value_type = G_TYPE_STRING;
klass->finalize = gimp_param_choice_finalize;
klass->value_validate = gimp_param_choice_validate;
- klass->value_is_valid = gimp_param_choice_value_is_valid;
+ //klass->value_is_valid = gimp_param_choice_value_is_valid;
klass->values_cmp = gimp_param_choice_values_cmp;
}
diff -urNp a/meson.build b/meson.build
--- a/meson.build 2025-05-20 09:08:24.256925056 +0200
+++ b/meson.build 2025-05-20 09:12:38.933510408 +0200
@@ -432,7 +432,7 @@ gio = dependency('gio-2.0'
gio_specific_name = platform_windows ? 'gio-windows-2.0' : 'gio-unix-2.0'
gio_specific = dependency(gio_specific_name)
-glib_minver = '2.70.0'
+glib_minver = '2.68.0'
glib = dependency('glib-2.0', version: '>='+glib_minver)
gi = dependency('gobject-introspection-1.0')
@@ -443,7 +443,7 @@ gmodule = dependency('gmodule-
gtk3_minver = '3.24.0'
gtk3 = dependency('gtk+-3.0', version: '>='+gtk3_minver)
-harfbuzz_minver = '2.8.2'
+harfbuzz_minver = '2.7.4'
harfbuzz = dependency('harfbuzz', version: '>='+harfbuzz_minver)
json_glib_minver = '1.2.6'
json_glib = dependency('json-glib-1.0', version: '>='+json_glib_minver)
@@ -472,7 +472,7 @@ endif
conf.set_quoted('MYPAINT_BRUSHES_DIR', mypaint_brushes_dir)
-pango_minver = '1.50.0'
+pango_minver = '1.48.0'
if platform_osx
pango_macos_recommended_version = '1.55.0'
pango_macos_warning='''
@@ -1837,6 +1837,8 @@ if is_git_repository
endif
endif
+conf.set('G_DEFINE_FINAL_TYPE(TN, t_n, T_P)', 'G_DEFINE_TYPE(TN, t_n, T_P)')
+
configure_file(
output: 'config.h',
configuration: conf

File diff suppressed because it is too large Load Diff