From guiutil.cpp
if(uri.startsWith("bitcoin://"))
{
uri.replace(0, 10, "bitcoin:");
}
(where uri is a QString)
now, the test is quite wrong. First it is a case sensitive test, but scheme names in URI are case insensitive (so BITCOIN:// is the same as bitcoin://). It should be uri.startsWith("bitcoin://", Qt::CaseInsensitive).
Second (but this I haven't tested), if QUrl works as other url parsers it trims the string before parsing it, so "\n\r\t bitcoin://something" is the same as "bitcoin://something", so a
uri.trimmed();
before the if wouldn't probably be bad (but note that uri.trimmed()).