a7a0a8
diff -up evolution-3.28.5/src/modules/webkit-editor/e-webkit-editor.c.webkitgtk-2.30 evolution-3.28.5/src/modules/webkit-editor/e-webkit-editor.c
a7a0a8
--- evolution-3.28.5/src/modules/webkit-editor/e-webkit-editor.c.webkitgtk-2.30	2018-07-30 15:37:05.000000000 +0200
a7a0a8
+++ evolution-3.28.5/src/modules/webkit-editor/e-webkit-editor.c	2020-11-30 10:37:53.797115765 +0100
a7a0a8
@@ -6111,11 +6111,12 @@ webkit_editor_drag_data_received_cb (Gtk
a7a0a8
 	    info == E_DND_TARGET_TYPE_UTF8_STRING || info == E_DND_TARGET_TYPE_STRING ||
a7a0a8
 	    info == E_DND_TARGET_TYPE_TEXT_PLAIN || info == E_DND_TARGET_TYPE_TEXT_PLAIN_UTF8) {
a7a0a8
 		gdk_drag_status (context, gdk_drag_context_get_selected_action(context), time);
a7a0a8
-		if (!GTK_WIDGET_CLASS (e_webkit_editor_parent_class)->drag_drop (widget, context, x, y, time)) {
a7a0a8
-			g_warning ("Drop failed in WebKit");
a7a0a8
+		if (!GTK_WIDGET_CLASS (e_webkit_editor_parent_class)->drag_drop ||
a7a0a8
+		    !GTK_WIDGET_CLASS (e_webkit_editor_parent_class)->drag_drop (widget, context, x, y, time)) {
a7a0a8
 			goto process_ourselves;
a7a0a8
 		} else {
a7a0a8
-			GTK_WIDGET_CLASS (e_webkit_editor_parent_class)->drag_leave(widget, context, time);
a7a0a8
+			if (GTK_WIDGET_CLASS (e_webkit_editor_parent_class)->drag_leave)
a7a0a8
+				GTK_WIDGET_CLASS (e_webkit_editor_parent_class)->drag_leave (widget, context, time);
a7a0a8
 			g_signal_stop_emission_by_name (widget, "drag-data-received");
a7a0a8
 			if (!is_move)
a7a0a8
 				webkit_editor_call_simple_extension_function (wk_editor, "DOMLastDropOperationDidCopy");
a7a0a8
@@ -6321,7 +6322,8 @@ webkit_editor_button_press_event (GtkWid
a7a0a8
 	}
a7a0a8
 
a7a0a8
 	/* Chain up to parent's button_press_event() method. */
a7a0a8
-	return GTK_WIDGET_CLASS (e_webkit_editor_parent_class)->button_press_event (widget, event);
a7a0a8
+	return GTK_WIDGET_CLASS (e_webkit_editor_parent_class)->button_press_event &&
a7a0a8
+	       GTK_WIDGET_CLASS (e_webkit_editor_parent_class)->button_press_event (widget, event);
a7a0a8
 }
a7a0a8
 
a7a0a8
 static gboolean
a7a0a8
@@ -6378,7 +6380,8 @@ webkit_editor_key_press_event (GtkWidget
a7a0a8
 	}
a7a0a8
 
a7a0a8
 	/* Chain up to parent's key_press_event() method. */
a7a0a8
-	return GTK_WIDGET_CLASS (e_webkit_editor_parent_class)->key_press_event (widget, event);
a7a0a8
+	return GTK_WIDGET_CLASS (e_webkit_editor_parent_class)->key_press_event &&
a7a0a8
+	       GTK_WIDGET_CLASS (e_webkit_editor_parent_class)->key_press_event (widget, event);
a7a0a8
 }
a7a0a8
 
a7a0a8
 static void