diff --git a/.gitignore b/.gitignore index 3510fb9..5de87ec 100644 --- a/.gitignore +++ b/.gitignore @@ -200,3 +200,5 @@ gtk+-2.90.5.tar.bz2 /gtk+-3.24.29.tar.xz /gtk+-3.24.30.tar.xz /gtk+-3.24.31.tar.xz +/gtk+-3.24.32.tar.xz +/gtk+-3.24.33.tar.xz diff --git a/gtk3-3.24.31-meson-reftest.patch b/gtk3-3.24.31-meson-reftest.patch deleted file mode 100644 index 16873e2..0000000 --- a/gtk3-3.24.31-meson-reftest.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 7f295eeb324c3d793bdf302fa7ea9ebdd8a52bcf Mon Sep 17 00:00:00 2001 -From: David King -Date: Thu, 23 Dec 2021 10:53:57 +0000 -Subject: [PATCH] meson: Do not install reftests - -Match the testsuite in the main branch. ---- - testsuite/reftests/meson.build | 25 +------------------------ - 1 file changed, 1 insertion(+), 24 deletions(-) - -diff --git a/testsuite/reftests/meson.build b/testsuite/reftests/meson.build -index b4bf6784cc..2135ebb434 100644 ---- a/testsuite/reftests/meson.build -+++ b/testsuite/reftests/meson.build -@@ -22,9 +22,7 @@ libreftest = shared_library('reftest', - - gtk_reftest = executable('gtk-reftest', 'gtk-reftest.c', - link_with : [libgtkreftestprivate, libreftest], -- dependencies : libgtk_dep, -- install: get_option('installed_tests'), -- install_dir: installed_test_bindir) -+ dependencies : libgtk_dep) - - test_data = [ - '721800-0px-dotted-border.css', -@@ -457,24 +455,3 @@ foreach testname : test_data - is_parallel: false) - endif - endforeach -- --reftests_installed_tests = [ -- 'reftests-dark.test', -- 'reftests-hc.test', -- 'reftests-hci.test', -- 'reftests.test', --] -- --if get_option('installed_tests') -- test_cdata = configuration_data() -- test_cdata.set('libexecdir', gtk_libexecdir) -- -- foreach t: reftests_installed_tests -- configure_file(input: '@0@.in'.format(t), -- output: t, -- configuration: test_cdata, -- install_dir: installed_test_datadir) -- endforeach -- -- install_data(test_data, install_dir: testexecdir) --endif --- -2.33.1 - diff --git a/gtk3-3.24.31-meson.patch b/gtk3-3.24.31-meson.patch deleted file mode 100644 index 0d97626..0000000 --- a/gtk3-3.24.31-meson.patch +++ /dev/null @@ -1,316 +0,0 @@ -From 9bad0a2d5e35fdd2d89efedae1298d7c3dd158a3 Mon Sep 17 00:00:00 2001 -From: David King -Date: Tue, 21 Dec 2021 10:09:29 +0000 -Subject: [PATCH 1/3] meson: Remove missing reftests - -Removed from autotools build in commit -93e1f7f1ec709325fe9b0554b92add06ad988ae8. ---- - testsuite/reftests/meson.build | 7 ------- - 1 file changed, 7 deletions(-) - -diff --git a/testsuite/reftests/meson.build b/testsuite/reftests/meson.build -index 9bfe1bb698..b4bf6784cc 100644 ---- a/testsuite/reftests/meson.build -+++ b/testsuite/reftests/meson.build -@@ -291,9 +291,6 @@ test_data = [ - 'label-text-shadow-clipping.css', - 'label-text-shadow-clipping.ref.ui', - 'label-text-shadow-clipping.ui', -- 'label-text-shadow-changes-modify-clip.css', -- 'label-text-shadow-changes-modify-clip.ref.ui', -- 'label-text-shadow-changes-modify-clip.ui', - 'label-width-chars-dont-shrink.ref.ui', - 'label-width-chars-dont-shrink.ui', - 'label-wrap-justify.ref.ui', -@@ -405,10 +402,6 @@ test_data = [ - 'textview-margins.ui', - 'textview-tags.ref.ui', - 'textview-tags.ui', -- 'toplevel-vs-popup.ref.ui', -- 'toplevel-vs-popup.ui', -- 'treeview-crash-too-wide.ref.ui', -- 'treeview-crash-too-wide.ui', - 'treeview-fixed-height.css', - 'treeview-fixed-height.ref.ui', - 'treeview-fixed-height.ui', --- -2.33.1 - - -From 2b566f0633a740cca2b30941231f0507de873002 Mon Sep 17 00:00:00 2001 -From: David King -Date: Tue, 21 Dec 2021 11:10:37 +0000 -Subject: [PATCH 2/3] meson: Install example schema XML - ---- - examples/application10/meson.build | 4 +++- - examples/application5/meson.build | 4 +++- - examples/application6/meson.build | 4 +++- - examples/application7/meson.build | 4 +++- - examples/application8/meson.build | 4 +++- - examples/application9/meson.build | 4 +++- - 6 files changed, 18 insertions(+), 6 deletions(-) - -diff --git a/examples/application10/meson.build b/examples/application10/meson.build -index ce842ae794..417a64155e 100644 ---- a/examples/application10/meson.build -+++ b/examples/application10/meson.build -@@ -5,7 +5,7 @@ app10_resources = gnome.compile_resources( - source_dir: '.' - ) - --app10_schemas = gnome.compile_schemas() -+app10_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) - - - app10 = executable( -@@ -21,3 +21,5 @@ app10 = executable( - app10_schemas, - dependencies: libgtk_dep - ) -+ -+install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) -diff --git a/examples/application5/meson.build b/examples/application5/meson.build -index f0fed1ca59..8ecb41948e 100644 ---- a/examples/application5/meson.build -+++ b/examples/application5/meson.build -@@ -5,7 +5,7 @@ app5_resources = gnome.compile_resources( - source_dir: '.' - ) - --app5_schemas = gnome.compile_schemas() -+app5_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) - - - app5 = executable( -@@ -19,3 +19,5 @@ app5 = executable( - app5_schemas, - dependencies: libgtk_dep - ) -+ -+install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) -diff --git a/examples/application6/meson.build b/examples/application6/meson.build -index 2d923f35a3..8a172e2e26 100644 ---- a/examples/application6/meson.build -+++ b/examples/application6/meson.build -@@ -5,7 +5,7 @@ app6_resources = gnome.compile_resources( - source_dir: '.' - ) - --app6_schemas = gnome.compile_schemas() -+app6_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) - - - app6 = executable( -@@ -21,3 +21,5 @@ app6 = executable( - app6_schemas, - dependencies: libgtk_dep - ) -+ -+install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) -diff --git a/examples/application7/meson.build b/examples/application7/meson.build -index cc32f36ad0..4c46221085 100644 ---- a/examples/application7/meson.build -+++ b/examples/application7/meson.build -@@ -5,7 +5,7 @@ app7_resources = gnome.compile_resources( - source_dir: '.' - ) - --app7_schemas = gnome.compile_schemas() -+app7_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) - - - app7 = executable( -@@ -21,3 +21,5 @@ app7 = executable( - app7_schemas, - dependencies: libgtk_dep - ) -+ -+install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) -diff --git a/examples/application8/meson.build b/examples/application8/meson.build -index 1192f4d688..ee49034d2b 100644 ---- a/examples/application8/meson.build -+++ b/examples/application8/meson.build -@@ -5,7 +5,7 @@ app8_resources = gnome.compile_resources( - source_dir: '.' - ) - --app8_schemas = gnome.compile_schemas() -+app8_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) - - - app8 = executable( -@@ -21,3 +21,5 @@ app8 = executable( - app8_schemas, - dependencies: libgtk_dep - ) -+ -+install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) -diff --git a/examples/application9/meson.build b/examples/application9/meson.build -index fccee738cb..46b77c4d17 100644 ---- a/examples/application9/meson.build -+++ b/examples/application9/meson.build -@@ -5,7 +5,7 @@ app9_resources = gnome.compile_resources( - source_dir: '.' - ) - --app9_schemas = gnome.compile_schemas() -+app9_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) - - - app9 = executable( -@@ -21,3 +21,5 @@ app9 = executable( - app9_schemas, - dependencies: libgtk_dep - ) -+ -+install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) --- -2.33.1 - - -From e36849e6a397bc7e0356bd51583d79f821f9c3db Mon Sep 17 00:00:00 2001 -From: David King -Date: Tue, 21 Dec 2021 14:04:40 +0000 -Subject: [PATCH 3/3] Revert "meson: simplify builtin_immodules build option" - -This reverts commit 749a58ab26bc01381d66ccefdd3aa42a34353e70. - -This maintains feature parity with the autotools build. ---- - gtk/meson.build | 2 +- - meson.build | 30 ++++++++++++++++++++++++------ - meson_options.txt | 4 ++-- - modules/input/meson.build | 2 +- - 4 files changed, 28 insertions(+), 10 deletions(-) - -diff --git a/gtk/meson.build b/gtk/meson.build -index 9754686cca..12aa7db5c3 100644 ---- a/gtk/meson.build -+++ b/gtk/meson.build -@@ -959,7 +959,7 @@ foreach l: immodules - cond = l.get(2, true) - cflags = l.get(3, []) - -- if cond and builtin_immodules -+ if cond and (builtin_immodules.contains(name) or builtin_all_immodules) - gtk_cargs += ['-DINCLUDE_IM_@0@'.format(name.underscorify())] - mod = static_library('staticimmodule-@0@'.format(name), - sources + gtk_dep_sources, -diff --git a/meson.build b/meson.build -index 16d1597116..15cca3de15 100644 ---- a/meson.build -+++ b/meson.build -@@ -499,6 +499,8 @@ else - cdata.set_quoted('ISO_CODES_PREFIX', get_option('prefix')) - endif - -+backend_immodules = [] -+ - pc_gdk_extra_libs = [] - - cairo_found_type = cairo_dep.type_name() -@@ -554,6 +556,7 @@ if wayland_enabled - wlprotocolsdep = dependency('wayland-protocols', version: wayland_proto_req) - wlcursordep = dependency('wayland-cursor', version: wayland_req) - wlegldep = dependency('wayland-egl') -+ backend_immodules += ['wayland'] - - wayland_pkgs = [ - 'wayland-client', wayland_req, -@@ -578,6 +581,8 @@ if x11_enabled - fontconfig_dep = dependency('fontconfig', fallback: ['fontconfig', 'fontconfig_dep']) - atkbridge_dep = dependency('atk-bridge-2.0', version: at_spi2_atk_req) - -+ backend_immodules += ['xim'] -+ - x11_pkgs = ['fontconfig', 'x11', 'xext', 'xi', 'xrandr'] - - if xcursor_dep.found() -@@ -656,10 +661,12 @@ endif - - if broadway_enabled - pc_gdk_extra_libs += ['-lz'] -+ backend_immodules += ['broadway'] - endif - - if quartz_enabled - pc_gdk_extra_libs += ['-Wl,-framework,Cocoa', '-Wl,-framework,Carbon', '-Wl,-framework,CoreGraphics'] -+ backend_immodules += ['quartz'] - endif - - extra_demo_ldflags = [] -@@ -674,6 +681,7 @@ if win32_enabled - pc_gdk_extra_libs += ['-Wl,-luuid'] - endif - pc_gdk_extra_libs += ['-lwinmm', '-ldwmapi', '-lsetupapi', '-lcfgmgr32'] -+ backend_immodules += ['ime'] - - # Check whether libepoxy is built with EGL support on Windows - win32_has_egl = epoxy_dep.get_variable( -@@ -684,20 +692,30 @@ endif - - # IMModules stuff-unfortunately we need to put items here - # as they can be built as modules or built directly into GTK -+builtin_all_immodules = false -+ - builtin_modules_opt = get_option('builtin_immodules') --if builtin_modules_opt == 'auto' -+builtin_immodules = [] -+ -+if builtin_modules_opt == '' - if os_win32 - # Current MSVC projects build all immodules directly into GTK by default, - # as does the mingw autotools build - message('IMModules are built into GTK for MSVC builds by default') -- builtin_immodules = true -+ builtin_immodules = ['all'] - else -- builtin_immodules = false -+ builtin_immodules = ['none'] - endif --elif builtin_modules_opt == 'yes' -- builtin_immodules = true - else -- builtin_immodules = false -+ builtin_immodules = builtin_modules_opt.split(',') -+endif -+ -+if builtin_immodules.contains('none') -+ builtin_immodules = [] -+elif builtin_immodules.contains('all') -+ builtin_all_immodules = true -+elif builtin_immodules.contains('backend') -+ builtin_immodules += backend_immodules - endif - - proto_sources = [ -diff --git a/meson_options.txt b/meson_options.txt -index 1ca55b1467..94099aa01e 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -45,5 +45,5 @@ option('installed_tests', type: 'boolean', value: 'false', - description : 'enable installed tests') - - # input modules --option('builtin_immodules', type: 'combo', choices : ['yes', 'no', 'auto'], -- value: 'auto', description: 'Build immodules into GTK so/DLL') -+option('builtin_immodules', type: 'string', -+ value: '', description: 'Build specified immodules into GTK so/DLL (comma-separated list), "all", "none" or "backend"') -diff --git a/modules/input/meson.build b/modules/input/meson.build -index 7b201af894..95534b05ec 100644 ---- a/modules/input/meson.build -+++ b/modules/input/meson.build -@@ -7,7 +7,7 @@ foreach l: immodules - cond = l.get(2, true) - cflags = l.get(3, []) - -- if cond and not builtin_immodules -+ if cond and not (builtin_immodules.contains(name) or builtin_all_immodules) - shared_module('im-@0@'.format(name), - immod_sources, - c_args: common_cflags + cflags, --- -2.33.1 - diff --git a/gtk3-3.24.33-array-bounds-gcc12.patch b/gtk3-3.24.33-array-bounds-gcc12.patch new file mode 100644 index 0000000..4ff80b9 --- /dev/null +++ b/gtk3-3.24.33-array-bounds-gcc12.patch @@ -0,0 +1,277 @@ +From a5d208adafec044b2c9e36ec5eb0f43db8be0564 Mon Sep 17 00:00:00 2001 +From: Peter Bloomfield +Date: Fri, 29 Apr 2022 22:06:12 -0400 +Subject: [PATCH 1/2] gtkimagedefinition: Check array bounds +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +`jhbuild build gtk+-3` with GCC 12 fails with: +``` +In function ‘gtk_image_definition_ref’, + inlined from ‘gtk_image_definition_new_empty’ + at ../../../../jhbuild/checkout/gtk+-3/gtk/gtkimagedefinition.c:107:10: +../../../../jhbuild/checkout/gtk+-3/gtk/gtkimagedefinition.c:241:13: error: + array subscript ‘GtkImageDefinition {aka union _GtkImageDefinition}[0]’ + is partly outside array bounds of ‘GtkImageDefinitionEmpty[1]’ + {aka ‘struct _GtkImageDefinitionEmpty[1]’} [-Werror=array-bounds] + 241 | def->empty.ref_count++; + | ~~~~~~~~~~^~~~~~~~~~ +../../../../jhbuild/checkout/gtk+-3/gtk/gtkimagedefinition.c: + In function ‘gtk_image_definition_new_empty’: +../../../../jhbuild/checkout/gtk+-3/gtk/gtkimagedefinition.c:105:34: note: +object ‘empty’ of size 8 + 105 | static GtkImageDefinitionEmpty empty = { GTK_IMAGE_EMPTY, 1 }; + | ^~~~~ +``` +and many similar errors. + +Fix it by casting `GtkImageDefinition` to `GtkImageDefinitionEmpty` or +similar, as appropriate. + +Essentially backports 4dcd02e85315f487310e2e01fe9412706a77dc35 from main to gtk-3-24. +--- + gtk/gtkimagedefinition.c | 43 +++++++++++++++++++++++++++++----------- + 1 file changed, 31 insertions(+), 12 deletions(-) + +diff --git a/gtk/gtkimagedefinition.c b/gtk/gtkimagedefinition.c +index bd59420d5c..9ef8223911 100644 +--- a/gtk/gtkimagedefinition.c ++++ b/gtk/gtkimagedefinition.c +@@ -121,12 +121,14 @@ gtk_image_definition_alloc (GtkImageType type) + sizeof (GtkImageDefinitionSurface) + }; + GtkImageDefinition *def; ++ GtkImageDefinitionEmpty *empty_def; + + g_assert (type < G_N_ELEMENTS (sizes)); + + def = g_malloc0 (sizes[type]); +- def->type = type; +- def->empty.ref_count = 1; ++ empty_def = (GtkImageDefinitionEmpty *) def; ++ empty_def->type = type; ++ empty_def->ref_count = 1; + + return def; + } +@@ -136,13 +138,15 @@ gtk_image_definition_new_pixbuf (GdkPixbuf *pixbuf, + int scale) + { + GtkImageDefinition *def; ++ GtkImageDefinitionPixbuf *pixbuf_def; + + if (pixbuf == NULL || scale <= 0) + return NULL; + + def = gtk_image_definition_alloc (GTK_IMAGE_PIXBUF); +- def->pixbuf.pixbuf = g_object_ref (pixbuf); +- def->pixbuf.scale = scale; ++ pixbuf_def = (GtkImageDefinitionPixbuf *) def; ++ pixbuf_def->pixbuf = g_object_ref (pixbuf); ++ pixbuf_def->scale = scale; + + return def; + } +@@ -151,12 +155,14 @@ GtkImageDefinition * + gtk_image_definition_new_stock (const char *stock_id) + { + GtkImageDefinition *def; ++ GtkImageDefinitionStock *stock_def; + + if (stock_id == NULL || stock_id[0] == '\0') + return NULL; + + def = gtk_image_definition_alloc (GTK_IMAGE_STOCK); +- def->stock.id = g_strdup (stock_id); ++ stock_def = (GtkImageDefinitionStock *) def; ++ stock_def->id = g_strdup (stock_id); + + return def; + } +@@ -165,13 +171,15 @@ GtkImageDefinition * + gtk_image_definition_new_icon_set (GtkIconSet *icon_set) + { + GtkImageDefinition *def; ++ GtkImageDefinitionIconSet *icon_set_def; + + if (icon_set == NULL) + return NULL; + + def = gtk_image_definition_alloc (GTK_IMAGE_ICON_SET); ++ icon_set_def = (GtkImageDefinitionIconSet *) def; + G_GNUC_BEGIN_IGNORE_DEPRECATIONS; +- def->icon_set.icon_set = gtk_icon_set_ref (icon_set); ++ icon_set_def->icon_set = gtk_icon_set_ref (icon_set); + G_GNUC_END_IGNORE_DEPRECATIONS; + + return def; +@@ -182,13 +190,15 @@ gtk_image_definition_new_animation (GdkPixbufAnimation *animation, + int scale) + { + GtkImageDefinition *def; ++ GtkImageDefinitionAnimation *animation_def; + + if (animation == NULL || scale <= 0) + return NULL; + + def = gtk_image_definition_alloc (GTK_IMAGE_ANIMATION); +- def->animation.animation = g_object_ref (animation); +- def->animation.scale = scale; ++ animation_def = (GtkImageDefinitionAnimation *) def; ++ animation_def->animation = g_object_ref (animation); ++ animation_def->scale = scale; + + return def; + } +@@ -197,12 +207,14 @@ GtkImageDefinition * + gtk_image_definition_new_icon_name (const char *icon_name) + { + GtkImageDefinition *def; ++ GtkImageDefinitionIconName *icon_name_def; + + if (icon_name == NULL || icon_name[0] == '\0') + return NULL; + + def = gtk_image_definition_alloc (GTK_IMAGE_ICON_NAME); +- def->icon_name.icon_name = g_strdup (icon_name); ++ icon_name_def = (GtkImageDefinitionIconName *) def; ++ icon_name_def->icon_name = g_strdup (icon_name); + + return def; + } +@@ -211,12 +223,14 @@ GtkImageDefinition * + gtk_image_definition_new_gicon (GIcon *gicon) + { + GtkImageDefinition *def; ++ GtkImageDefinitionGIcon *gicon_def; + + if (gicon == NULL) + return NULL; + + def = gtk_image_definition_alloc (GTK_IMAGE_GICON); +- def->gicon.gicon = g_object_ref (gicon); ++ gicon_def = (GtkImageDefinitionGIcon *) def; ++ gicon_def->gicon = g_object_ref (gicon); + + return def; + } +@@ -225,12 +239,14 @@ GtkImageDefinition * + gtk_image_definition_new_surface (cairo_surface_t *surface) + { + GtkImageDefinition *def; ++ GtkImageDefinitionSurface *surface_def; + + if (surface == NULL) + return NULL; + + def = gtk_image_definition_alloc (GTK_IMAGE_SURFACE); +- def->surface.surface = cairo_surface_reference (surface); ++ surface_def = (GtkImageDefinitionSurface *) def; ++ surface_def->surface = cairo_surface_reference (surface); + + return def; + } +@@ -238,7 +254,10 @@ gtk_image_definition_new_surface (cairo_surface_t *surface) + GtkImageDefinition * + gtk_image_definition_ref (GtkImageDefinition *def) + { +- def->empty.ref_count++; ++ GtkImageDefinitionEmpty *empty_def; ++ ++ empty_def = (GtkImageDefinitionEmpty *) def; ++ empty_def->ref_count++; + + return def; + } +-- +GitLab + + +From 54d319bc32bc2c6ac6c77671bfd419bdeff6edcb Mon Sep 17 00:00:00 2001 +From: Peter Bloomfield +Date: Sat, 30 Apr 2022 12:59:48 -0400 +Subject: [PATCH 2/2] gtkimagedefinition: Extend commit b38266c0 + +Similarly, uses casts in `gtk_image_definition_unref()`. Compilation +succeeds without them, unlike in `gtk_image_definition_ref()`, because +`gtk_image_definition_unref()` is not called internally, unlike +`gtk_image_definition_ref()`. But the build would fail if some function +defined in the module were changed in the future to call +`gtk_image_definition_unref()`, and we can future-proof it now. This +also removes an inconsistency in how we access the members of the union. +--- + gtk/gtkimagedefinition.c | 35 ++++++++++++++++++++++++++--------- + 1 file changed, 26 insertions(+), 9 deletions(-) + +diff --git a/gtk/gtkimagedefinition.c b/gtk/gtkimagedefinition.c +index 9ef8223911..a26d6eb15c 100644 +--- a/gtk/gtkimagedefinition.c ++++ b/gtk/gtkimagedefinition.c +@@ -265,9 +265,19 @@ gtk_image_definition_ref (GtkImageDefinition *def) + void + gtk_image_definition_unref (GtkImageDefinition *def) + { +- def->empty.ref_count--; ++ GtkImageDefinitionEmpty *empty_def; ++ GtkImageDefinitionPixbuf *pixbuf_def; ++ GtkImageDefinitionAnimation *animation_def; ++ GtkImageDefinitionSurface *surface_def; ++ GtkImageDefinitionStock *stock_def; ++ GtkImageDefinitionIconSet *icon_set_def; ++ GtkImageDefinitionIconName *icon_name_def; ++ GtkImageDefinitionGIcon *gicon_def; ++ ++ empty_def = (GtkImageDefinitionEmpty *) def; ++ empty_def->ref_count--; + +- if (def->empty.ref_count > 0) ++ if (empty_def->ref_count > 0) + return; + + switch (def->type) +@@ -277,27 +287,34 @@ gtk_image_definition_unref (GtkImageDefinition *def) + g_assert_not_reached (); + break; + case GTK_IMAGE_PIXBUF: +- g_object_unref (def->pixbuf.pixbuf); ++ pixbuf_def = (GtkImageDefinitionPixbuf *) def; ++ g_object_unref (pixbuf_def->pixbuf); + break; + case GTK_IMAGE_ANIMATION: +- g_object_unref (def->animation.animation); ++ animation_def = (GtkImageDefinitionAnimation *) def; ++ g_object_unref (animation_def->animation); + break; + case GTK_IMAGE_SURFACE: +- cairo_surface_destroy (def->surface.surface); ++ surface_def = (GtkImageDefinitionSurface *) def; ++ cairo_surface_destroy (surface_def->surface); + break; + case GTK_IMAGE_STOCK: +- g_free (def->stock.id); ++ stock_def = (GtkImageDefinitionStock *) def; ++ g_free (stock_def->id); + break; + case GTK_IMAGE_ICON_SET: ++ icon_set_def = (GtkImageDefinitionIconSet *) def; + G_GNUC_BEGIN_IGNORE_DEPRECATIONS; +- gtk_icon_set_unref (def->icon_set.icon_set); ++ gtk_icon_set_unref (icon_set_def->icon_set); + G_GNUC_END_IGNORE_DEPRECATIONS; + break; + case GTK_IMAGE_ICON_NAME: +- g_free (def->icon_name.icon_name); ++ icon_name_def = (GtkImageDefinitionIconName *) def; ++ g_free (icon_name_def->icon_name); + break; + case GTK_IMAGE_GICON: +- g_object_unref (def->gicon.gicon); ++ gicon_def = (GtkImageDefinitionGIcon *) def; ++ g_object_unref (gicon_def->gicon); + break; + } + +-- +GitLab + diff --git a/gtk3.spec b/gtk3.spec index 2ec50f6..5c20f47 100644 --- a/gtk3.spec +++ b/gtk3.spec @@ -18,17 +18,15 @@ %global __provides_exclude_from ^%{_libdir}/gtk-3.0 Name: gtk3 -Version: 3.24.31 -Release: 3%{?dist} +Version: 3.24.33 +Release: 1%{?dist} Summary: GTK+ graphical user interface library License: LGPLv2+ URL: https://gtk.org Source0: https://download.gnome.org/sources/gtk+/3.24/gtk+-%{version}.tar.xz -# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4273 -Patch0: gtk3-3.24.31-meson.patch -# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4280 -Patch1: gtk3-3.24.31-meson-reftest.patch +# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4677 +Patch0: gtk3-3.24.33-array-bounds-gcc12.patch BuildRequires: pkgconfig(atk) >= %{atk_version} BuildRequires: pkgconfig(atk-bridge-2.0) @@ -299,6 +297,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || : %{_datadir}/installed-tests/ %changelog +* Thu May 12 2022 David King - 3.24.33-1 +- Update to 3.24.33 + * Thu Jan 20 2022 Fedora Release Engineering - 3.24.31-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/sources b/sources index 95e9de6..f3e02f3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gtk+-3.24.31.tar.xz) = e7f8e5003a919e297bd3e616acccbc5cc9bf9c9d41377c108c24db51817fcccec919abc12d05c0ed585d49526d52f0395a1c0f3ed9d9ef816bb0c4b2aa615f9b +SHA512 (gtk+-3.24.33.tar.xz) = 35c844af67d442a9d55197028c6b660668c701ad8f83a64791669fca2930ada15194452b59b2ee11f8068098986218744fe9fc4742897af5a6b3eba23c98395e