summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--libmate-desktop/mate-desktop-thumbnail.c99
-rw-r--r--mate-about/mate-about.c4
3 files changed, 104 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index ce3dc6a..7b7725a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -142,7 +142,7 @@ case "$with_gtk" in
esac
GDK_PIXBUF_REQUIRED=2.4.0
-GLIB_REQUIRED=2.36.0
+GLIB_REQUIRED=2.26.0
GIO_REQUIRED=2.26.0
XRANDR_REQUIRED=1.2
diff --git a/libmate-desktop/mate-desktop-thumbnail.c b/libmate-desktop/mate-desktop-thumbnail.c
index 4a4e5d6..216a0b7 100644
--- a/libmate-desktop/mate-desktop-thumbnail.c
+++ b/libmate-desktop/mate-desktop-thumbnail.c
@@ -50,7 +50,11 @@
struct _MateDesktopThumbnailFactoryPrivate {
MateDesktopThumbnailSize size;
+#if GLIB_CHECK_VERSION(2, 31, 0)
GMutex lock;
+#else
+ GMutex* lock;
+#endif
GList *thumbnailers;
GHashTable *mime_types_map;
@@ -493,7 +497,15 @@ mate_desktop_thumbnail_factory_finalize (GObject *object)
priv->monitors = NULL;
}
+#if GLIB_CHECK_VERSION(2, 31, 0)
g_mutex_clear (&priv->lock);
+#else
+ if (priv->lock)
+ {
+ g_mutex_free (priv->lock);
+ priv->lock = NULL;
+ }
+#endif
if (priv->disabled_types)
{
@@ -578,7 +590,11 @@ update_or_create_thumbnailer (MateDesktopThumbnailFactory *factory,
Thumbnailer *thumb;
gboolean found = FALSE;
+#if GLIB_CHECK_VERSION(2, 31, 0)
g_mutex_lock (&priv->lock);
+#else
+ g_mutex_lock (priv->lock);
+#endif
for (l = priv->thumbnailers; l && !found; l = g_list_next (l))
{
@@ -606,7 +622,11 @@ update_or_create_thumbnailer (MateDesktopThumbnailFactory *factory,
mate_desktop_thumbnail_factory_add_thumbnailer (factory, thumb);
}
+#if GLIB_CHECK_VERSION(2, 31, 0)
g_mutex_unlock (&priv->lock);
+#else
+ g_mutex_unlock (priv->lock);
+#endif
}
static void
@@ -617,7 +637,11 @@ remove_thumbnailer (MateDesktopThumbnailFactory *factory,
GList *l;
Thumbnailer *thumb;
+#if GLIB_CHECK_VERSION(2, 31, 0)
g_mutex_lock (&priv->lock);
+#else
+ g_mutex_lock (priv->lock);
+#endif
for (l = priv->thumbnailers; l; l = g_list_next (l))
{
@@ -635,7 +659,11 @@ remove_thumbnailer (MateDesktopThumbnailFactory *factory,
}
}
+#if GLIB_CHECK_VERSION(2, 31, 0)
g_mutex_unlock (&priv->lock);
+#else
+ g_mutex_unlock (priv->lock);
+#endif
}
static void
@@ -737,7 +765,11 @@ external_thumbnailers_disabled_all_changed_cb (GSettings *set
{
MateDesktopThumbnailFactoryPrivate *priv = factory->priv;
+#if GLIB_CHECK_VERSION(2, 31, 0)
g_mutex_lock (&priv->lock);
+#else
+ g_mutex_lock (priv->lock);
+#endif
priv->disabled = g_settings_get_boolean (priv->settings, "disable-all");
if (priv->disabled)
@@ -751,7 +783,11 @@ external_thumbnailers_disabled_all_changed_cb (GSettings *set
mate_desktop_thumbnail_factory_load_thumbnailers (factory);
}
+#if GLIB_CHECK_VERSION(2, 31, 0)
g_mutex_unlock (&priv->lock);
+#else
+ g_mutex_unlock (priv->lock);
+#endif
}
static void
@@ -761,14 +797,22 @@ external_thumbnailers_disabled_changed_cb (GSettings *setting
{
MateDesktopThumbnailFactoryPrivate *priv = factory->priv;
+#if GLIB_CHECK_VERSION(2, 31, 0)
g_mutex_lock (&priv->lock);
+#else
+ g_mutex_lock (priv->lock);
+#endif
if (priv->disabled)
return;
g_strfreev (priv->disabled_types);
priv->disabled_types = g_settings_get_strv (priv->settings, "disable");
+#if GLIB_CHECK_VERSION(2, 31, 0)
g_mutex_unlock (&priv->lock);
+#else
+ g_mutex_unlock (priv->lock);
+#endif
}
static void
@@ -787,7 +831,11 @@ mate_desktop_thumbnail_factory_init (MateDesktopThumbnailFactory *factory)
(GDestroyNotify)g_free,
(GDestroyNotify)thumbnailer_unref);
+#if GLIB_CHECK_VERSION(2, 31, 0)
g_mutex_init (&priv->lock);
+#else
+ priv->lock = g_mutex_new ();
+#endif
priv->settings = g_settings_new ("org.mate.thumbnailers");
priv->disabled = g_settings_get_boolean (priv->settings, "disable-all");
@@ -879,8 +927,13 @@ mate_desktop_thumbnail_factory_lookup (MateDesktopThumbnailFactory *factory,
file = g_strconcat (g_checksum_get_string (checksum), ".png", NULL);
+#if GLIB_CHECK_VERSION (2, 34, 0)
path = g_build_filename (g_get_user_cache_dir (),
"thumbnails",
+#else
+ path = g_build_filename (g_get_home_dir (),
+ ".thumbnails",
+#endif
(priv->size == MATE_DESKTOP_THUMBNAIL_SIZE_NORMAL)?"normal":"large",
file,
NULL);
@@ -940,8 +993,13 @@ mate_desktop_thumbnail_factory_has_valid_failed_thumbnail (MateDesktopThumbnailF
file = g_strconcat (g_checksum_get_string (checksum), ".png", NULL);
+#if GLIB_CHECK_VERSION (2, 34, 0)
path = g_build_filename (g_get_user_cache_dir (),
"thumbnails/fail",
+#else
+ path = g_build_filename (g_get_home_dir (),
+ ".thumbnails/fail",
+#endif
appname,
file,
NULL);
@@ -1043,7 +1101,11 @@ mate_desktop_thumbnail_factory_can_thumbnail (MateDesktopThumbnailFactory *facto
if (!mime_type)
return FALSE;
+#if GLIB_CHECK_VERSION(2, 31, 0)
g_mutex_lock (&factory->priv->lock);
+#else
+ g_mutex_lock (factory->priv->lock);
+#endif
if (!mate_desktop_thumbnail_factory_is_disabled (factory, mime_type))
{
Thumbnailer *thumb;
@@ -1051,7 +1113,11 @@ mate_desktop_thumbnail_factory_can_thumbnail (MateDesktopThumbnailFactory *facto
thumb = g_hash_table_lookup (factory->priv->mime_types_map, mime_type);
have_script = thumbnailer_try_exec (thumb);
}
+#if GLIB_CHECK_VERSION(2, 31, 0)
g_mutex_unlock (&factory->priv->lock);
+#else
+ g_mutex_unlock (factory->priv->lock);
+#endif
if (have_script || mimetype_supported_by_gdk_pixbuf (mime_type))
{
@@ -1174,7 +1240,11 @@ mate_desktop_thumbnail_factory_generate_thumbnail (MateDesktopThumbnailFactory *
pixbuf = NULL;
script = NULL;
+#if GLIB_CHECK_VERSION(2, 31, 0)
g_mutex_lock (&factory->priv->lock);
+#else
+ g_mutex_lock (factory->priv->lock);
+#endif
if (!mate_desktop_thumbnail_factory_is_disabled (factory, mime_type))
{
Thumbnailer *thumb;
@@ -1183,7 +1253,11 @@ mate_desktop_thumbnail_factory_generate_thumbnail (MateDesktopThumbnailFactory *
if (thumb)
script = g_strdup (thumb->command);
}
+#if GLIB_CHECK_VERSION(2, 31, 0)
g_mutex_unlock (&factory->priv->lock);
+#else
+ g_mutex_unlock (factory->priv->lock);
+#endif
if (script)
{
@@ -1283,8 +1357,13 @@ make_thumbnail_dirs (MateDesktopThumbnailFactory *factory)
res = FALSE;
+#if GLIB_CHECK_VERSION (2, 34, 0)
thumbnail_dir = g_build_filename (g_get_user_cache_dir (),
"thumbnails",
+#else
+ thumbnail_dir = g_build_filename (g_get_home_dir (),
+ ".thumbnails",
+#endif
NULL);
if (!g_file_test (thumbnail_dir, G_FILE_TEST_IS_DIR))
{
@@ -1317,8 +1396,13 @@ make_thumbnail_fail_dirs (MateDesktopThumbnailFactory *factory)
res = FALSE;
+#if GLIB_CHECK_VERSION (2, 34, 0)
thumbnail_dir = g_build_filename (g_get_user_cache_dir (),
"thumbnails",
+#else
+ thumbnail_dir = g_build_filename (g_get_home_dir (),
+ ".thumbnails",
+#endif
NULL);
if (!g_file_test (thumbnail_dir, G_FILE_TEST_IS_DIR))
{
@@ -1392,8 +1476,13 @@ mate_desktop_thumbnail_factory_save_thumbnail (MateDesktopThumbnailFactory *fact
file = g_strconcat (g_checksum_get_string (checksum), ".png", NULL);
+#if GLIB_CHECK_VERSION (2, 34, 0)
path = g_build_filename (g_get_user_cache_dir (),
"thumbnails",
+#else
+ path = g_build_filename (g_get_home_dir (),
+ ".thumbnails",
+#endif
(priv->size == MATE_DESKTOP_THUMBNAIL_SIZE_NORMAL)?"normal":"large",
file,
NULL);
@@ -1500,8 +1589,13 @@ mate_desktop_thumbnail_factory_create_failed_thumbnail (MateDesktopThumbnailFact
file = g_strconcat (g_checksum_get_string (checksum), ".png", NULL);
+#if GLIB_CHECK_VERSION (2, 34, 0)
path = g_build_filename (g_get_user_cache_dir (),
"thumbnails/fail",
+#else
+ path = g_build_filename (g_get_home_dir (),
+ ".thumbnails/fail",
+#endif
appname,
file,
NULL);
@@ -1591,8 +1685,13 @@ mate_desktop_thumbnail_path_for_uri (const char *uri,
file = g_strconcat (md5, ".png", NULL);
g_free (md5);
+#if GLIB_CHECK_VERSION (2, 34, 0)
path = g_build_filename (g_get_user_cache_dir (),
"thumbnails",
+#else
+ path = g_build_filename (g_get_home_dir (),
+ ".thumbnails",
+#endif
(size == MATE_DESKTOP_THUMBNAIL_SIZE_NORMAL)?"normal":"large",
file,
NULL);
diff --git a/mate-about/mate-about.c b/mate-about/mate-about.c
index 2167769..5f89e17 100644
--- a/mate-about/mate-about.c
+++ b/mate-about/mate-about.c
@@ -120,6 +120,10 @@ int main(int argc, char** argv)
mate_gettext(GETTEXT_PACKAGE, LOCALE_DIR, "UTF-8");
+ #if !GLIB_CHECK_VERSION (2, 36, 0)
+ g_type_init();
+ #endif
+
/* http://www.gtk.org/api/2.6/glib/glib-Commandline-option-parser.html */
GOptionContext* context = g_option_context_new(NULL);
g_option_context_add_main_entries(context, command_entries, GETTEXT_PACKAGE);