From 5454241e62ec7442d031b7dcb809334c27898e5f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 11 Jan 2025 10:13:45 -0500 Subject: [PATCH 1/3] build: Cosmetics Keep all subdirs in one place. --- meson.build | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/meson.build b/meson.build index e32306678ee..8ab4aa93571 100644 --- a/meson.build +++ b/meson.build @@ -854,6 +854,8 @@ subdir('gsk') subdir('gtk') subdir('modules') subdir('tools') +subdir('po') +subdir('docs/reference') if get_option('build-demos') subdir('demos') endif @@ -952,9 +954,6 @@ if os_unix meson.override_dependency('gtk4-unix-print', libgtk_dep) endif -subdir('po') - -subdir('docs/reference') devenv = environment() devenv.set('GTK_PATH', meson.current_build_dir() / 'modules') -- GitLab From c326b463dd458b368d4d10c1a5bd3618479131fb Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 11 Jan 2025 11:06:31 -0500 Subject: [PATCH 2/3] build: Drop the explicit g-i dependency This was only there to ensure we have versions in sync, when the glib introspection data was living in g-i. And gi_dep is not used anywhere. --- meson.build | 4 ---- 1 file changed, 4 deletions(-) diff --git a/meson.build b/meson.build index 8ab4aa93571..d8ebc589c61 100644 --- a/meson.build +++ b/meson.build @@ -19,7 +19,6 @@ pango_minor_req = 56 # keep these numbers in sync with wrap files where there exist glib_req = '>= @0@.@1@'.format(glib_major_req, glib_minor_req) -introspection_req = '>= 1.@0@.0'.format(glib_minor_req) pango_req = '>= @0@.@1@'.format(pango_major_req, pango_minor_req) harfbuzz_req = '>= 8.4.0' fribidi_req = '>= 1.0.6' @@ -446,9 +445,6 @@ xkbdep = dependency('xkbcommon', version: xkbcommon_req, required: wa graphene_dep = dependency('graphene-gobject-1.0', version: graphene_req, default_options: ['tests=false', 'gobject_types=true']) iso_codes_dep = dependency('iso-codes', required: false) -gi_dep = dependency('gobject-introspection-1.0', version: introspection_req, - required: get_option('introspection').enabled() and - get_option('build-tests')) gstplayer_dep = dependency('gstreamer-player-1.0', version: gstreamer_req, required: get_option('media-gstreamer'), default_options: [ -- GitLab From e0ef39ecaf46fa75c54de1fb1405b011624ca49a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 11 Jan 2025 14:45:26 -0500 Subject: [PATCH 3/3] icontheme: Restore docs for lru cache This information was lost in eb087c994354585fa. --- gtk/gtkicontheme.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 99cdc4b5e54..8e13eba147d 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -654,10 +654,20 @@ icon_key_equal (gconstpointer _a, /****************** Icon cache *********************** * - * The icon cache, this spans both GtkIconTheme and GtkIcon, so the locking is - * a bit tricky. Never do block with the lock held, and never do any - * callouts to other code. In particular, don't call theme or finalizers - * because that will take the lock when removing from the icon cache. + * The icon cache, this spans both GtkIconTheme and GtkIconPaintable, + * so the locking is a bit tricky. Never do block with the lock held, + * and never do any callouts to other code. In particular, don't call + * theme or finalizers, because that will take the lock when removing + * from the icon cache. + */ + +/* The LRU cache is a short list of GtkIconPaintables that are kept + * alive even though their IconInfo would otherwise have been freed, + * so that we can avoid reloading these constantly. + * + * We put paintables on the lru list when we get a cache hit. Once + * they fall off the lru list, finalizing the paintable will remove + * the icon from the cache. */ /* This is called with icon_cache lock held so must not take any locks */ -- GitLab