diff --git a/data/ui/year-view.ui b/data/ui/year-view.ui
index 23b75e7e..4fdb7870 100644
--- a/data/ui/year-view.ui
+++ b/data/ui/year-view.ui
@@ -26,6 +26,7 @@
+
diff --git a/src/gcal-year-view.c b/src/gcal-year-view.c
index 1e7a50c9..79911f18 100644
--- a/src/gcal-year-view.c
+++ b/src/gcal-year-view.c
@@ -1375,6 +1375,19 @@ navigator_drag_drop_cb (GcalYearView *self,
return TRUE;
}
+static void
+navigator_drag_leave_cb (GcalYearView *self,
+ GdkDragContext *context,
+ guint time,
+ GtkWidget *navigator)
+{
+ /* Cancel the DnD after the event is dropped */
+ self->selected_data->dnd_day = -1;
+ self->selected_data->dnd_month = -1;
+
+ gtk_widget_queue_draw (navigator);
+}
+
static void
gcal_year_view_finalize (GObject *object)
{
@@ -1770,6 +1783,7 @@ gcal_year_view_class_init (GcalYearViewClass *klass)
gtk_widget_class_bind_template_callback (widget_class, navigator_button_press_cb);
gtk_widget_class_bind_template_callback (widget_class, navigator_button_release_cb);
gtk_widget_class_bind_template_callback (widget_class, navigator_drag_drop_cb);
+ gtk_widget_class_bind_template_callback (widget_class, navigator_drag_leave_cb);
gtk_widget_class_bind_template_callback (widget_class, navigator_drag_motion_cb);
gtk_widget_class_bind_template_callback (widget_class, navigator_motion_notify_cb);
gtk_widget_class_bind_template_callback (widget_class, add_event_clicked_cb);