Skip to content
  • Marc Mutz's avatar
    QByteArray: deprecate QT_NO_CAST_FROM_BYTEARRAY-protected operators · 8397a44b
    Marc Mutz authored
    
    
    The QByteArray::operator const {char,void}*() implicit
    conversions are a source of subtle bugs, so they right-
    fully can be disabled with QT_NO_CAST_FROM_BYTEARRAY.
    
      const char *d = qstring.toLatin1(); // implicit conversion
      while ( d ) // oops: d points to freed memory
         // ...
    
    But almost no-one ever enabled this macros in the wild
    and many were bitten by these implicit conversions, so
    this patch deprecates them.
    
    I would have liked to remove them completely, but there
    are just too many occurrences even in Qt itself to hope
    to find all conditionally-compiled code that uses these.
    
    Also fixes all code that needs to compile under
    QT_NO_DEPRECATED (in qmake/, src/tools/).
    
    I984706452db7d0841620a0f64e179906123f3849 separately
    deals with the bulk of changes in src/ and examples/.
    
    Depends on I5ea1ad3c96d9e64167be53c0c418c7b7dba51f68.
    
    Change-Id: I8d47e6c293c80f61c6288c9f8d42fda41afe2267
    Reviewed-by: default avatarDavid Faure <faure@kde.org>
    Reviewed-by: default avatarLars Knoll <lars.knoll@nokia.com>
    8397a44b