summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJekyll Wu <adaptee@gmail.com>2012-05-17 11:53:51 (GMT)
committerJekyll Wu <adaptee@gmail.com>2012-05-17 12:09:04 (GMT)
commitcc72338175bd8c08d4998de606e0a48ee9e6d54f (patch)
tree09a416882b11a88e5712f5ecb81184506e72d3b7
parentefae7d95366a240b953425a1ee6dea15de45332c (diff)
Memory-based history should save and restore the 'isRealCharacter' fieldv4.8.4
Apparently I didn't take a close look at the implementation detail of memory-based history when I added the 'isRealCharacter' flag. That missing information causes some wrong behaviors randomly when using memory-based history. This is a follow up of commit dc2b64d33(for BUG 188528) BUG: 294330 BUG: 299252 FIXED-IN: 4.8.4 (cherry picked from commit f2151c5e29f13722bf00ba0fba31573211fc2e09)
-rw-r--r--src/History.cpp1
-rw-r--r--src/History.h2
2 files changed, 3 insertions, 0 deletions
diff --git a/src/History.cpp b/src/History.cpp
index 2049978..fbeb9cb 100644
--- a/src/History.cpp
+++ b/src/History.cpp
@@ -662,6 +662,7 @@ void CompactHistoryLine::getCharacter ( int index, Character& r )
r.rendition = formatArray[formatPos].rendition;
r.foregroundColor = formatArray[formatPos].fgColor;
r.backgroundColor = formatArray[formatPos].bgColor;
+ r.isRealCharacter = formatArray[formatPos].isRealCharacter;
}
void CompactHistoryLine::getCharacters ( Character* array, int length, int startColumn )
diff --git a/src/History.h b/src/History.h
index 2ab3bc2..441df90 100644
--- a/src/History.h
+++ b/src/History.h
@@ -272,11 +272,13 @@ public:
rendition=c.rendition;
fgColor=c.foregroundColor;
bgColor=c.backgroundColor;
+ isRealCharacter = c.isRealCharacter;
}
CharacterColor fgColor, bgColor;
quint16 startPos;
quint8 rendition;
+ bool isRealCharacter;
};
class CompactHistoryBlock