VFS does not assert on small buffers in getwd, it now truncates.

Drops on the desktop are now always links.  If you want copy or move,
then use middle button to get the ask dialog box.

Miguel.
This commit is contained in:
Miguel de Icaza 1999-01-12 23:49:37 +00:00
parent 7b8969cbbc
commit fbb3d4d90f
6 changed files with 335 additions and 326 deletions

View File

@ -1,3 +1,11 @@
1999-01-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (desktop_drag_data_received): Drops on the desktop by
default will always be Link commands. If the user wants to
copy/move he needs to use the button-2 to do this.
(desktop_icon_info_delete): Treat links as files, not directories.
I have got enough complaints about this.
1999-01-12 Jonathan Blandford <jrb@redhat.com>
* gcmd.c (gnome_open_files): now you can open multiple files.

View File

@ -743,13 +743,18 @@ desktop_icon_info_delete (DesktopIconInfo *dii)
x_flush_events ();
full_name = g_concat_dir_and_file (desktop_directory, dii->filename);
stat (full_name, &s);
if (S_ISDIR (s.st_mode))
erase_dir (full_name, &progress_count, &progress_bytes);
else
erase_file (full_name, &progress_count, &progress_bytes, TRUE);
if (lstat (full_name, &s) != -1){
if (S_ISLNK (s.st_mode))
erase_file (full_name, &progress_count, &progress_bytes, TRUE);
else {
if (S_ISDIR (s.st_mode))
erase_dir (full_name, &progress_count, &progress_bytes);
else
erase_file (full_name, &progress_count, &progress_bytes, TRUE);
gmeta_del_icon_pos (full_name);
}
gmeta_del_icon_pos (full_name);
}
g_free (full_name);
destroy_op_win ();
@ -1574,6 +1579,15 @@ desktop_drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x,
break;
case TARGET_URI_LIST:
/*
* Unless the user is dragging with button-2 (ask action)
* drops on the desktop will be symlinks.
*
* I have got enough complaints as it is.
*/
if (context->suggested_action != GDK_ACTION_ASK)
context->suggested_action = GDK_ACTION_LINK;
retval = gdnd_drop_on_directory (context, data, desktop_directory);
if (retval)
reload_desktop_icons (x, y);

View File

@ -469,6 +469,8 @@ create_container (Dlg_head *h, char *name, char *geometry)
gtk_widget_set_uposition (GTK_WIDGET (app), xpos, ypos);
panel = panel_new (name);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 0);
gnome_app_set_contents (GNOME_APP (app), vbox);

614
po/mc.pot

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,7 @@
1999-01-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
* vfs.c (mc_get_current_wd): Do not die. Truncate the pathname.
1999-01-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
* sfs.c (redirect): tempnam returns a malloc()ed buffer.

View File

@ -635,10 +635,7 @@ mc_get_current_wd (char *buffer, int size)
{
char *cwd = mc_return_cwd();
if (strlen (cwd) > size)
vfs_die ("Current_dir size overflow.\n");
strcpy (buffer, cwd);
strncpy (buffer, cwd, size);
return buffer;
}