diff --git a/src/frontend/terminaloverlay.cc b/src/frontend/terminaloverlay.cc index 1f83924..06cce3b 100644 --- a/src/frontend/terminaloverlay.cc +++ b/src/frontend/terminaloverlay.cc @@ -388,6 +388,13 @@ void PredictionEngine::cull( const Framebuffer &fb ) return; } + if ( (last_height != fb.ds.get_height()) + || (last_width != fb.ds.get_width()) ) { + last_height = fb.ds.get_height(); + last_width = fb.ds.get_width(); + reset(); + } + uint64_t now = timestamp(); /* control srtt_trigger with hysteresis */ diff --git a/src/frontend/terminaloverlay.h b/src/frontend/terminaloverlay.h index a0880a6..d4bde26 100644 --- a/src/frontend/terminaloverlay.h +++ b/src/frontend/terminaloverlay.h @@ -191,6 +191,8 @@ namespace Overlay { unsigned int send_interval; + int last_height, last_width; + public: enum DisplayPreference { Always, @@ -227,6 +229,7 @@ namespace Overlay { glitch_trigger( 0 ), last_quick_confirmation( 0 ), send_interval( 250 ), + last_height( 0 ), last_width( 0 ), display_preference( Adaptive ) { }