kf5be: Make fromQStringToOUString work for Qt 6

Sync `fromQStringToOUString` with the `toOUString`
implementation in `vcl/inc/qt5/QtTools.hxx`, which
makes it work with Qt 6 as well.

Without this, building this with a planned upcoming
change that introduces a KF 6 desktop backend would fail
like this:

    In file included from /home/user/development/git/libreoffice/shell/source/backends/kf6be/kfaccess.cxx:10:
    /home/user/development/git/libreoffice/shell/source/backends/kf6be/../kf5be/kfaccess.cxx:53:60: error: non-constant-expression cannot be narrowed from type 'qsizetype' (aka 'long long') to 'sal_Int32' (aka 'int') in initializer list [-Wc++11-narrowing]
       53 |     return { reinterpret_cast<char16_t const*>(s.utf16()), s.size() };
          |                                                            ^~~~~~~~
    /home/user/development/git/libreoffice/shell/source/backends/kf6be/../kf5be/kfaccess.cxx:53:60: note: insert an explicit cast to silence this issue
       53 |     return { reinterpret_cast<char16_t const*>(s.utf16()), s.size() };
          |                                                            ^~~~~~~~
          |                                                            static_cast<sal_Int32>( )

Change-Id: Ic2b1ddcaa290379187db69b33e4a700c148650e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168275
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
This commit is contained in:
Michael Weghorn 2024-05-30 14:29:05 +02:00
parent 9214b80fe6
commit eff8497fa2

View file

@ -47,10 +47,9 @@ namespace uno = css::uno;
namespace
{
OUString fromQStringToOUString(QString const& s)
OUString fromQStringToOUString(const QString& s)
{
// Conversion from QString size()'s int to OUString's sal_Int32 should be non-narrowing:
return { reinterpret_cast<char16_t const*>(s.utf16()), s.size() };
return OUString(reinterpret_cast<const sal_Unicode*>(s.data()), s.length());
}
}