mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-10-12 09:33:37 +02:00
2018-10-16 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the 'RDIdValidator' and 'RDTextValidator' classes that caused them to throw exceptions when processing certain multi-byte UTF-8 characters.
This commit is contained in:
@@ -33,9 +33,11 @@ RDIdValidator::RDIdValidator(QObject *parent)
|
||||
|
||||
QValidator::State RDIdValidator::validate(QString &input,int &pos) const
|
||||
{
|
||||
char c=input.at(pos-1).latin1();
|
||||
if(input.length()==0) {
|
||||
return QValidator::Acceptable;
|
||||
}
|
||||
for(unsigned i=0;i<banned_chars.size();i++) {
|
||||
if(banned_chars[i]==c) {
|
||||
if(input.contains(banned_chars.at(i))) {
|
||||
return QValidator::Invalid;
|
||||
}
|
||||
}
|
||||
|
@@ -37,10 +37,8 @@ QValidator::State RDTextValidator::validate(QString &input,int &pos) const
|
||||
if(input.length()==0) {
|
||||
return QValidator::Acceptable;
|
||||
}
|
||||
int inspection_pos=std::max(0,std::min((int)input.length()-1,pos));
|
||||
char c=input.at(inspection_pos).latin1();
|
||||
for(unsigned i=0;i<banned_chars.size();i++) {
|
||||
if(banned_chars[i]==c) {
|
||||
if(input.contains(banned_chars.at(i))) {
|
||||
return QValidator::Invalid;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user