public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Leigh Scott <leigh123linux@gmail.com>
To: git-commits@fedoraproject.org
Subject: [rpms/cinnamon] f45: Fix menu applet loading issue
Date: Wed, 19 Aug 2026 16:19:37 GMT	[thread overview]
Message-ID: <178715637702.1.9566514114658170409.rpms-cinnamon-b58bc8d6a723@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/cinnamon
Branch : f45
Commit : b58bc8d6a7232e617fc5b0d5bfa2a9000806db09
Author : Leigh Scott <leigh123linux@gmail.com>
Date   : 2026-08-19T17:14:00+01:00
Stats  : +92/-1 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/cinnamon/c/b58bc8d6a7232e617fc5b0d5bfa2a9000806db09?branch=f45

Log:
Fix menu applet loading issue

---
diff --git a/cinnamon.spec b/cinnamon.spec
index e4b8f53..1fcad48 100644
--- a/cinnamon.spec
+++ b/cinnamon.spec
@@ -10,7 +10,7 @@
 
 Name:           cinnamon
 Version:        6.7.5^unstable
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Window management and application launching for Cinnamon
 License:        GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND MIT
 URL:            https://github.com/linuxmint/%{name}
@@ -23,6 +23,7 @@ Patch0:         set_wheel.patch
 Patch1:         default_panal_launcher.patch
 Patch2:         remove_crap_from_menu.patch
 Patch3:         set_menu_defaults.patch
+Patch4:         glycin_fix.patch
 
 ExcludeArch:    %{ix86}
 
@@ -312,6 +313,9 @@ rm -rf %{buildroot}%{_mandir}/man1/cinnamon2d*
 %{_datadir}/dbus-1/services/org.%{name}.CalendarServer.service
 
 %changelog
+* Wed Aug 19 2026 Leigh Scott <leigh123linux@gmail.com> - 6.7.5^unstable-2
+- Fix menu applet loading issue
+
 * Sat Aug 15 2026 Leigh Scott <leigh123linux@gmail.com> - 6.7.5^unstable-1
 - Update to 6.7.5-unstable
 

diff --git a/glycin_fix.patch b/glycin_fix.patch
new file mode 100644
index 0000000..24ea3d1
--- /dev/null
+++ b/glycin_fix.patch
@@ -0,0 +1,87 @@
+diff -uNrp a/src/st/st-texture-cache.c b/src/st/st-texture-cache.c
+--- a/src/st/st-texture-cache.c	2026-08-15 11:45:56.000000000 +0100
++++ b/src/st/st-texture-cache.c	2026-08-19 16:31:16.706128494 +0100
+@@ -674,6 +674,45 @@ out:
+   texture_load_data_free (data);
+ }
+ 
++typedef struct {
++  AsyncTextureLoadData *data;
++  gboolean symbolic;
++} IconThreadData;
++
++static gboolean
++icon_thread_finish_idle (gpointer user_data)
++{
++  IconThreadData *itd = user_data;
++  AsyncTextureLoadData *data = itd->data;
++  GdkPixbuf *pixbuf = NULL;
++
++  if (itd->symbolic && data->colors) {
++    GdkRGBA fg, success, warning, error;
++    rgba_from_clutter (&fg, &data->colors->foreground);
++    rgba_from_clutter (&success, &data->colors->success);
++    rgba_from_clutter (&warning, &data->colors->warning);
++    rgba_from_clutter (&error, &data->colors->error);
++
++    pixbuf = gtk_icon_info_load_symbolic (data->icon_info,
++                                          &fg, &success,
++                                          &warning, &error,
++                                          NULL, NULL);
++  } else {
++    pixbuf = gtk_icon_info_load_icon (data->icon_info, NULL);
++  }
++
++  finish_texture_load (data, pixbuf);
++  g_clear_object (&pixbuf);
++  g_free (itd);
++  return G_SOURCE_REMOVE;
++}
++
++static gpointer
++icon_thread_func (gpointer user_data)
++{
++  g_idle_add (icon_thread_finish_idle, user_data);
++  return NULL;
++}
+ static void
+ on_symbolic_icon_loaded (GObject      *source,
+                          GAsyncResult *result,
+@@ -720,31 +759,12 @@ load_texture_async (StTextureCache
+     }
+   else if (data->icon_info)
+     {
+-      StIconColors *colors = data->colors;
+-      if (colors)
+-        {
+-          GdkRGBA foreground_color;
+-          GdkRGBA success_color;
+-          GdkRGBA warning_color;
+-          GdkRGBA error_color;
+-
+-          rgba_from_clutter (&foreground_color, &colors->foreground);
+-          rgba_from_clutter (&success_color, &colors->success);
+-          rgba_from_clutter (&warning_color, &colors->warning);
+-          rgba_from_clutter (&error_color, &colors->error);
+-
+-          gtk_icon_info_load_symbolic_async (data->icon_info,
+-                                             &foreground_color, &success_color,
+-                                             &warning_color, &error_color,
+-                                             cache->priv->cancellable,
+-                                             on_symbolic_icon_loaded, data);
+-        }
+-      else
+-        {
+-          gtk_icon_info_load_icon_async (data->icon_info,
+-                                         cache->priv->cancellable,
+-                                         on_icon_loaded, data);
+-        }
++      IconThreadData *itd = g_new0 (IconThreadData, 1);
++      itd->data = data;
++      itd->symbolic = (data->colors != NULL);
++
++      /* Use our own worker thread instead of the global GTask pool */
++      g_thread_new ("cinnamon-icon-loader", icon_thread_func, itd);
+     }
+   else
+     g_assert_not_reached ();

                 reply	other threads:[~2026-08-19 16:19 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178715637702.1.9566514114658170409.rpms-cinnamon-b58bc8d6a723@fedoraproject.org \
    --to=leigh123linux@gmail.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox