mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 14:19:46 -06:00
Merge pull request #13785 from Dentomologist/memorywidget_fix_hex_input_validation_errors
MemoryWidget: Fix hex input validation errors
This commit is contained in:
@ -618,12 +618,26 @@ void MemoryWidget::ValidateAndPreviewInputValue()
|
||||
if (input_type != Type::ASCII)
|
||||
input_text.remove(QLatin1Char(' '));
|
||||
|
||||
if (m_base_check->isChecked())
|
||||
if (input_type == Type::HexString)
|
||||
{
|
||||
// Hex strings are parsed using QByteArray::fromHex which doesn't expect a 0x prefix. If the
|
||||
// user has inserted one, remove it.
|
||||
if (input_text.startsWith(QStringLiteral("0x"), Qt::CaseInsensitive))
|
||||
input_text.remove(0, 2);
|
||||
}
|
||||
else if (m_base_check->isChecked())
|
||||
{
|
||||
// Add 0x to the front of the input (after the '-', if present), but only if the user didn't
|
||||
// already do so.
|
||||
if (input_text.startsWith(QLatin1Char('-')))
|
||||
input_text.insert(1, QStringLiteral("0x"));
|
||||
else
|
||||
{
|
||||
if (!input_text.startsWith(QStringLiteral("-0x"), Qt::CaseInsensitive))
|
||||
input_text.insert(1, QStringLiteral("0x"));
|
||||
}
|
||||
else if (!input_text.startsWith(QStringLiteral("0x"), Qt::CaseInsensitive))
|
||||
{
|
||||
input_text.prepend(QStringLiteral("0x"));
|
||||
}
|
||||
}
|
||||
|
||||
QFont font;
|
||||
|
Reference in New Issue
Block a user