diff --git a/cab.patch b/cab.patch deleted file mode 100644 index b7b5a32..0000000 --- a/cab.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/nautilus/nautilus-fileroller.c b/nautilus/nautilus-fileroller.c -index e467e17..d67b69e 100644 ---- a/nautilus/nautilus-fileroller.c -+++ b/nautilus/nautilus-fileroller.c -@@ -151,7 +151,7 @@ static char *mime_types[] = { - "application/x-bzip-compressed-tar", - "application/x-bzip1", - "application/x-bzip1-compressed-tar", -- "application/x-cabinet", -+ "application/vnd.ms-cab-compressed", - "application/x-cbr", - "application/x-cbz", - "application/x-cd-image", -diff --git a/src/fr-command-7z.c b/src/fr-command-7z.c -index b24cbd5..ef1eb08 100644 ---- a/src/fr-command-7z.c -+++ b/src/fr-command-7z.c -@@ -512,7 +512,7 @@ fr_command_7z_handle_error (FrCommand *comm, - - const char *sevenz_mime_types[] = { "application/x-7z-compressed", - "application/x-arj", -- "application/x-cabinet", -+ "application/vnd.ms-cab-compressed", - "application/x-cd-image", - /*"application/x-cbr",*/ - "application/x-cbz", -@@ -545,7 +545,10 @@ fr_command_7z_get_capabilities (FrCommand *comm, - else if (is_mime_type (mime_type, "application/x-7z-compressed-tar")) { - capabilities |= FR_COMMAND_CAN_READ_WRITE | FR_COMMAND_CAN_ENCRYPT | FR_COMMAND_CAN_ENCRYPT_HEADER | FR_COMMAND_CAN_CREATE_VOLUMES; - } -- else if (is_program_in_path ("7z")) { -+ else if (is_mime_type (mime_type, "application/x-7z-compressed-tar")) { -+ capabilities |= FR_COMMAND_CAN_READ_WRITE | FR_COMMAND_CAN_ENCRYPT | FR_COMMAND_CAN_ENCRYPT_HEADER | FR_COMMAND_CAN_CREATE_VOLUMES; -+ } -+ else if (is_program_in_path ("7z") || is_program_in_path ("7za")) { - if (is_mime_type (mime_type, "application/x-rar") - || is_mime_type (mime_type, "application/x-cbr")) - { -diff --git a/src/main.c b/src/main.c -index 0981a23..16cd83b 100644 ---- a/src/main.c -+++ b/src/main.c -@@ -88,7 +88,7 @@ FrMimeTypeDescription mime_type_desc[] = { - { "application/x-bzip-compressed-tar", ".tar.bz2", N_("Tar compressed with bzip2 (.tar.bz2)"), 0 }, - { "application/x-bzip1", ".bz", NULL, 0 }, - { "application/x-bzip1-compressed-tar", ".tar.bz", N_("Tar compressed with bzip (.tar.bz)"), 0 }, -- { "application/x-cabinet", ".cab", N_("Cabinet (.cab)"), 0 }, -+ { "application/vnd.ms-cab-compressed", ".cab", N_("Cabinet (.cab)"), 0 }, - { "application/x-cbr", ".cbr", N_("Rar Archived Comic Book (.cbr)"), 0 }, - { "application/x-cbz", ".cbz", N_("Zip Archived Comic Book (.cbz)"), 0 }, - { "application/x-cd-image", ".iso", NULL, 0 }, -@@ -130,7 +130,7 @@ FrExtensionType file_ext_type[] = { - { ".bin", "application/x-stuffit" }, - { ".bz", "application/x-bzip" }, - { ".bz2", "application/x-bzip" }, -- { ".cab", "application/x-cabinet" }, -+ { ".cab", "application/vnd.ms-cab-compressed" }, - { ".cbr", "application/x-cbr" }, - { ".cbz", "application/x-cbz" }, - { ".cpio", "application/x-cpio" }, diff --git a/file-roller.spec b/file-roller.spec index a9ca251..b4f0398 100644 --- a/file-roller.spec +++ b/file-roller.spec @@ -10,13 +10,16 @@ Summary: Tool for viewing and creating archives Name: file-roller -Version: 2.28.0 -Release: 1%{?dist} +Version: 2.28.1 +Release: 2%{?dist} License: GPLv2+ Group: Applications/Archiving URL: http://download.gnome.org/sources/file-roller/ Source: http://download.gnome.org/sources/file-roller/2.28/file-roller-%{version}.tar.bz2 +# https://bugzilla.gnome.org/show_bug.cgi?id=590606 +Patch0: sticky-dnd.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: pango-devel >= %{pango_version} @@ -51,6 +54,7 @@ such as tar or zip files. %prep %setup -q +%patch0 -p1 -b .sticky-dnd %build %configure --disable-scrollkeeper --disable-static @@ -127,6 +131,15 @@ fi %{_datadir}/icons/hicolor/scalable/apps/file-roller.svg %changelog +* Thu Oct 29 2009 Matthias Clasen 2.28.1-2 +- Fix sticky DND + +* Mon Oct 19 2009 Matthias Clasen 2.28.1-1 +- Update to 2.28.1 + +* Thu Oct 1 2009 Matthias Clasen 2.28.0-2 +- Respect button-images setting + * Mon Sep 21 2009 Matthias Clasen 2.28.0-1 - Update to 2.28.0 diff --git a/sources b/sources index cb79832..315dee3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -dcb0c887d5d287a28ebb5c0ea69bedfa file-roller-2.28.0.tar.bz2 +fcba40a9aa04386dec961a2f776777c5 file-roller-2.28.1.tar.bz2 diff --git a/sticky-dnd.patch b/sticky-dnd.patch new file mode 100644 index 0000000..75e0ec7 --- /dev/null +++ b/sticky-dnd.patch @@ -0,0 +1,53 @@ +--- file-roller-2.28.1/src/eggtreemultidnd.c 2009-10-19 13:53:45.000000000 -0400 ++++ hacked/src/eggtreemultidnd.c 2009-10-29 23:23:12.660790804 -0400 +@@ -179,8 +179,14 @@ + priv_data->event_list = NULL; + priv_data->pending_event = FALSE; + +- g_signal_handler_disconnect (widget, priv_data->motion_notify_handler); +- g_signal_handler_disconnect (widget, priv_data->button_release_handler); ++ if (priv_data->motion_notify_handler) { ++ g_signal_handler_disconnect (widget, priv_data->motion_notify_handler); ++ priv_data->motion_notify_handler = 0; ++ } ++ if (priv_data->button_release_handler) { ++ g_signal_handler_disconnect (widget, priv_data->button_release_handler); ++ priv_data->button_release_handler = 0; ++ } + } + + +@@ -401,16 +407,23 @@ + priv_data->event_list = g_slist_append (priv_data->event_list, + gdk_event_copy ((GdkEvent*)event)); + +- priv_data->motion_notify_handler = +- g_signal_connect (G_OBJECT (tree_view), +- "motion_notify_event", +- G_CALLBACK (egg_tree_multi_drag_motion_event), +- NULL); +- priv_data->button_release_handler = +- g_signal_connect (G_OBJECT (tree_view), +- "button_release_event", +- G_CALLBACK (egg_tree_multi_drag_button_release_event), +- NULL); ++ if (priv_data->motion_notify_handler == 0) ++ { ++ priv_data->motion_notify_handler = ++ g_signal_connect (G_OBJECT (tree_view), ++ "motion_notify_event", ++ G_CALLBACK (egg_tree_multi_drag_motion_event), ++ NULL); ++ } ++ ++ if (priv_data->button_release_handler == 0) ++ { ++ priv_data->button_release_handler = ++ g_signal_connect (G_OBJECT (tree_view), ++ "button_release_event", ++ G_CALLBACK (egg_tree_multi_drag_button_release_event), ++ NULL); ++ } + + if (priv_data->drag_data_get_handler == 0) + {