Hello community,
here is the log from the commit of package file-roller for openSUSE:Factory
checked in at Tue Oct 11 16:53:06 CEST 2011.
--------
--- openSUSE:Factory/file-roller/file-roller.changes 2011-10-02 10:01:18.000000000 +0200
+++ /mounts/work_src_done/STABLE/file-roller/file-roller.changes 2011-10-10 11:21:35.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Oct 10 09:08:10 UTC 2011 - vuntz@opensuse.org
+
+- Add file-roller-no-crash-without-nautilus.patch: do not crash if
+ nautilus is not installed. Fix bnc#722863.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
file-roller-no-crash-without-nautilus.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ file-roller.spec ++++++
--- /var/tmp/diff_new_pack.hrbhiL/_old 2011-10-11 16:53:01.000000000 +0200
+++ /var/tmp/diff_new_pack.hrbhiL/_new 2011-10-11 16:53:01.000000000 +0200
@@ -25,6 +25,8 @@
Url: http://fileroller.sourceforge.net
Group: Productivity/Archiving/Compression
Source: http://download.gnome.org/sources/file-roller/3.2/%{name}-%{version}.tar.bz2
+# PATCH-FIX-UPSTREAM file-roller-no-crash-without-nautilus.patch bgo#649094 bnc#722863 vuntz@opensuse.org -- Do not crash if nautilus gsettings schemas are not installed
+Patch0: file-roller-no-crash-without-nautilus.patch
# Needed for directory ownership
BuildRequires: dbus-1
BuildRequires: fdupes
@@ -90,6 +92,7 @@
%prep
%setup -q
translation-update-upstream
+%patch0 -p1
%build
%configure\
++++++ file-roller-no-crash-without-nautilus.patch ++++++
commit 0b579ad93f99133e6d92af08a36a3d5693edad5f
Author: Vincent Untz
Date: Mon Oct 10 09:12:59 2011 +0200
Do not crash if nautilus schema is not present
A lot of users use file-roller in non-GNOME environments, where nautilus
is not installed. We don't want to crash in that case as we only need
the nautilus schema to determine if we use single-click vs double-click.
https://bugzilla.gnome.org/show_bug.cgi?id=649094
diff --git a/src/fr-window.c b/src/fr-window.c
index 743c8fe..0357b68 100644
--- a/src/fr-window.c
+++ b/src/fr-window.c
@@ -4642,6 +4642,9 @@ is_single_click_policy (FrWindow *window)
char *value;
gboolean result;
+ if (!window->priv->settings_nautilus)
+ return FALSE;
+
value = g_settings_get_string (window->priv->settings_nautilus, NAUTILUS_CLICK_POLICY);
result = (value != NULL) && (strncmp (value, "single", 6) == 0);
g_free (value);
@@ -5425,6 +5428,8 @@ fr_window_construct (FrWindow *window)
GtkToolItem *open_recent_tool_item;
GtkWidget *menu_item;
GError *error = NULL;
+ const char * const *schemas;
+ const char *schema;
/* data common to all windows. */
@@ -5441,7 +5446,15 @@ fr_window_construct (FrWindow *window)
window->priv->settings_ui = g_settings_new (FILE_ROLLER_SCHEMA_UI);
window->priv->settings_general = g_settings_new (FILE_ROLLER_SCHEMA_GENERAL);
window->priv->settings_dialogs = g_settings_new (FILE_ROLLER_SCHEMA_DIALOGS);
- window->priv->settings_nautilus = g_settings_new (NAUTILUS_SCHEMA);
+
+ /* Only use the nautilus schema if it's installed */
+ schemas = g_settings_list_schemas();
+ for (; *schemas != NULL; schemas++) {
+ if (g_strcmp0 (*schemas, NAUTILUS_SCHEMA) == 0) {
+ window->priv->settings_nautilus = g_settings_new (NAUTILUS_SCHEMA);
+ break;
+ }
+ }
/* Create the application. */
@@ -6045,10 +6058,12 @@ fr_window_construct (FrWindow *window)
"changed::" PREF_LISTING_USE_MIME_ICONS,
G_CALLBACK (pref_use_mime_icons_changed),
window);
- g_signal_connect (window->priv->settings_nautilus,
- "changed::" NAUTILUS_CLICK_POLICY,
- G_CALLBACK (pref_click_policy_changed),
- window);
+
+ if (window->priv->settings_nautilus)
+ g_signal_connect (window->priv->settings_nautilus,
+ "changed::" NAUTILUS_CLICK_POLICY,
+ G_CALLBACK (pref_click_policy_changed),
+ window);
/* Give focus to the list. */
continue with "q"...
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org