aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CellBuffer.cxx13
-rw-r--r--src/CellBuffer.h10
2 files changed, 9 insertions, 14 deletions
diff --git a/src/CellBuffer.cxx b/src/CellBuffer.cxx
index 32cc9d730..575aae584 100644
--- a/src/CellBuffer.cxx
+++ b/src/CellBuffer.cxx
@@ -329,23 +329,18 @@ public:
}
};
-Action::Action() noexcept {
- at = ActionType::start;
- position = 0;
- lenData = 0;
- mayCoalesce = false;
-}
+Action::Action() noexcept = default;
void Action::Create(ActionType at_, Sci::Position position_, const char *data_, Sci::Position lenData_, bool mayCoalesce_) {
- data = nullptr;
position = position_;
at = at_;
+ mayCoalesce = mayCoalesce_;
+ lenData = lenData_;
+ data = nullptr;
if (lenData_) {
data = std::make_unique<char[]>(lenData_);
memcpy(&data[0], data_, lenData_);
}
- lenData = lenData_;
- mayCoalesce = mayCoalesce_;
}
void Action::Clear() noexcept {
diff --git a/src/CellBuffer.h b/src/CellBuffer.h
index f0aacf8ec..b46b582c1 100644
--- a/src/CellBuffer.h
+++ b/src/CellBuffer.h
@@ -26,18 +26,18 @@ class ChangeHistory;
*/
class ILineVector;
-enum class ActionType { insert, remove, start, container };
+enum class ActionType : unsigned char { insert, remove, start, container };
/**
* Actions are used to store all the information required to perform one undo/redo step.
*/
class Action {
public:
- ActionType at;
- Sci::Position position;
+ ActionType at = ActionType::insert;
+ bool mayCoalesce = false;
+ Sci::Position position = 0;
std::unique_ptr<char[]> data;
- Sci::Position lenData;
- bool mayCoalesce;
+ Sci::Position lenData = 0;
Action() noexcept;
void Create(ActionType at_, Sci::Position position_=0, const char *data_=nullptr, Sci::Position lenData_=0, bool mayCoalesce_=true);