[Xfce4-commits] <xfdesktop:master> Guard GIO 2.20 function calls, provide alternatives to GTK+ 2.18 calls.
Jannis Pohlmann
noreply at xfce.org
Sat Dec 4 16:42:01 CET 2010
Updating branch refs/heads/master
to 6b4711a7c749d0ae5eaaac5b613e29c908635af0 (commit)
from a40bbb2d8ed4a247895f83a5ed2584d0e21ea8cc (commit)
commit 6b4711a7c749d0ae5eaaac5b613e29c908635af0
Author: Jannis Pohlmann <jannis at xfce.org>
Date: Sat Dec 4 16:40:35 2010 +0100
Guard GIO 2.20 function calls, provide alternatives to GTK+ 2.18 calls.
NEWS | 2 ++
src/xfdesktop-file-icon-manager.c | 8 ++++++--
src/xfdesktop-file-utils.c | 4 ++++
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/NEWS b/NEWS
index 30a4eb1..75b76f5 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,8 @@ Xfdesktop 4.7.x
* Let garcon choose the default applications menu file using
XDG_MENU_PREFIX. Drop the UserMenu kiosk option as the panel
sort of allows to bypass it anyway.
+ * Avoid GTK+ 2.18 and GIO 2.20 function calls (or at least guard them
+ so that xfdesktop still builds with older versions).
Xfdesktop 4.7.3
diff --git a/src/xfdesktop-file-icon-manager.c b/src/xfdesktop-file-icon-manager.c
index 2685e32..c5944a7 100644
--- a/src/xfdesktop-file-icon-manager.c
+++ b/src/xfdesktop-file-icon-manager.c
@@ -588,7 +588,7 @@ xfdesktop_file_icon_manager_trash_files_cb(DBusGProxy *proxy,
if(error) {
GtkWidget *parent = gtk_widget_get_toplevel(GTK_WIDGET(fmanager->priv->icon_view));
- xfce_message_dialog(GTK_WINDOW (parent),
+ xfce_message_dialog(GTK_WINDOW(parent),
_("Trash Error"), GTK_STOCK_DIALOG_ERROR,
_("The selected files could not be trashed"),
_("This feature requires a file manager service to "
@@ -632,7 +632,7 @@ xfdesktop_file_icon_manager_trash_files(XfdesktopFileIconManager *fmanager,
{
GtkWidget *parent = gtk_widget_get_toplevel(GTK_WIDGET(fmanager->priv->icon_view));
- xfce_message_dialog(GTK_WINDOW (parent),
+ xfce_message_dialog(GTK_WINDOW(parent),
_("Trash Error"), GTK_STOCK_DIALOG_ERROR,
_("The selected files could not be trashed"),
_("This feature requires a file manager service to "
@@ -2223,7 +2223,11 @@ xfdesktop_file_icon_manager_files_ready(GFileEnumerator *enumerator,
if(!files) {
if(error) {
GtkWidget *toplevel = gtk_widget_get_toplevel(GTK_WIDGET(fmanager->priv->icon_view));
+#if GTK_CHECK_VERSION (2, 18, 0)
xfce_message_dialog(gtk_widget_is_toplevel(toplevel) ? GTK_WINDOW(toplevel) : NULL,
+#else
+ xfce_message_dialog(GTK_WIDGET_TOPLEVEL(toplevel) ? GTK_WINDOW(toplevel) : NULL,
+#endif
_("Load Error"),
GTK_STOCK_DIALOG_WARNING,
_("Failed to load the desktop folder"), error->message,
diff --git a/src/xfdesktop-file-utils.c b/src/xfdesktop-file-utils.c
index 7a69e39..644b26c 100644
--- a/src/xfdesktop-file-utils.c
+++ b/src/xfdesktop-file-utils.c
@@ -165,7 +165,9 @@ xfdesktop_file_utils_volume_is_present(GVolume *volume)
gboolean has_media = FALSE;
gboolean is_shadowed = FALSE;
GDrive *drive;
+#if GLIB_CHECK_VERSION (2, 20, 0)
GMount *mount;
+#endif
g_return_val_if_fail(G_IS_VOLUME(volume), FALSE);
@@ -175,11 +177,13 @@ xfdesktop_file_utils_volume_is_present(GVolume *volume)
g_object_unref(drive);
}
+#if GLIB_CHECK_VERSION (2, 20, 0)
mount = g_volume_get_mount(volume);
if(mount) {
is_shadowed = g_mount_is_shadowed(mount);
g_object_unref(mount);
}
+#endif
return has_media && !is_shadowed;
}
More information about the Xfce4-commits
mailing list