diff --git a/gnome/ChangeLog b/gnome/ChangeLog index 0491ce1d1..05254068c 100644 --- a/gnome/ChangeLog +++ b/gnome/ChangeLog @@ -4,6 +4,8 @@ panel->count > 0, because we may actually not have any icons in the desktop. (desktop_popup): Reload the desktop once the popup menu is done. + (create_panel_from_desktop): Be consistent with the way totals are + computed in screen.c:do_file_mark(). * gnome-file-property-dialog.c (gnome_file_property_dialog_init): Set the dialog to not destroy-on-close. diff --git a/gnome/gdesktop.c b/gnome/gdesktop.c index 239790e78..4eea859a8 100644 --- a/gnome/gdesktop.c +++ b/gnome/gdesktop.c @@ -1341,10 +1341,12 @@ create_panel_from_desktop (void) marked_count++; fe->f.marked = TRUE; - if (S_ISDIR (fe->buf.st_mode)) + if (S_ISDIR (fe->buf.st_mode)) { dir_marked_count++; - - total += fe->buf.st_size; + if (fe->f.dir_size_computed) + total += fe->buf.st_size; + } else + total += fe->buf.st_size; } g_free (full_name); diff --git a/src/ChangeLog b/src/ChangeLog index 6d1ff2dd5..ca1327f4d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,13 @@ +1999-03-12 Federico Mena Quintero + + * file.c (erase_file): Here we need to mc_lstat(), not mc_stat(). + Since we use the resulting buf.st_size to update the progress, we + need the size of unresolved links. This also makes it consistent + with screen.c:do_file_mark(). + + * screen.c (select_item): Return immediately if this is a desktop + panel. + 1999-03-12 Miguel de Icaza * subshell.c (pty_open_slave): Glibc-2.1-based Linux kernels have diff --git a/src/file.c b/src/file.c index a8d91ab24..42d468137 100644 --- a/src/file.c +++ b/src/file.c @@ -1330,7 +1330,7 @@ erase_file (FileOpContext *ctx, char *s, long *progress_count, double *progress_ return FILE_ABORT; mc_refresh (); - if (progress_count && mc_stat (s, &buf)) { + if (progress_count && mc_lstat (s, &buf)) { /* ignore, most likely the mc_unlink fails, too */ buf.st_size = 0; } diff --git a/src/screen.c b/src/screen.c index 2bc86197e..2c6a658e6 100644 --- a/src/screen.c +++ b/src/screen.c @@ -1494,6 +1494,9 @@ select_item (WPanel *panel) int old_top; old_top = panel->top_file; #endif + + if (is_a_desktop_panel (panel)) + return; if (panel->top_file < 0){ repaint = 1;