diff --git a/demos/forty/canvas.cpp b/demos/forty/canvas.cpp index 257d244370..fa94e9daa4 100644 --- a/demos/forty/canvas.cpp +++ b/demos/forty/canvas.cpp @@ -35,6 +35,15 @@ FortyCanvas::FortyCanvas(wxWindow* parent, const wxPoint& pos, const wxSize& siz m_playerDialog(0), m_leftBtnDown(false) { +#ifdef __WXMSW__ + // Unfortunately the redraw logic here is incompatible with double + // buffering under MSW, so we have to disable it. The proper solution would + // be to rewrite this logic, as this is also required to make it work under + // GTK/Wayland and macOS, where the game currently doesn't update its + // display at all. + MSWDisableComposited(); +#endif + SetScrollbars(0, 0, 0, 0); #ifdef __WXGTK__