Prevent flickering when resizing terminals or redrawing the screen via ctrl-l
This commit is contained in:
parent
8ab4c02f42
commit
07f6bda1ba
|
@ -1,3 +1,7 @@
|
|||
2021-05-04 Markus Gans <guru.mail@muenster.de>
|
||||
* Prevent flickering when resizing terminals or redrawing
|
||||
the screen via ctrl-l
|
||||
|
||||
2021-05-02 Markus Gans <guru.mail@muenster.de>
|
||||
* Bugfix for sending multiple SIGWINCH signals from
|
||||
gnome-terminal under Wayland
|
||||
|
|
|
@ -2058,7 +2058,8 @@ bool FVTerm::clearTerm (wchar_t fillchar) const
|
|||
appendAttributes (next_attribute);
|
||||
|
||||
if ( ! ( (cl || cd || cb) && (normal || ut) )
|
||||
|| fillchar != L' ' )
|
||||
|| fillchar != L' '
|
||||
|| ! draw_completed )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -949,7 +949,9 @@ void FWidget::resize()
|
|||
|
||||
resizeVTerm (term_geometry.getSize());
|
||||
resizeArea (term_geometry, getShadow(), getVirtualDesktop());
|
||||
startDrawing(); // Avoid flickering - no update during adjustment
|
||||
adjustSizeGlobal();
|
||||
finishDrawing();
|
||||
}
|
||||
else
|
||||
adjustSize();
|
||||
|
|
|
@ -258,8 +258,14 @@ void FTermDataTest::dataTest()
|
|||
CPPUNIT_ASSERT ( data.isMonochron() == true );
|
||||
|
||||
CPPUNIT_ASSERT ( data.hasTermResized() == false );
|
||||
data.setTermResized (true);
|
||||
data.setTermResized (true); // one signal
|
||||
CPPUNIT_ASSERT ( data.hasTermResized() == true );
|
||||
data.setTermResized (true); // two signals
|
||||
CPPUNIT_ASSERT ( data.hasTermResized() == true );
|
||||
data.setTermResized (false); // one signal
|
||||
CPPUNIT_ASSERT ( data.hasTermResized() == true );
|
||||
data.setTermResized (false); // no signal
|
||||
CPPUNIT_ASSERT ( data.hasTermResized() == false );
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue