Bug fix in FTerm updateVTerm() for updates from vdesktop
This commit is contained in:
parent
28c4a61997
commit
07fbe91cea
|
@ -1,3 +1,6 @@
|
||||||
|
2016-06-16 Markus Gans <guru.mail@muenster.de>
|
||||||
|
* Bug fix in FTerm updateVTerm() for updates from vdesktop
|
||||||
|
|
||||||
2016-06-13 Markus Gans <guru.mail@muenster.de>
|
2016-06-13 Markus Gans <guru.mail@muenster.de>
|
||||||
* Improved title bar menu integration
|
* Improved title bar menu integration
|
||||||
|
|
||||||
|
|
|
@ -534,9 +534,9 @@ void FDialog::onMouseDown (FMouseEvent* ev)
|
||||||
if ( old_focus )
|
if ( old_focus )
|
||||||
old_focus->redraw();
|
old_focus->redraw();
|
||||||
}
|
}
|
||||||
else if ( focusFirstChild() )
|
else if ( old_focus && focusFirstChild() )
|
||||||
if ( old_focus )
|
old_focus->redraw();
|
||||||
old_focus->redraw();
|
updateTerminal();
|
||||||
}
|
}
|
||||||
if ( has_raised )
|
if ( has_raised )
|
||||||
redraw();
|
redraw();
|
||||||
|
|
|
@ -134,7 +134,7 @@ class FMouseEvent : public FEvent // mouse event
|
||||||
|
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
// class FWheelEvent
|
// class FWheelEvent
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
|
@ -282,7 +282,7 @@ void FTerm::identifyTermType()
|
||||||
//
|
//
|
||||||
// Example:
|
// Example:
|
||||||
// linux tty1
|
// linux tty1
|
||||||
// vt100 ttys0
|
// vt100 ttys0
|
||||||
|
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
|
||||||
|
@ -297,9 +297,9 @@ void FTerm::identifyTermType()
|
||||||
// get term basename
|
// get term basename
|
||||||
const char* term_basename = strrchr(term_name, '/');
|
const char* term_basename = strrchr(term_name, '/');
|
||||||
if ( term_basename == 0 )
|
if ( term_basename == 0 )
|
||||||
term_basename = term_name;
|
term_basename = term_name;
|
||||||
else
|
else
|
||||||
term_basename++;
|
term_basename++;
|
||||||
|
|
||||||
// read and parse the file
|
// read and parse the file
|
||||||
while ( fgets(str, sizeof(str)-1, fp) != 0 )
|
while ( fgets(str, sizeof(str)-1, fp) != 0 )
|
||||||
|
@ -2369,6 +2369,7 @@ void FTerm::updateVTerm (FTerm::term_area* area)
|
||||||
int ax, ay, aw, ah, rsh, bsh, y_end, ol;
|
int ax, ay, aw, ah, rsh, bsh, y_end, ol;
|
||||||
FOptiAttr::char_data* tc; // terminal character
|
FOptiAttr::char_data* tc; // terminal character
|
||||||
FOptiAttr::char_data* ac; // area character
|
FOptiAttr::char_data* ac; // area character
|
||||||
|
bool modified = false;
|
||||||
|
|
||||||
if ( ! vterm_updates )
|
if ( ! vterm_updates )
|
||||||
{
|
{
|
||||||
|
@ -2430,8 +2431,11 @@ void FTerm::updateVTerm (FTerm::term_area* area)
|
||||||
tc = &vterm->text[gy * vterm->width + gx - ol];
|
tc = &vterm->text[gy * vterm->width + gx - ol];
|
||||||
|
|
||||||
if ( ! isCovered(gx-ol, gy, area) )
|
if ( ! isCovered(gx-ol, gy, area) )
|
||||||
|
{
|
||||||
memcpy (tc, ac, sizeof(FOptiAttr::char_data));
|
memcpy (tc, ac, sizeof(FOptiAttr::char_data));
|
||||||
else
|
modified = true;
|
||||||
|
}
|
||||||
|
else if ( ! modified )
|
||||||
line_xmin++; // don't update covered character
|
line_xmin++; // don't update covered character
|
||||||
}
|
}
|
||||||
_xmin = ax + line_xmin - ol;
|
_xmin = ax + line_xmin - ol;
|
||||||
|
|
Loading…
Reference in New Issue