[Development] QUrl setPath Qt4 vs Qt5
Thiago Macieira
thiago.macieira at intel.com
Sun Sep 28 03:26:32 CEST 2014
On Sunday 28 September 2014 01:02:11 Samuel Gaist wrote:
> Hi,
>
> Following a post on the forum, I've checked and there's been a behavior
> change in QUrl's setPath between Qt 4 and Qt 5 that is not mentioned in the
> "C++ API changes" chapter.
>
> If I understood correctly:
>
> QUrl example1("http://www.example.com");
> example1.setPath("pub/something");
>
> makes example1 invalid in Qt 5 due to the fact that "pub/something" is a
> relative path (following QUrl documentation and test) but in Qt 4 the
> result is "http://www.example.com/pub/something".
>
> Should it be considered bug in Qt 4 that needs fixing ? However fixing it
> might break existing application that could be relying on that behavior. In
> this case, simply add the API break in Qt 5's documentation ?
Yes, it's a bug in Qt 4, bug I won't fix it because it's not that important and
would require a major change.
QUrl in Qt 4 has quite a few known issues with encoding and decoding of
delimiters too. And its QString constructor is a completely flawed design and
should never be used.
QUrl changed considerably in Qt 5 to comply better with the URL specifications
and with brokenness out there. If we add anything to the documentation, it
would be the previous sentence, with no extra details.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Development
mailing list