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