data-device.c: Handle failure to allocate offer in weston_drag_set_focus

If we fail to allocate and send the offer, don't send the drag enter and
don't set the drag focus so we don't send motion events or leave.
diff --git a/src/data-device.c b/src/data-device.c
index 4e3f4fc..d05b538 100644
--- a/src/data-device.c
+++ b/src/data-device.c
@@ -238,6 +238,8 @@
 	if (drag->data_source)
 		offer = weston_data_source_send_offer(drag->data_source,
 						      resource);
+	if (offer == NULL)
+		return;
 
 	wl_data_device_send_enter(resource, serial, surface->resource,
 				  sx, sy, offer);