diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2001-08-24 05:09:03 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2001-08-24 05:09:03 +0800 |
commit | 8aecd161b7dfd5fafa24702610bc3c930928ec22 (patch) | |
tree | f0be5e822e0a9b8119b91a6d1ff94670f168fb03 /shell/e-storage-set-view.c | |
parent | 76f3bb1c4fcc41ff194174a015695c9673210308 (diff) | |
download | gsoc2013-evolution-8aecd161b7dfd5fafa24702610bc3c930928ec22.tar.gz gsoc2013-evolution-8aecd161b7dfd5fafa24702610bc3c930928ec22.tar.zst gsoc2013-evolution-8aecd161b7dfd5fafa24702610bc3c930928ec22.zip |
[Fix #5736, crashing when copying a message with drag and drop.]
* e-storage-set-view.c (tree_drag_data_received): Handle NULL data
gracefully.
svn path=/trunk/; revision=12422
Diffstat (limited to 'shell/e-storage-set-view.c')
-rw-r--r-- | shell/e-storage-set-view.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/shell/e-storage-set-view.c b/shell/e-storage-set-view.c index a49e00f3bb..8ea0b59318 100644 --- a/shell/e-storage-set-view.c +++ b/shell/e-storage-set-view.c @@ -1275,8 +1275,16 @@ tree_drag_data_received (ETree *etree, corba_data.target = selection_data->target; corba_data.bytes._release = FALSE; - corba_data.bytes._length = selection_data->length; - corba_data.bytes._buffer = selection_data->data; + + if (selection_data->data == NULL) { + /* If data is NULL the length is -1 and this would mess things + up so we handle it separately. */ + corba_data.bytes._length = 0; + corba_data.bytes._buffer = NULL; + } else { + corba_data.bytes._length = selection_data->length; + corba_data.bytes._buffer = selection_data->data; + } /* pass off the data to the component's DestinationFolderInterface */ handled = GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleDrop (destination_folder_interface, |