Accepting request 87323 from home:vuntz:branches:GNOME:Factory
Fix crash outside of GNOME (+ test supersede on bs) OBS-URL: https://build.opensuse.org/request/show/87323 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/file-roller?expand=0&rev=114
This commit is contained in:
parent
09407f9056
commit
a559985515
69
file-roller-no-crash-without-nautilus.patch
Normal file
69
file-roller-no-crash-without-nautilus.patch
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
commit 0b579ad93f99133e6d92af08a36a3d5693edad5f
|
||||||
|
Author: Vincent Untz <vuntz@gnome.org>
|
||||||
|
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. */
|
||||||
|
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
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.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Sep 26 19:31:25 UTC 2011 - vuntz@opensuse.org
|
Mon Sep 26 19:31:25 UTC 2011 - vuntz@opensuse.org
|
||||||
|
|
||||||
|
@ -25,6 +25,8 @@ Summary: An Archive Manager for GNOME
|
|||||||
Url: http://fileroller.sourceforge.net
|
Url: http://fileroller.sourceforge.net
|
||||||
Group: Productivity/Archiving/Compression
|
Group: Productivity/Archiving/Compression
|
||||||
Source: http://download.gnome.org/sources/file-roller/3.2/%{name}-%{version}.tar.bz2
|
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
|
# Needed for directory ownership
|
||||||
BuildRequires: dbus-1
|
BuildRequires: dbus-1
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
@ -90,6 +92,7 @@ This package contains a plugin to integrate File Roller into Nautilus.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
translation-update-upstream
|
translation-update-upstream
|
||||||
|
%patch0 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure\
|
%configure\
|
||||||
|
Loading…
Reference in New Issue
Block a user