Skip to content

Commit e13feae

Browse files
committed
Update context.cc
1 parent a0578f9 commit e13feae

File tree

3 files changed

+16
-16
lines changed

3 files changed

+16
-16
lines changed

src/rime/context.cc

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -108,15 +108,17 @@ void Context::Clear() {
108108
}
109109

110110
bool Context::Select(size_t index) {
111-
bool result = Peek(index);
112-
if (result)
113-
composition_.back().status = Segment::kSelected;
114-
select_notifier_(this);
115-
return result;
116-
}
117-
DLOG(INFO) << "Selection changed from: " << previous_index
118-
<< " to: " << new_index;
119-
return true;
111+
if (composition_.empty())
112+
return false;
113+
Segment& seg(composition_.back());
114+
if (auto cand = seg.GetCandidateAt(index)) {
115+
seg.selected_index = index;
116+
seg.status = Segment::kSelected;
117+
DLOG(INFO) << "Selected: '" << cand->text() << "', index = " << index;
118+
select_notifier_(this);
119+
return true;
120+
}
121+
return false;
120122
}
121123

122124
bool Context::DeleteCandidate(
@@ -290,4 +292,4 @@ void Context::ClearTransientOptions() {
290292
}
291293
}
292294

293-
} // namespace rime
295+
} // namespace rime

src/rime/context.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,4 +110,4 @@ class Context {
110110

111111
} // namespace rime
112112

113-
#endif // RIME_CONTEXT_H_
113+
#endif // RIME_CONTEXT_H_

test/table_test.cc

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
#include <rime/algo/syllabifier.h>
99
#include <rime/dict/table.h>
1010

11-
1211
class RimeTableTest : public ::testing::Test {
1312
public:
1413
virtual void SetUp() {
@@ -23,9 +22,8 @@ class RimeTableTest : public ::testing::Test {
2322
}
2423
table_->Load();
2524
}
26-
virtual void TearDown() {
27-
table_->Close();
28-
}
25+
virtual void TearDown() { table_->Close(); }
26+
2927
protected:
3028
static const int total_num_entries = 8;
3129
static const char file_name[];
@@ -92,7 +90,7 @@ void RimeTableTest::PrepareSampleVocabulary(rime::Syllabary& syll,
9290
d->code.resize(3);
9391
d->code.push_back(2);
9492
d->code.push_back(1);
95-
d->text = "yi-er-san-er-yi";
93+
d->text = "yi-er-san-er-yi";
9694
(*lv4)[-1].entries.push_back(d);
9795
}
9896

0 commit comments

Comments
 (0)