From 540b7bf7896274109d4f589c07fd78c051bd267b Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Fri, 1 Apr 2022 18:34:30 +0200 Subject: src/appindicator.c: Fix path NULL check in status_icon_change(). Inspired by n_elements.patch by Ash Holland. Thanks. See https://bugs.launchpad.net/ubuntu/+source/libappindicator/+bug/1867996/comments/7 --- src/app-indicator.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/app-indicator.c b/src/app-indicator.c index cb0086f..3dc5937 100644 --- a/src/app-indicator.c +++ b/src/app-indicator.c @@ -1619,16 +1619,18 @@ status_icon_changes (AppIndicator * self, gpointer data) gint n_elements, i; gboolean found=FALSE; gtk_icon_theme_get_search_path(icon_theme, &path, &n_elements); - for (i=0; i< n_elements || path[i] == NULL; i++) { - if(g_strcmp0(path[i], theme_path) == 0) { - found=TRUE; - break; + if (path != NULL) { + for (i=0; i< n_elements; i++) { + if(g_strcmp0(path[i], theme_path) == 0) { + found=TRUE; + break; + } } + g_strfreev (path); } if(!found) { gtk_icon_theme_append_search_path(icon_theme, theme_path); } - g_strfreev (path); } const gchar * icon_name = NULL; -- cgit v1.2.3 From 05dee64bb944a346d0934255ac37ef827436ec83 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Fri, 1 Apr 2022 18:40:10 +0200 Subject: src/appindicator.c: Clean up all g_signal_emit and g_signal_new calls so that they correspond with each other. Patch provided by Paul G (paulieg on Launchpad). Thanks a lot. See https://bugs.launchpad.net/ubuntu/+source/libappindicator/+bug/1867996/comments/4 --- src/app-indicator.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/app-indicator.c b/src/app-indicator.c index 3dc5937..0c0bd05 100644 --- a/src/app-indicator.c +++ b/src/app-indicator.c @@ -509,7 +509,7 @@ app_indicator_class_init (AppIndicatorClass *klass) G_STRUCT_OFFSET (AppIndicatorClass, new_icon), NULL, NULL, g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0, G_TYPE_NONE); + G_TYPE_NONE, 0); /** * AppIndicator::new-attention-icon: @@ -523,7 +523,7 @@ app_indicator_class_init (AppIndicatorClass *klass) G_STRUCT_OFFSET (AppIndicatorClass, new_attention_icon), NULL, NULL, g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0, G_TYPE_NONE); + G_TYPE_NONE, 0); /** * AppIndicator::new-status: @@ -571,7 +571,7 @@ app_indicator_class_init (AppIndicatorClass *klass) G_STRUCT_OFFSET (AppIndicatorClass, connection_changed), NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, - G_TYPE_NONE, 1, G_TYPE_BOOLEAN, G_TYPE_NONE); + G_TYPE_NONE, 1, G_TYPE_BOOLEAN); /** * AppIndicator::new-icon-theme-path: @@ -1281,7 +1281,7 @@ signal_label_change_idle (gpointer user_data) gchar * guide = priv->label_guide != NULL ? priv->label_guide : ""; g_signal_emit(G_OBJECT(self), signals[NEW_LABEL], 0, - label, guide, TRUE); + label, guide); if (priv->dbus_registration != 0 && priv->connection != NULL) { GError * error = NULL; @@ -1498,7 +1498,7 @@ fallback_timer_expire (gpointer data) static void theme_changed_cb (GtkIconTheme * theme, gpointer user_data) { - g_signal_emit (user_data, signals[NEW_ICON], 0, TRUE); + g_signal_emit (user_data, signals[NEW_ICON], 0); AppIndicator * self = (AppIndicator *)user_data; AppIndicatorPrivate *priv = app_indicator_get_instance_private(self); @@ -1932,7 +1932,7 @@ app_indicator_set_attention_icon_full (AppIndicator *self, const gchar *icon_nam } if (changed) { - g_signal_emit (self, signals[NEW_ATTENTION_ICON], 0, TRUE); + g_signal_emit (self, signals[NEW_ATTENTION_ICON], 0); if (priv->dbus_registration != 0 && priv->connection != NULL) { GError * error = NULL; @@ -2020,7 +2020,7 @@ app_indicator_set_icon_full (AppIndicator *self, const gchar *icon_name, const g } if (changed) { - g_signal_emit (self, signals[NEW_ICON], 0, TRUE); + g_signal_emit (self, signals[NEW_ICON], 0); if (priv->dbus_registration != 0 && priv->connection != NULL) { GError * error = NULL; @@ -2150,7 +2150,7 @@ app_indicator_set_icon_theme_path (AppIndicator *self, const gchar *icon_theme_p g_free (priv->absolute_icon_theme_path); priv->absolute_icon_theme_path = get_real_theme_path (self); - g_signal_emit (self, signals[NEW_ICON_THEME_PATH], 0, priv->icon_theme_path, TRUE); + g_signal_emit (self, signals[NEW_ICON_THEME_PATH], 0, priv->icon_theme_path); if (priv->dbus_registration != 0 && priv->connection != NULL) { const gchar *theme_path = priv->absolute_icon_theme_path ? -- cgit v1.2.3