调整黑白属性依赖项;父项依赖只有在父项可用时才生效
This commit is contained in:
parent
e6eaefb511
commit
6c4c7535ed
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -2093,13 +2093,12 @@ bool hg_sane_middleware::is_enable_and(scanner_handle hdev, const std::vector<MA
|
|||
VLOG_MINI_1(LOG_LEVEL_WARNING, "option %s's current value is not found, other options depend it maybe in wrong status.\n", master[i].name.c_str());
|
||||
continue;
|
||||
}
|
||||
enabled &= master[i].compare_val(it->val.c_str(), master[i].limit_l.c_str(), master[i].limit_r.c_str());
|
||||
if (enabled) // whether parent is enabled
|
||||
{
|
||||
const SANE_Option_Descriptor* desc = hg_sane_middleware::instance()->find_stored_descriptor(hdev, master[i].name.c_str());
|
||||
if (desc && (desc->cap & SANE_CAP_INACTIVE))
|
||||
enabled = false;
|
||||
}
|
||||
|
||||
const SANE_Option_Descriptor* desc = hg_sane_middleware::instance()->find_stored_descriptor(hdev, master[i].name.c_str());
|
||||
if (desc && (desc->cap & SANE_CAP_INACTIVE))
|
||||
enabled = false;
|
||||
else
|
||||
enabled &= master[i].compare_val(it->val.c_str(), master[i].limit_l.c_str(), master[i].limit_r.c_str());
|
||||
}
|
||||
|
||||
return enabled;
|
||||
|
@ -2117,13 +2116,11 @@ bool hg_sane_middleware::is_enable_or(scanner_handle hdev, const std::vector<MAS
|
|||
continue;
|
||||
}
|
||||
|
||||
enabled |= master[i].compare_val(it->val.c_str(), master[i].limit_l.c_str(), master[i].limit_r.c_str());
|
||||
if (enabled) // whether parent is enabled
|
||||
{
|
||||
const SANE_Option_Descriptor* desc = hg_sane_middleware::instance()->find_stored_descriptor(hdev, master[i].name.c_str());
|
||||
if (desc && (desc->cap & SANE_CAP_INACTIVE))
|
||||
enabled = false;
|
||||
}
|
||||
const SANE_Option_Descriptor* desc = hg_sane_middleware::instance()->find_stored_descriptor(hdev, master[i].name.c_str());
|
||||
if (desc && (desc->cap & SANE_CAP_INACTIVE))
|
||||
enabled = false;
|
||||
else
|
||||
enabled |= master[i].compare_val(it->val.c_str(), master[i].limit_l.c_str(), master[i].limit_r.c_str());
|
||||
}
|
||||
|
||||
return enabled;
|
||||
|
|
Loading…
Reference in New Issue