fix issue that text_editor may drop pasted text

This commit is contained in:
Jinhao 2017-03-21 04:14:03 +08:00
parent dcdeba7d2e
commit c8d0b2a621

View File

@ -2346,26 +2346,29 @@ namespace nana{ namespace widgets
{ {
auto text = system::dataexch{}.wget(); auto text = system::dataexch{}.wget();
//If it is required check the acceptable if ((accepts::no_restrict == impl_->capacities.acceptive) || !impl_->capacities.pred_acceptive)
if ((accepts::no_restrict != impl_->capacities.acceptive) || impl_->capacities.pred_acceptive)
{ {
for (auto i = text.begin(); i != text.end(); ++i) put(move(text));
return;
}
//Check if the input is acceptable
for (auto i = text.begin(); i != text.end(); ++i)
{
if (_m_accepts(*i))
{ {
if (_m_accepts(*i)) if (accepts::no_restrict == impl_->capacities.acceptive)
{ put(*i);
if (accepts::no_restrict == impl_->capacities.acceptive)
put(*i);
continue; continue;
}
if (accepts::no_restrict != impl_->capacities.acceptive)
{
text.erase(i, text.end());
put(std::move(text));
}
break;
} }
if (accepts::no_restrict != impl_->capacities.acceptive)
{
text.erase(i, text.end());
put(move(text));
}
break;
} }
} }