The patch doesn't switch back to ::expose-event (it just doesn't exist anymore in GTK3), what it does is not override GtkContainer's ::draw handler, and let the default implementation kick in (IIUC) -- plus enable GTK's double buffering on GTK3 indeed.

I believe removing the manual ::draw handler is probably correct, and there shouldn't be much need to manually propagate redraws since the default GtkContainer action is to propagate the draw to all children. Though, I must note that for some reason ScintillaGTK::DrawThis doesn't propagate to the text area.