aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-storage-set-view.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-storage-set-view.c')
-rw-r--r--shell/e-storage-set-view.c12
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,