From b1a4324f88cd994c73aaa63a5a045e7dc6bc0046 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <fourdan.olivier@wanadoo.fr>
Date: Fri, 10 Jan 2003 09:28:45 +0000
Subject: [PATCH] Add an implementation of g_str_has_suffix() when using glib-2
 < 2.2

(Old svn revision: 10819)
---
 mcs-plugin/xfwm4_plugin.c | 19 +++++++++++++++++++
 src/settings.c            | 11 ++++-------
 2 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/mcs-plugin/xfwm4_plugin.c b/mcs-plugin/xfwm4_plugin.c
index 5e34e8cff..f82654e6d 100644
--- a/mcs-plugin/xfwm4_plugin.c
+++ b/mcs-plugin/xfwm4_plugin.c
@@ -263,6 +263,25 @@ static TitleRadioButton title_radio_buttons[END];
 GList *decoration_theme_list = NULL;
 GList *keybinding_theme_list = NULL;
 
+#if (GLIB_MAJOR_VERSION < 2) || ((GLIB_MAJOR_VERSION >= 2) && (GLIB_MINOR_VERSION < 1))
+gboolean g_str_has_suffix (const gchar  *str, const gchar  *suffix)
+{
+    int str_len;
+    int suffix_len;
+
+    g_return_val_if_fail (str != NULL, FALSE);
+    g_return_val_if_fail (suffix != NULL, FALSE);
+
+    str_len = strlen (str);
+    suffix_len = strlen (suffix);
+
+    if (str_len < suffix_len)
+	return FALSE;
+
+    return strcmp (str + str_len - suffix_len, suffix) == 0;
+}
+#endif
+
 static GdkPixbuf *default_icon_at_size(int width, int height)
 {
 
diff --git a/src/settings.c b/src/settings.c
index 41becbe14..9a11ddbd9 100644
--- a/src/settings.c
+++ b/src/settings.c
@@ -70,7 +70,6 @@ MyPixmap buttons[BUTTON_COUNT][3];
 MyPixmap title[5][2];
 
 static McsClient *client = NULL;
-static gboolean loading = FALSE;
 static Settings rc[] = {
     {"active_text_color", NULL, FALSE},
     {"inactive_text_color", NULL, FALSE},
@@ -240,19 +239,19 @@ static void notify_cb(const char *name, const char *channel_name, McsAction acti
                 }
                 else if(!strcmp(name, "Xfwm/KeyThemeName"))
                 {
-                    reloadSettings(!loading);
+                    reloadSettings(TRUE);
                 }
                 else if(!strcmp(name, "Xfwm/ThemeName"))
                 {
-                    reloadSettings(!loading);
+                    reloadSettings(TRUE);
                 }
                 else if(!strcmp(name, "Xfwm/ButtonLayout"))
                 {
-                    reloadSettings(!loading);
+                    reloadSettings(TRUE);
                 }
                 if(!strcmp(name, "Xfwm/TitleAlign"))
                 {
-                    reloadSettings(!loading);
+                    reloadSettings(TRUE);
                 }
             }
             break;
@@ -784,9 +783,7 @@ gboolean initSettings(void)
     {
         if(mcs_manager_is_running())
         {
-            loading = TRUE;
             mcs_client_add_channel(client, CHANNEL);
-            loading = FALSE;
         }
         else
         {
-- 
GitLab