Skip to content

Commit 3fc56c4

Browse files
committed
fix(ascii_composer): first read ascii_composer/good_old_caps_lock from schema config
1 parent cc983d5 commit 3fc56c4

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

src/rime/gear/ascii_composer.cc

+17-17
Original file line numberDiff line numberDiff line change
@@ -177,26 +177,26 @@ void AsciiComposer::LoadConfig(Schema* schema) {
177177
good_old_caps_lock_ = false;
178178
if (!schema)
179179
return;
180-
the<Config> preset_config(
181-
Config::Require("config")->Create("default"));
182-
if (preset_config) {
183-
preset_config->GetBool("ascii_composer/good_old_caps_lock",
184-
&good_old_caps_lock_);
185-
}
186180
Config* config = schema->config();
187-
auto bindings = config->GetMap("ascii_composer/switch_key");
188-
if (!bindings) {
189-
if (!preset_config) {
190-
LOG(ERROR) << "Error importing preset ascii bindings.";
191-
return;
192-
}
193-
bindings = preset_config->GetMap("ascii_composer/switch_key");
194-
if (!bindings) {
195-
LOG(WARNING) << "missing preset ascii bindings.";
196-
return;
181+
the<Config> preset_config(Config::Require("config")->Create("default"));
182+
if (!config->GetBool("ascii_composer/good_old_caps_lock",
183+
&good_old_caps_lock_)) {
184+
if (preset_config) {
185+
preset_config->GetBool("ascii_composer/good_old_caps_lock",
186+
&good_old_caps_lock_);
197187
}
198188
}
199-
load_bindings(bindings, &bindings_);
189+
if (auto bindings = config->GetMap("ascii_composer/switch_key")) {
190+
load_bindings(bindings, &bindings_);
191+
}
192+
else if (auto bindings = preset_config
193+
? preset_config->GetMap("ascii_composer/switch_key")
194+
: nullptr) {
195+
load_bindings(bindings, &bindings_);
196+
} else {
197+
LOG(ERROR) << "Missing ascii bindings.";
198+
return;
199+
}
200200
auto it = bindings_.find(XK_Caps_Lock);
201201
if (it != bindings_.end()) {
202202
caps_lock_switch_style_ = it->second;

0 commit comments

Comments
 (0)