fix issue that text_editor may drop pasted text
This commit is contained in:
parent
dcdeba7d2e
commit
c8d0b2a621
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user