This commit is contained in:
parent
cb2c2a06c4
commit
99aa3fa38f
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0abf783260ce3c60ffe28c14cb932384b2a1f67b92ba1a1d017a1e8880d05433
|
||||
size 5032921
|
3
nautilus-2.23.4.tar.bz2
Normal file
3
nautilus-2.23.4.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:361c9e525d73549e2d806a86c3918b8ea1bddb071fd322f8b57a69fabbfc6002
|
||||
size 10202575
|
@ -1,393 +0,0 @@
|
||||
2008-04-21 Federico Mena Quintero <federico@novell.com>
|
||||
|
||||
From: Federico Mena Quintero <federico@gnu.org>
|
||||
|
||||
http://bugzilla.gnome.org/show_bug.cgi?id=364843
|
||||
|
||||
Keep the generated names for "reallylongfilename (copy).txt" from
|
||||
overflowing the maximum allowed length for path names.
|
||||
|
||||
Original patch by Dave Camp <campd@campd.org>
|
||||
|
||||
* libnautilus-private/nautilus-file-operations.c
|
||||
(shorten_utf8_string): New function; takes an UTF8 string and
|
||||
hygienically truncates it to a given number of bytes.
|
||||
(get_link_name): Ensure the final name doesn't exceed a maximum length.
|
||||
(make_next_duplicate_name): Likewise.
|
||||
(get_max_name_length): Wrapper around pathconf() for basename lengths.
|
||||
(get_unique_target_file): Use a maximum length for the target name.
|
||||
(get_target_file_for_link): Likewise.
|
||||
---
|
||||
|
||||
libnautilus-private/nautilus-file-operations.c | 239 +++++++++++++++++++-----
|
||||
1 files changed, 186 insertions(+), 53 deletions(-)
|
||||
|
||||
|
||||
diff --git a/libnautilus-private/nautilus-file-operations.c b/libnautilus-private/nautilus-file-operations.c
|
||||
index 15dd601..bc1d941 100644
|
||||
--- a/libnautilus-private/nautilus-file-operations.c
|
||||
+++ b/libnautilus-private/nautilus-file-operations.c
|
||||
@@ -228,15 +228,55 @@ format_time (int seconds)
|
||||
hours), hours);
|
||||
}
|
||||
|
||||
+static char *
|
||||
+shorten_utf8_string (const char *base, int reduce_by_num_bytes)
|
||||
+{
|
||||
+ int len;
|
||||
+ char *ret;
|
||||
+ const char *p;
|
||||
+
|
||||
+ len = strlen (base);
|
||||
+ len -= reduce_by_num_bytes;
|
||||
+
|
||||
+ if (len <= 0) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ ret = g_new (char, len + 1);
|
||||
+
|
||||
+ p = base;
|
||||
+ while (len) {
|
||||
+ char *next;
|
||||
+ next = g_utf8_next_char (p);
|
||||
+ if (next - p > len || *next == '\0') {
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ len -= next - p;
|
||||
+ p = next;
|
||||
+ }
|
||||
+
|
||||
+ if (p - base == 0) {
|
||||
+ g_free (ret);
|
||||
+ return NULL;
|
||||
+ } else {
|
||||
+ memcpy (ret, base, p - base);
|
||||
+ ret[p - base] = '\0';
|
||||
+ return ret;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/* Note that we have these two separate functions with separate format
|
||||
* strings for ease of localization.
|
||||
*/
|
||||
|
||||
static char *
|
||||
-get_link_name (const char *name, int count)
|
||||
+get_link_name (const char *name, int count, int max_length)
|
||||
{
|
||||
const char *format;
|
||||
char *result;
|
||||
+ int unshortened_length;
|
||||
+ gboolean use_count;
|
||||
|
||||
g_assert (name != NULL);
|
||||
|
||||
@@ -262,8 +302,8 @@ get_link_name (const char *name, int count)
|
||||
format = _("Another link to %s");
|
||||
break;
|
||||
}
|
||||
- result = g_strdup_printf (format, name);
|
||||
|
||||
+ use_count = FALSE;
|
||||
} else {
|
||||
/* Handle special cases for the first few numbers of each ten.
|
||||
* For locales where getting this exactly right is difficult,
|
||||
@@ -290,7 +330,30 @@ get_link_name (const char *name, int count)
|
||||
format = _("%'dth link to %s");
|
||||
break;
|
||||
}
|
||||
+
|
||||
+ use_count = TRUE;
|
||||
+ }
|
||||
+
|
||||
+ if (use_count)
|
||||
result = g_strdup_printf (format, count, name);
|
||||
+ else
|
||||
+ result = g_strdup_printf (format, name);
|
||||
+
|
||||
+ if (max_length > 0 && (unshortened_length = strlen (result)) > max_length) {
|
||||
+ char *new_name;
|
||||
+
|
||||
+ new_name = shorten_utf8_string (name, unshortened_length - max_length);
|
||||
+ if (new_name) {
|
||||
+ g_free (result);
|
||||
+
|
||||
+ if (use_count)
|
||||
+ result = g_strdup_printf (format, count, new_name);
|
||||
+ else
|
||||
+ result = g_strdup_printf (format, new_name);
|
||||
+
|
||||
+ g_assert (strlen (result) <= max_length);
|
||||
+ g_free (new_name);
|
||||
+ }
|
||||
}
|
||||
|
||||
return result;
|
||||
@@ -482,11 +545,12 @@ parse_previous_duplicate_name (const char *name,
|
||||
}
|
||||
|
||||
static char *
|
||||
-make_next_duplicate_name (const char *base, const char *suffix, int count)
|
||||
+make_next_duplicate_name (const char *base, const char *suffix, int count, int max_length)
|
||||
{
|
||||
const char *format;
|
||||
char *result;
|
||||
-
|
||||
+ int unshortened_length;
|
||||
+ gboolean use_count;
|
||||
|
||||
if (count < 1) {
|
||||
g_warning ("bad count %d in get_duplicate_name", count);
|
||||
@@ -510,7 +574,8 @@ make_next_duplicate_name (const char *base, const char *suffix, int count)
|
||||
break;
|
||||
|
||||
}
|
||||
- result = g_strdup_printf (format, base, suffix);
|
||||
+
|
||||
+ use_count = FALSE;
|
||||
} else {
|
||||
|
||||
/* Handle special cases for the first few numbers of each ten.
|
||||
@@ -553,14 +618,37 @@ make_next_duplicate_name (const char *base, const char *suffix, int count)
|
||||
}
|
||||
}
|
||||
|
||||
+ use_count = TRUE;
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ if (use_count)
|
||||
result = g_strdup_printf (format, base, count, suffix);
|
||||
+ else
|
||||
+ result = g_strdup_printf (format, base, suffix);
|
||||
+
|
||||
+ if (max_length > 0 && (unshortened_length = strlen (result)) > max_length) {
|
||||
+ char *new_base;
|
||||
+
|
||||
+ new_base = shorten_utf8_string (base, unshortened_length - max_length);
|
||||
+ if (new_base) {
|
||||
+ g_free (result);
|
||||
+
|
||||
+ if (use_count)
|
||||
+ result = g_strdup_printf (format, new_base, count, suffix);
|
||||
+ else
|
||||
+ result = g_strdup_printf (format, new_base, suffix);
|
||||
+
|
||||
+ g_assert (strlen (result) <= max_length);
|
||||
+ g_free (new_base);
|
||||
+ }
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static char *
|
||||
-get_duplicate_name (const char *name, int count_increment)
|
||||
+get_duplicate_name (const char *name, int count_increment, int max_length)
|
||||
{
|
||||
char *result;
|
||||
char *name_base;
|
||||
@@ -568,7 +656,7 @@ get_duplicate_name (const char *name, int count_increment)
|
||||
int count;
|
||||
|
||||
parse_previous_duplicate_name (name, &name_base, &suffix, &count);
|
||||
- result = make_next_duplicate_name (name_base, suffix, count + count_increment);
|
||||
+ result = make_next_duplicate_name (name_base, suffix, count + count_increment, max_length);
|
||||
|
||||
g_free (name_base);
|
||||
|
||||
@@ -2626,6 +2714,45 @@ report_copy_progress (CopyMoveJob *copy_job,
|
||||
nautilus_progress_info_set_progress (job->progress, transfer_info->num_bytes, total_size);
|
||||
}
|
||||
|
||||
+static int
|
||||
+get_max_name_length (GFile *file_dir)
|
||||
+{
|
||||
+ int max_length;
|
||||
+ char *dir;
|
||||
+ long max_path;
|
||||
+ long max_name;
|
||||
+
|
||||
+ max_length = -1;
|
||||
+
|
||||
+ if (!g_file_has_uri_scheme (file_dir, "file"))
|
||||
+ return max_length;
|
||||
+
|
||||
+ dir = g_file_get_path (file_dir);
|
||||
+ if (!dir)
|
||||
+ return max_length;
|
||||
+
|
||||
+ max_path = pathconf (dir, _PC_PATH_MAX);
|
||||
+ max_name = pathconf (dir, _PC_NAME_MAX);
|
||||
+
|
||||
+ if (max_name == -1 && max_path == -1) {
|
||||
+ max_length = -1;
|
||||
+ } else if (max_name == -1 && max_path != -1) {
|
||||
+ max_length = max_path - (strlen (dir) + 1);
|
||||
+ } else if (max_name != -1 && max_path == -1) {
|
||||
+ max_length = max_name;
|
||||
+ } else {
|
||||
+ int leftover;
|
||||
+
|
||||
+ leftover = max_path - (strlen (dir) + 1);
|
||||
+
|
||||
+ max_length = MIN (leftover, max_name);
|
||||
+ }
|
||||
+
|
||||
+ g_free (dir);
|
||||
+
|
||||
+ return max_length;
|
||||
+}
|
||||
+
|
||||
static GFile *
|
||||
get_unique_target_file (GFile *src,
|
||||
GFile *dest_dir,
|
||||
@@ -2636,6 +2763,9 @@ get_unique_target_file (GFile *src,
|
||||
char *basename, *new_name;
|
||||
GFileInfo *info;
|
||||
GFile *dest;
|
||||
+ int max_length;
|
||||
+
|
||||
+ max_length = get_max_name_length (dest_dir);
|
||||
|
||||
dest = NULL;
|
||||
info = g_file_query_info (src,
|
||||
@@ -2645,7 +2775,7 @@ get_unique_target_file (GFile *src,
|
||||
editname = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME);
|
||||
|
||||
if (editname != NULL) {
|
||||
- new_name = get_duplicate_name (editname, count);
|
||||
+ new_name = get_duplicate_name (editname, count, max_length);
|
||||
dest = g_file_get_child_for_display_name (dest_dir, new_name, NULL);
|
||||
g_free (new_name);
|
||||
}
|
||||
@@ -2657,7 +2787,7 @@ get_unique_target_file (GFile *src,
|
||||
basename = g_file_get_basename (src);
|
||||
|
||||
if (g_utf8_validate (basename, -1, NULL)) {
|
||||
- new_name = get_duplicate_name (basename, count);
|
||||
+ new_name = get_duplicate_name (basename, count, max_length);
|
||||
dest = g_file_get_child_for_display_name (dest_dir, new_name, NULL);
|
||||
g_free (new_name);
|
||||
}
|
||||
@@ -2687,7 +2817,10 @@ get_target_file_for_link (GFile *src,
|
||||
char *basename, *new_name;
|
||||
GFileInfo *info;
|
||||
GFile *dest;
|
||||
-
|
||||
+ int max_length;
|
||||
+
|
||||
+ max_length = get_max_name_length (dest_dir);
|
||||
+
|
||||
dest = NULL;
|
||||
info = g_file_query_info (src,
|
||||
G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME,
|
||||
@@ -2696,7 +2829,7 @@ get_target_file_for_link (GFile *src,
|
||||
editname = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME);
|
||||
|
||||
if (editname != NULL) {
|
||||
- new_name = get_link_name (editname, count);
|
||||
+ new_name = get_link_name (editname, count, max_length);
|
||||
dest = g_file_get_child_for_display_name (dest_dir, new_name, NULL);
|
||||
g_free (new_name);
|
||||
}
|
||||
@@ -2708,7 +2841,7 @@ get_target_file_for_link (GFile *src,
|
||||
basename = g_file_get_basename (src);
|
||||
|
||||
if (g_utf8_validate (basename, -1, NULL)) {
|
||||
- new_name = get_link_name (basename, count);
|
||||
+ new_name = get_link_name (basename, count, max_length);
|
||||
dest = g_file_get_child_for_display_name (dest_dir, new_name, NULL);
|
||||
g_free (new_name);
|
||||
}
|
||||
@@ -5136,47 +5269,47 @@ nautilus_self_check_file_operations (void)
|
||||
|
||||
|
||||
/* test the next duplicate name generator */
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name (" (copy)", 1), " (another copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo", 1), "foo (copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name (".bashrc", 1), ".bashrc (copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name (".foo.txt", 1), ".foo (copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo foo", 1), "foo foo (copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo.txt", 1), "foo (copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo foo.txt", 1), "foo foo (copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo foo.txt txt", 1), "foo foo (copy).txt txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo...txt", 1), "foo (copy)...txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo...", 1), "foo (copy)...");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo. (copy)", 1), "foo. (another copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (copy)", 1), "foo (another copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (copy).txt", 1), "foo (another copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (another copy)", 1), "foo (3rd copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (another copy).txt", 1), "foo (3rd copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo foo (another copy).txt", 1), "foo foo (3rd copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (13th copy)", 1), "foo (14th copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (13th copy).txt", 1), "foo (14th copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (21st copy)", 1), "foo (22nd copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (21st copy).txt", 1), "foo (22nd copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (22nd copy)", 1), "foo (23rd copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (22nd copy).txt", 1), "foo (23rd copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (23rd copy)", 1), "foo (24th copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (23rd copy).txt", 1), "foo (24th copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (24th copy)", 1), "foo (25th copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (24th copy).txt", 1), "foo (25th copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo foo (24th copy)", 1), "foo foo (25th copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo foo (24th copy).txt", 1), "foo foo (25th copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo foo (100000000000000th copy).txt", 1), "foo foo (copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (10th copy)", 1), "foo (11th copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (10th copy).txt", 1), "foo (11th copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (11th copy)", 1), "foo (12th copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (11th copy).txt", 1), "foo (12th copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (12th copy)", 1), "foo (13th copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (12th copy).txt", 1), "foo (13th copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (110th copy)", 1), "foo (111th copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (110th copy).txt", 1), "foo (111th copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (122nd copy)", 1), "foo (123rd copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (122nd copy).txt", 1), "foo (123rd copy).txt");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (123rd copy)", 1), "foo (124th copy)");
|
||||
- EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (123rd copy).txt", 1), "foo (124th copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name (" (copy)", 1, -1), " (another copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo", 1, -1), "foo (copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name (".bashrc", 1, -1), ".bashrc (copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name (".foo.txt", 1, -1), ".foo (copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo foo", 1, -1), "foo foo (copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo.txt", 1, -1), "foo (copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo foo.txt", 1, -1), "foo foo (copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo foo.txt txt", 1, -1), "foo foo (copy).txt txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo...txt", 1, -1), "foo (copy)...txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo...", 1, -1), "foo (copy)...");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo. (copy)", 1, -1), "foo. (another copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (copy)", 1, -1), "foo (another copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (copy).txt", 1, -1), "foo (another copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (another copy)", 1, -1), "foo (3rd copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (another copy).txt", 1, -1), "foo (3rd copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo foo (another copy).txt", 1, -1), "foo foo (3rd copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (13th copy)", 1, -1), "foo (14th copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (13th copy).txt", 1, -1), "foo (14th copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (21st copy)", 1, -1), "foo (22nd copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (21st copy).txt", 1, -1), "foo (22nd copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (22nd copy)", 1, -1), "foo (23rd copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (22nd copy).txt", 1, -1), "foo (23rd copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (23rd copy)", 1, -1), "foo (24th copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (23rd copy).txt", 1, -1), "foo (24th copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (24th copy)", 1, -1), "foo (25th copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (24th copy).txt", 1, -1), "foo (25th copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo foo (24th copy)", 1, -1), "foo foo (25th copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo foo (24th copy).txt", 1, -1), "foo foo (25th copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo foo (100000000000000th copy).txt", 1, -1), "foo foo (copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (10th copy)", 1, -1), "foo (11th copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (10th copy).txt", 1, -1), "foo (11th copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (11th copy)", 1, -1), "foo (12th copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (11th copy).txt", 1, -1), "foo (12th copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (12th copy)", 1, -1), "foo (13th copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (12th copy).txt", 1, -1), "foo (13th copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (110th copy)", 1, -1), "foo (111th copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (110th copy).txt", 1, -1), "foo (111th copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (122nd copy)", 1, -1), "foo (123rd copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (122nd copy).txt", 1, -1), "foo (123rd copy).txt");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (123rd copy)", 1, -1), "foo (124th copy)");
|
||||
+ EEL_CHECK_STRING_RESULT (get_duplicate_name ("foo (123rd copy).txt", 1, -1), "foo (124th copy).txt");
|
||||
|
||||
setlocale (LC_MESSAGES, "");
|
||||
}
|
@ -6,11 +6,11 @@ quick-and-dirty kiosks.
|
||||
This adds an /apps/nautilus/lockdown/disable_context_menus GConf key;
|
||||
if set to true, it will disable all the contextual menus on file views.
|
||||
|
||||
diff --git a/libnautilus-private/apps_nautilus_preferences.schemas.in b/libnautilus-private/apps_nautilus_preferences.schemas.in
|
||||
index 8548bf0..82531dc 100644
|
||||
--- a/libnautilus-private/apps_nautilus_preferences.schemas.in
|
||||
+++ b/libnautilus-private/apps_nautilus_preferences.schemas.in
|
||||
@@ -989,6 +989,21 @@ most cases, this should be left alone. -->Sans 10</default>
|
||||
Index: nautilus-2.23.4/libnautilus-private/apps_nautilus_preferences.schemas.in
|
||||
===================================================================
|
||||
--- nautilus-2.23.4.orig/libnautilus-private/apps_nautilus_preferences.schemas.in
|
||||
+++ nautilus-2.23.4/libnautilus-private/apps_nautilus_preferences.schemas.in
|
||||
@@ -1019,6 +1019,21 @@ most cases, this should be left alone. -
|
||||
</long>
|
||||
</locale>
|
||||
</schema>
|
||||
@ -33,10 +33,10 @@ index 8548bf0..82531dc 100644
|
||||
+
|
||||
</schemalist>
|
||||
</gconfschemafile>
|
||||
diff --git a/libnautilus-private/nautilus-debug-log.h b/libnautilus-private/nautilus-debug-log.h
|
||||
index 801610d..ad0152e 100644
|
||||
--- a/libnautilus-private/nautilus-debug-log.h
|
||||
+++ b/libnautilus-private/nautilus-debug-log.h
|
||||
Index: nautilus-2.23.4/libnautilus-private/nautilus-debug-log.h
|
||||
===================================================================
|
||||
--- nautilus-2.23.4.orig/libnautilus-private/nautilus-debug-log.h
|
||||
+++ nautilus-2.23.4/libnautilus-private/nautilus-debug-log.h
|
||||
@@ -30,6 +30,7 @@
|
||||
#define NAUTILUS_DEBUG_LOG_DOMAIN_USER "USER" /* always enabled */
|
||||
#define NAUTILUS_DEBUG_LOG_DOMAIN_ASYNC "async" /* when asynchronous notifications come in */
|
||||
@ -45,11 +45,11 @@ index 801610d..ad0152e 100644
|
||||
|
||||
void nautilus_debug_log (gboolean is_milestone, const char *domain, const char *format, ...);
|
||||
|
||||
diff --git a/libnautilus-private/nautilus-global-preferences.c b/libnautilus-private/nautilus-global-preferences.c
|
||||
index 5f4f498..279810f 100644
|
||||
--- a/libnautilus-private/nautilus-global-preferences.c
|
||||
+++ b/libnautilus-private/nautilus-global-preferences.c
|
||||
@@ -227,6 +227,10 @@ typedef struct
|
||||
Index: nautilus-2.23.4/libnautilus-private/nautilus-global-preferences.c
|
||||
===================================================================
|
||||
--- nautilus-2.23.4.orig/libnautilus-private/nautilus-global-preferences.c
|
||||
+++ nautilus-2.23.4/libnautilus-private/nautilus-global-preferences.c
|
||||
@@ -229,6 +229,10 @@ typedef struct
|
||||
* YOU SHOULD EDIT THE SCHEMAS FILE TO CHANGE DEFAULTS.
|
||||
*/
|
||||
static const PreferenceDefault preference_defaults[] = {
|
||||
@ -60,10 +60,10 @@ index 5f4f498..279810f 100644
|
||||
{ NAUTILUS_PREFERENCES_SHOW_HIDDEN_FILES,
|
||||
PREFERENCE_BOOLEAN,
|
||||
GINT_TO_POINTER (FALSE)
|
||||
diff --git a/libnautilus-private/nautilus-global-preferences.h b/libnautilus-private/nautilus-global-preferences.h
|
||||
index e6d0301..96dc6e2 100644
|
||||
--- a/libnautilus-private/nautilus-global-preferences.h
|
||||
+++ b/libnautilus-private/nautilus-global-preferences.h
|
||||
Index: nautilus-2.23.4/libnautilus-private/nautilus-global-preferences.h
|
||||
===================================================================
|
||||
--- nautilus-2.23.4.orig/libnautilus-private/nautilus-global-preferences.h
|
||||
+++ nautilus-2.23.4/libnautilus-private/nautilus-global-preferences.h
|
||||
@@ -30,6 +30,8 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
@ -73,11 +73,11 @@ index e6d0301..96dc6e2 100644
|
||||
/* Which theme is active */
|
||||
#define NAUTILUS_PREFERENCES_THEME "/desktop/gnome/file_views/icon_theme"
|
||||
|
||||
diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c
|
||||
index f23434c..2a505a7 100644
|
||||
--- a/src/file-manager/fm-directory-view.c
|
||||
+++ b/src/file-manager/fm-directory-view.c
|
||||
@@ -7288,6 +7288,12 @@ fm_directory_view_pop_up_selection_context_menu (FMDirectoryView *view,
|
||||
Index: nautilus-2.23.4/src/file-manager/fm-directory-view.c
|
||||
===================================================================
|
||||
--- nautilus-2.23.4.orig/src/file-manager/fm-directory-view.c
|
||||
+++ nautilus-2.23.4/src/file-manager/fm-directory-view.c
|
||||
@@ -7568,6 +7568,12 @@ fm_directory_view_pop_up_selection_conte
|
||||
{
|
||||
g_assert (FM_IS_DIRECTORY_VIEW (view));
|
||||
|
||||
@ -90,7 +90,7 @@ index f23434c..2a505a7 100644
|
||||
/* Make the context menu items not flash as they update to proper disabled,
|
||||
* etc. states by forcing menus to update now.
|
||||
*/
|
||||
@@ -7317,6 +7323,12 @@ fm_directory_view_pop_up_background_context_menu (FMDirectoryView *view,
|
||||
@@ -7597,6 +7603,12 @@ fm_directory_view_pop_up_background_cont
|
||||
{
|
||||
g_assert (FM_IS_DIRECTORY_VIEW (view));
|
||||
|
||||
@ -103,8 +103,8 @@ index f23434c..2a505a7 100644
|
||||
/* Make the context menu items not flash as they update to proper disabled,
|
||||
* etc. states by forcing menus to update now.
|
||||
*/
|
||||
@@ -7345,6 +7357,12 @@ fm_directory_view_pop_up_location_context_menu (FMDirectoryView *view,
|
||||
{
|
||||
@@ -7704,6 +7716,12 @@ fm_directory_view_pop_up_location_contex
|
||||
|
||||
g_assert (FM_IS_DIRECTORY_VIEW (view));
|
||||
|
||||
+ if (eel_preferences_get_boolean (NAUTILUS_LOCKDOWN_DISABLE_CONTEXT_MENUS)) {
|
||||
@ -113,6 +113,6 @@ index f23434c..2a505a7 100644
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
/* always update the menu before showing it. Shouldn't be too expensive. */
|
||||
real_update_location_menu (view);
|
||||
|
||||
if (location != NULL) {
|
||||
file = nautilus_file_get_by_uri (location);
|
||||
} else {
|
||||
|
@ -24,11 +24,11 @@
|
||||
(nautilus_file_should_show): Don't show foreign links in the
|
||||
desktop directory.
|
||||
|
||||
diff --git a/libnautilus-private/nautilus-directory-async.c b/libnautilus-private/nautilus-directory-async.c
|
||||
index c1d0a0a..36eb02f 100644
|
||||
--- a/libnautilus-private/nautilus-directory-async.c
|
||||
+++ b/libnautilus-private/nautilus-directory-async.c
|
||||
@@ -198,7 +198,8 @@ static void link_info_done (NautilusDirectory
|
||||
Index: nautilus-2.23.4/libnautilus-private/nautilus-directory-async.c
|
||||
===================================================================
|
||||
--- nautilus-2.23.4.orig/libnautilus-private/nautilus-directory-async.c
|
||||
+++ nautilus-2.23.4/libnautilus-private/nautilus-directory-async.c
|
||||
@@ -199,7 +199,8 @@ static void link_info_done
|
||||
const char *uri,
|
||||
const char *name,
|
||||
const char *icon,
|
||||
@ -38,7 +38,7 @@ index c1d0a0a..36eb02f 100644
|
||||
static void move_file_to_low_priority_queue (NautilusDirectory *directory,
|
||||
NautilusFile *file);
|
||||
static void move_file_to_extension_queue (NautilusDirectory *directory,
|
||||
@@ -1716,7 +1717,7 @@ lacks_link_info (NautilusFile *file)
|
||||
@@ -1717,7 +1718,7 @@ lacks_link_info (NautilusFile *file)
|
||||
if (nautilus_file_is_nautilus_link (file)) {
|
||||
return TRUE;
|
||||
} else {
|
||||
@ -47,7 +47,7 @@ index c1d0a0a..36eb02f 100644
|
||||
return FALSE;
|
||||
}
|
||||
} else {
|
||||
@@ -3515,7 +3516,8 @@ link_info_done (NautilusDirectory *directory,
|
||||
@@ -3558,7 +3559,8 @@ link_info_done (NautilusDirectory *direc
|
||||
const char *uri,
|
||||
const char *name,
|
||||
const char *icon,
|
||||
@ -57,7 +57,7 @@ index c1d0a0a..36eb02f 100644
|
||||
{
|
||||
file->details->link_info_is_up_to_date = TRUE;
|
||||
|
||||
@@ -3533,6 +3535,7 @@ link_info_done (NautilusDirectory *directory,
|
||||
@@ -3576,6 +3578,7 @@ link_info_done (NautilusDirectory *direc
|
||||
}
|
||||
file->details->custom_icon = g_strdup (icon);
|
||||
file->details->is_launcher = is_launcher;
|
||||
@ -65,7 +65,7 @@ index c1d0a0a..36eb02f 100644
|
||||
|
||||
nautilus_directory_async_state_changed (directory);
|
||||
}
|
||||
@@ -3579,6 +3582,7 @@ link_info_got_data (NautilusDirectory *directory,
|
||||
@@ -3622,6 +3625,7 @@ link_info_got_data (NautilusDirectory *d
|
||||
{
|
||||
char *uri, *name, *icon;
|
||||
gboolean is_launcher;
|
||||
@ -73,7 +73,7 @@ index c1d0a0a..36eb02f 100644
|
||||
|
||||
nautilus_directory_ref (directory);
|
||||
|
||||
@@ -3586,17 +3590,18 @@ link_info_got_data (NautilusDirectory *directory,
|
||||
@@ -3629,17 +3633,18 @@ link_info_got_data (NautilusDirectory *d
|
||||
name = NULL;
|
||||
icon = NULL;
|
||||
is_launcher = FALSE;
|
||||
@ -94,7 +94,7 @@ index c1d0a0a..36eb02f 100644
|
||||
nautilus_file_changed (file);
|
||||
nautilus_file_unref (file);
|
||||
|
||||
@@ -3684,7 +3689,7 @@ link_info_start (NautilusDirectory *directory,
|
||||
@@ -3727,7 +3732,7 @@ link_info_start (NautilusDirectory *dire
|
||||
|
||||
/* If it's not a link we are done. If it is, we need to read it. */
|
||||
if (!nautilus_style_link) {
|
||||
@ -103,11 +103,11 @@ index c1d0a0a..36eb02f 100644
|
||||
} else if (should_read_link_info_sync (file)) {
|
||||
result = g_file_load_contents (location, NULL, &file_contents, &file_size, NULL, NULL);
|
||||
link_info_got_data (directory, file, result, file_size, file_contents);
|
||||
diff --git a/libnautilus-private/nautilus-file-private.h b/libnautilus-private/nautilus-file-private.h
|
||||
index 8420a7e..2552cf9 100644
|
||||
--- a/libnautilus-private/nautilus-file-private.h
|
||||
+++ b/libnautilus-private/nautilus-file-private.h
|
||||
@@ -190,6 +190,7 @@ struct NautilusFileDetails
|
||||
Index: nautilus-2.23.4/libnautilus-private/nautilus-file-private.h
|
||||
===================================================================
|
||||
--- nautilus-2.23.4.orig/libnautilus-private/nautilus-file-private.h
|
||||
+++ nautilus-2.23.4/libnautilus-private/nautilus-file-private.h
|
||||
@@ -191,6 +191,7 @@ struct NautilusFileDetails
|
||||
eel_boolean_bit has_open_window : 1;
|
||||
|
||||
eel_boolean_bit is_launcher : 1;
|
||||
@ -115,11 +115,11 @@ index 8420a7e..2552cf9 100644
|
||||
eel_boolean_bit is_symlink : 1;
|
||||
eel_boolean_bit is_mountpoint : 1;
|
||||
eel_boolean_bit is_hidden : 1;
|
||||
diff --git a/libnautilus-private/nautilus-file.c b/libnautilus-private/nautilus-file.c
|
||||
index 88139eb..23f01df 100644
|
||||
--- a/libnautilus-private/nautilus-file.c
|
||||
+++ b/libnautilus-private/nautilus-file.c
|
||||
@@ -323,6 +323,7 @@ nautilus_file_clear_info (NautilusFile *file)
|
||||
Index: nautilus-2.23.4/libnautilus-private/nautilus-file.c
|
||||
===================================================================
|
||||
--- nautilus-2.23.4.orig/libnautilus-private/nautilus-file.c
|
||||
+++ nautilus-2.23.4/libnautilus-private/nautilus-file.c
|
||||
@@ -323,6 +323,7 @@ nautilus_file_clear_info (NautilusFile *
|
||||
file->details->thumbnailing_failed = FALSE;
|
||||
|
||||
file->details->is_launcher = FALSE;
|
||||
@ -127,17 +127,19 @@ index 88139eb..23f01df 100644
|
||||
file->details->is_symlink = FALSE;
|
||||
file->details->is_hidden = FALSE;
|
||||
file->details->is_backup = FALSE;
|
||||
@@ -2705,7 +2706,8 @@ nautilus_file_should_show (NautilusFile *file,
|
||||
gboolean show_hidden,
|
||||
gboolean show_backup)
|
||||
{
|
||||
@@ -2731,7 +2732,10 @@ nautilus_file_should_show (NautilusFile
|
||||
if (nautilus_file_is_in_trash (file)) {
|
||||
return TRUE;
|
||||
} else {
|
||||
- return (show_hidden || (!nautilus_file_is_hidden_file (file) && !is_file_hidden (file))) &&
|
||||
+ return (show_hidden || (!nautilus_file_is_hidden_file (file) && !is_file_hidden (file) &&
|
||||
+ !(nautilus_file_is_in_desktop (file) && nautilus_file_is_foreign_link (file)))) &&
|
||||
+ return (show_hidden ||
|
||||
+ (!nautilus_file_is_hidden_file (file) && !is_file_hidden (file) &&
|
||||
+ !(nautilus_file_is_in_desktop (file)
|
||||
+ && nautilus_file_is_foreign_link (file)))) &&
|
||||
(show_backup || !nautilus_file_is_backup_file (file));
|
||||
|
||||
}
|
||||
@@ -3038,6 +3040,12 @@ nautilus_file_is_launcher (NautilusFile *file)
|
||||
}
|
||||
@@ -3080,6 +3084,12 @@ nautilus_file_is_launcher (NautilusFile
|
||||
}
|
||||
|
||||
gboolean
|
||||
@ -150,11 +152,11 @@ index 88139eb..23f01df 100644
|
||||
nautilus_file_has_activation_uri (NautilusFile *file)
|
||||
{
|
||||
return file->details->activation_location != NULL;
|
||||
diff --git a/libnautilus-private/nautilus-file.h b/libnautilus-private/nautilus-file.h
|
||||
index 99e0aeb..9db13f9 100644
|
||||
--- a/libnautilus-private/nautilus-file.h
|
||||
+++ b/libnautilus-private/nautilus-file.h
|
||||
@@ -378,6 +378,7 @@ GList *nautilus_file_list_filter_hidden_and_backup (GList
|
||||
Index: nautilus-2.23.4/libnautilus-private/nautilus-file.h
|
||||
===================================================================
|
||||
--- nautilus-2.23.4.orig/libnautilus-private/nautilus-file.h
|
||||
+++ nautilus-2.23.4/libnautilus-private/nautilus-file.h
|
||||
@@ -380,6 +380,7 @@ GList *nautilus_file_li
|
||||
* Getting this can require reading the contents of the file.
|
||||
*/
|
||||
gboolean nautilus_file_is_launcher (NautilusFile *file);
|
||||
@ -162,11 +164,11 @@ index 99e0aeb..9db13f9 100644
|
||||
gboolean nautilus_file_has_activation_uri (NautilusFile *file);
|
||||
char * nautilus_file_get_activation_uri (NautilusFile *file);
|
||||
GFile * nautilus_file_get_activation_location (NautilusFile *file);
|
||||
diff --git a/libnautilus-private/nautilus-link.c b/libnautilus-private/nautilus-link.c
|
||||
index abe244a..a6625d7 100644
|
||||
--- a/libnautilus-private/nautilus-link.c
|
||||
+++ b/libnautilus-private/nautilus-link.c
|
||||
@@ -406,16 +406,36 @@ nautilus_link_local_get_link_uri (const char *uri)
|
||||
Index: nautilus-2.23.4/libnautilus-private/nautilus-link.c
|
||||
===================================================================
|
||||
--- nautilus-2.23.4.orig/libnautilus-private/nautilus-link.c
|
||||
+++ nautilus-2.23.4/libnautilus-private/nautilus-link.c
|
||||
@@ -406,16 +406,36 @@ nautilus_link_local_get_link_uri (const
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -204,7 +206,7 @@ index abe244a..a6625d7 100644
|
||||
|
||||
if (!is_link_data (file_contents, link_file_size)) {
|
||||
return;
|
||||
@@ -437,7 +457,20 @@ nautilus_link_get_link_info_given_file_contents (const char *file_contents,
|
||||
@@ -437,7 +457,20 @@ nautilus_link_get_link_info_given_file_c
|
||||
gnome_desktop_item_get_string (desktop_file, "Exec") != NULL) {
|
||||
*is_launcher = TRUE;
|
||||
}
|
||||
@ -226,11 +228,11 @@ index abe244a..a6625d7 100644
|
||||
gnome_desktop_item_unref (desktop_file);
|
||||
}
|
||||
|
||||
diff --git a/libnautilus-private/nautilus-link.h b/libnautilus-private/nautilus-link.h
|
||||
index 4a5eb94..aba3103 100644
|
||||
--- a/libnautilus-private/nautilus-link.h
|
||||
+++ b/libnautilus-private/nautilus-link.h
|
||||
@@ -46,7 +46,8 @@ void nautilus_link_get_link_info_given_file_contents (const char
|
||||
Index: nautilus-2.23.4/libnautilus-private/nautilus-link.h
|
||||
===================================================================
|
||||
--- nautilus-2.23.4.orig/libnautilus-private/nautilus-link.h
|
||||
+++ nautilus-2.23.4/libnautilus-private/nautilus-link.h
|
||||
@@ -46,7 +46,8 @@ void nautilus_link_get_link_
|
||||
char **uri,
|
||||
char **name,
|
||||
char **icon,
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff -upr nautilus-2.22.2-pre/src/nautilus-image-properties-page.c nautilus-2.22.2-post/src/nautilus-image-properties-page.c
|
||||
--- nautilus-2.22.2-pre/src/nautilus-image-properties-page.c 2008-03-29 03:40:25.000000000 -0600
|
||||
+++ nautilus-2.22.2-post/src/nautilus-image-properties-page.c 2008-05-01 01:17:45.000000000 -0500
|
||||
@@ -228,7 +228,7 @@ append_tag_value_pair (GString *string,
|
||||
static void
|
||||
append_exifdata_string (ExifData *exifdata, GString *string)
|
||||
{
|
||||
- if (exifdata->ifd[0] && exifdata->ifd[0]->count) {
|
||||
+ if (exifdata && exifdata->ifd[0] && exifdata->ifd[0]->count) {
|
||||
append_tag_value_pair (string, exifdata, EXIF_TAG_MAKE, _("Camera Brand"));
|
||||
append_tag_value_pair (string, exifdata, EXIF_TAG_MODEL, _("Camera Model"));
|
||||
|
||||
Only in nautilus-2.22.2-post/src: nautilus-image-properties-page.c~
|
@ -1,61 +0,0 @@
|
||||
--- branches/gnome-2-22/libnautilus-private/nautilus-file-operations.c 2008/05/13 12:49:14 14159
|
||||
+++ branches/gnome-2-22/libnautilus-private/nautilus-file-operations.c 2008/05/13 12:50:09 14160
|
||||
@@ -4779,15 +4779,44 @@
|
||||
gpointer done_callback_data)
|
||||
{
|
||||
GList *locations;
|
||||
+ GList *p;
|
||||
GFile *dest, *src_dir;
|
||||
GtkWindow *parent_window;
|
||||
-
|
||||
+ gboolean target_is_mapping;
|
||||
+ gboolean have_nonmapping_source;
|
||||
+ char *file_scheme;
|
||||
+
|
||||
dest = NULL;
|
||||
+ target_is_mapping = FALSE;
|
||||
+ have_nonmapping_source = FALSE;
|
||||
+
|
||||
if (target_dir) {
|
||||
dest = g_file_new_for_uri (target_dir);
|
||||
+ file_scheme = g_file_get_uri_scheme (dest);
|
||||
+ if (strcmp (file_scheme, "burn") == 0) {
|
||||
+ target_is_mapping = TRUE;
|
||||
+ }
|
||||
+ g_free (file_scheme);
|
||||
}
|
||||
locations = location_list_from_uri_list (item_uris);
|
||||
-
|
||||
+
|
||||
+ for (p = location_list_from_uri_list (item_uris); p != NULL; p = p->next) {
|
||||
+ file_scheme = g_file_get_uri_scheme ((GFile *)p->data);
|
||||
+
|
||||
+ if (strcmp (file_scheme, "burn") != 0) {
|
||||
+ have_nonmapping_source = TRUE;
|
||||
+ }
|
||||
+
|
||||
+ g_free (file_scheme);
|
||||
+ }
|
||||
+
|
||||
+ if (target_is_mapping && have_nonmapping_source && copy_action == GDK_ACTION_MOVE) {
|
||||
+ /* never move to "burn:///", but fall back to copy.
|
||||
+ * This is a workaround, because otherwise the source files would be removed.
|
||||
+ */
|
||||
+ copy_action = GDK_ACTION_COPY;
|
||||
+ }
|
||||
+
|
||||
parent_window = NULL;
|
||||
if (parent_view) {
|
||||
parent_window = (GtkWindow *)gtk_widget_get_ancestor (parent_view, GTK_TYPE_WINDOW);
|
||||
--- branches/gnome-2-22/src/file-manager/fm-properties-window.c 2008/05/13 12:49:14 14159
|
||||
+++ branches/gnome-2-22/src/file-manager/fm-properties-window.c 2008/05/13 12:50:09 14160
|
||||
@@ -5416,6 +5416,9 @@
|
||||
g_list_free (window->details->permission_buttons);
|
||||
window->details->permission_buttons = NULL;
|
||||
|
||||
+ g_list_free (window->details->permission_combos);
|
||||
+ window->details->permission_combos = NULL;
|
||||
+
|
||||
if (window->details->initial_permissions) {
|
||||
g_hash_table_destroy (window->details->initial_permissions);
|
||||
window->details->initial_permissions = NULL;
|
35
nautilus-bnc397852-huge-memory-leak.patch
Normal file
35
nautilus-bnc397852-huge-memory-leak.patch
Normal file
@ -0,0 +1,35 @@
|
||||
Index: src/nautilus-window.c
|
||||
===================================================================
|
||||
--- src/nautilus-window.c (révision 14232)
|
||||
+++ src/nautilus-window.c (copie de travail)
|
||||
@@ -201,27 +201,16 @@ nautilus_window_ui_update (NautilusWindo
|
||||
gtk_ui_manager_ensure_update (window->details->ui_manager);
|
||||
}
|
||||
|
||||
-static gboolean
|
||||
-nautilus_window_clear_status (gpointer callback_data)
|
||||
-{
|
||||
- NautilusWindow *window;
|
||||
-
|
||||
- window = NAUTILUS_WINDOW (callback_data);
|
||||
-
|
||||
- gtk_statusbar_pop (GTK_STATUSBAR (window->details->statusbar), 0); /* clear any previous message, underflow is allowed */
|
||||
-
|
||||
- return FALSE;
|
||||
-}
|
||||
-
|
||||
void
|
||||
nautilus_window_set_status (NautilusWindow *window, const char *text)
|
||||
{
|
||||
g_return_if_fail (NAUTILUS_IS_WINDOW (window));
|
||||
|
||||
+ /* clear any previous message, underflow is allowed */
|
||||
+ gtk_statusbar_pop (GTK_STATUSBAR (window->details->statusbar), 0);
|
||||
+
|
||||
if (text != NULL && text[0] != '\0') {
|
||||
gtk_statusbar_push (GTK_STATUSBAR (window->details->statusbar), 0, text);
|
||||
- } else {
|
||||
- nautilus_window_clear_status (window);
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,30 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 8 22:00:26 CEST 2008 - hpj@suse.de
|
||||
Fri Jun 20 18:09:05 CEST 2008 - maw@suse.de
|
||||
|
||||
- Update to version 2.23.4:
|
||||
+ Support new gnome-session autostart semantics
|
||||
+ Add initial Gtk-doc support
|
||||
+ Many other improvements; for a fuller account, see the NEWS
|
||||
file
|
||||
+ Updated translations
|
||||
+ Drop obsolete patches:
|
||||
nautilus-bgo364843-name-copy-dont-overflow-max-path-len.diff,
|
||||
nautilus-bnc376070-null-exifdata-crash.patch, and
|
||||
nautilus-bnc393226-dont-move-to-burn.patchn
|
||||
+ Respin the following patches:
|
||||
nautilus-bnc366100-bgo338933-ignore-foreign-desktop-files.diff
|
||||
and nautilus-bnc363122-lockdown-context-menus.diff.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jun 7 05:13:17 CEST 2008 - hpj@suse.de
|
||||
|
||||
- Back out nautilus-bnc376669-always-update-thumbnail.patch
|
||||
(bnc#376669). It was causing continuous re-thumbnailing.
|
||||
(bnc#376669).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 6 14:11:22 CEST 2008 - rodrigo@suse.de
|
||||
|
||||
- Add nautilus-bnc397852-huge-memory-leak.patch (bnc#397852)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 22 00:50:50 CEST 2008 - hpj@suse.de
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package nautilus (Version 2.22.2)
|
||||
# spec file for package nautilus (Version 2.23.4)
|
||||
#
|
||||
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# This file and all modifications and additions to the pristine
|
||||
@ -12,17 +12,15 @@
|
||||
|
||||
|
||||
Name: nautilus
|
||||
BuildRequires: cdparanoia eel-devel fdupes gnome-common gnome-desktop-devel gnome-icon-theme gnome-patch-translation gvfs-devel intltool libbeagle-devel libexempi-devel libexif-devel libgnomeui-devel libidl-devel librsvg-devel perl-XML-Parser update-desktop-files
|
||||
BuildRequires: cdparanoia eel-devel fdupes gnome-common gnome-desktop-devel gnome-icon-theme gnome-patch-translation gtk-doc gvfs-devel intltool libbeagle-devel libexempi-devel libexif-devel libgnomeui-devel libidl-devel librsvg-devel perl-XML-Parser update-desktop-files
|
||||
License: GPL v2 or later
|
||||
Group: Productivity/File utilities
|
||||
Version: 2.22.2
|
||||
Release: 31
|
||||
Version: 2.23.4
|
||||
Release: 1
|
||||
Summary: The GNOME 2.x Desktop File Manager
|
||||
Source: ftp://ftp.gnome.org/pub/gnome/sources/nautilus/2.20/%{name}-%{version}.tar.bz2
|
||||
Url: http://www.gnome.org
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
# PATCH-FIX-UPSTREAM nautilus-bgo364843-name-copy-dont-overflow-max-path-len.diff bgo364843 -- make "longfilename (copy).txt" not overflow the maximum filename length
|
||||
Patch2: nautilus-bgo364843-name-copy-dont-overflow-max-path-len.diff
|
||||
# PATCH-FIX-UPSTREAM nautilus-bgo350950-search-desktop.diff bgo350950 federico@novell.com -- add a desktop file for Nautilus search interface
|
||||
Patch4: nautilus-bgo350950-search-desktop.diff
|
||||
# PATCH-FIX-UPSTREAM nautilus-bnc117333-bgo350962-folder-icon-for-menus-and-windows.diff bnc117333 bgo350962 federico@novell.com - Use a folder icon instead of a file cabinet window
|
||||
@ -50,10 +48,8 @@ Patch19: nautilus-desktop-icon.patch
|
||||
Patch20: nautilus-bnc363122-lockdown-context-menus.diff
|
||||
# PATCH-FEATURE-UPSTREAM nautilus-bnc368446-network-in-places.patch bnc368446 bgo350974 vuntz@novell.com -- Add network:// in the places sidebar
|
||||
Patch21: nautilus-bnc368446-network-in-places.patch
|
||||
# PATCH-FIX-UPSTREAM nautilus-bnc-376070-null-exifdata-crash.patch bnc376070 hpj@novell.com
|
||||
Patch22: nautilus-bnc376070-null-exifdata-crash.patch
|
||||
# PATCH-FIX-UPSTREAM nautilus-bnc393226-dont-move-to-burn.patch bgo531750 bnc393226 hpj@novell.com
|
||||
Patch24: nautilus-bnc393226-dont-move-to-burn.patch
|
||||
# PATCH-FIX-UPSTREMA nautilus-bnc397852-huge-memory-leak.patch bnc397852 bgo536968 vuntz@novell.com
|
||||
Patch25: nautilus-bnc397852-huge-memory-leak.patch
|
||||
Requires: gnome-icon-theme
|
||||
Requires: %{name}-lang = %{version}
|
||||
Requires: gvfs
|
||||
@ -86,7 +82,6 @@ features of the Nautilus file manager.
|
||||
%prep
|
||||
%setup -q
|
||||
gnome-patch-translation-prepare
|
||||
%patch2 -p1
|
||||
%if ! %sles_version
|
||||
%patch4 -p1
|
||||
%endif
|
||||
@ -103,8 +98,7 @@ gnome-patch-translation-prepare
|
||||
%patch19 -p1
|
||||
%patch20 -p1
|
||||
%patch21
|
||||
%patch22 -p1
|
||||
%patch24 -p2
|
||||
%patch25
|
||||
gnome-patch-translation-update
|
||||
|
||||
%build
|
||||
@ -175,6 +169,7 @@ fi
|
||||
%{_datadir}/icons/hicolor/*/*/*.*
|
||||
%{_libdir}/*.so.*
|
||||
%{_libdir}/bonobo/servers/*.server
|
||||
%{_mandir}/man1/nautilus*.1.gz
|
||||
%dir %{_libdir}/nautilus
|
||||
%dir %{_libdir}/nautilus/extensions-1.0
|
||||
%dir %{_libdir}/nautilus/extensions-2.0
|
||||
@ -186,11 +181,29 @@ fi
|
||||
%{_libdir}/*.so
|
||||
%{_includedir}/*
|
||||
%{_libdir}/pkgconfig/*.pc
|
||||
# I'd put this in a -doc package, but it's only useful for developers AFAICT
|
||||
%{_datadir}/gtk-doc/html/libnautilus-extension
|
||||
|
||||
%changelog
|
||||
* Mon Jun 09 2008 hpj@suse.de
|
||||
* Fri Jun 20 2008 maw@suse.de
|
||||
- Update to version 2.23.4:
|
||||
+ Support new gnome-session autostart semantics
|
||||
+ Add initial Gtk-doc support
|
||||
+ Many other improvements; for a fuller account, see the NEWS
|
||||
file
|
||||
+ Updated translations
|
||||
+ Drop obsolete patches:
|
||||
nautilus-bgo364843-name-copy-dont-overflow-max-path-len.diff,
|
||||
nautilus-bnc376070-null-exifdata-crash.patch, and
|
||||
nautilus-bnc393226-dont-move-to-burn.patchn
|
||||
+ Respin the following patches:
|
||||
nautilus-bnc366100-bgo338933-ignore-foreign-desktop-files.diff
|
||||
and nautilus-bnc363122-lockdown-context-menus.diff.
|
||||
* Sat Jun 07 2008 hpj@suse.de
|
||||
- Back out nautilus-bnc376669-always-update-thumbnail.patch
|
||||
(bnc#376669). It was causing continuous re-thumbnailing.
|
||||
(bnc#376669).
|
||||
* Fri Jun 06 2008 rodrigo@suse.de
|
||||
- Add nautilus-bnc397852-huge-memory-leak.patch (bnc#397852)
|
||||
* Thu May 22 2008 hpj@suse.de
|
||||
- Add nautilus-bnc393226-dont-move-to-burn.patch (bnc#393226).
|
||||
* Tue May 20 2008 hpj@suse.de
|
||||
|
Loading…
Reference in New Issue
Block a user