1. 17 Feb, 2017 - 1 commit
  2. 16 Feb, 2017 - 12 commits
  3. 15 Feb, 2017 - 13 commits
    • Tor Arne Vestbø's avatar
      QWindow: prevent window reparenting into Qt::Desktop windows · ee0edf1b
      Tor Arne Vestbø authored
      
      Qt::Desktop exists to support QDesktopWidget, which predates the QScreen
      API. QWidget internally has checks that prevents you from reparenting a
      QWidget into a QDesktopWidget, so we should have the same limitations on
      the QWindow level. This allows platform plugins to implement Qt::Desktop
      as simple (possibly shared) wrappers around QScreen without having to
      allocate native window resources for each desktop window.
      
      Change-Id: Ia1bac506febd3d827a6e0b8ad3bfd95be0cc7f9d
      Reviewed-by: default avatarFriedemann Kleint <Friedemann.Kleint@qt.io>
      ee0edf1b
    • Marc Mutz's avatar
      Clean up QStringLiteral definition · bf2160e7
      Marc Mutz authored
      
      We require lambda support in the compiler since Qt 5.7, so drop
      the guard macro.
      
      Apart from MSVC 2013, all our supported compiler also support
      char16_t:
      
      - VxWorks uses GCC 4.8, which supports char16_t since 4.5.
      - ICC supports char16_t since v12.1; we require v14+.
      - ONX uses a GCC which supports char16_t in the compiler,
        but is equipped with a stdlib that does not sport char16_t
        support, which is why we revoke its Q_C_UNICODE_STRINGS in
        qcompilerdetection.h. But we don't need stdlib support, we
        only need the core language feature.
        This is the only platform where this patch actually changes
        something. It removes the, rather unfair, pessimization of
        the platform which could have supported the static-storage-
        duration implementation of QStringLiteral instead of the
        fallback, which uses dynamic memory (QString::fromUtf8()).
      - GCC and Clang support char16_t since 4.5 and 3.0, resp.,
        which is far below our minimum compiler requirements in
        effect since Qt 5.7.
      - On Windows, MSVC supports char16_t since 2015 only, and we
        still support 2013, but on Windows, wchar_t is the same size
        as char16_t, so instead of u"str" we can fall back to L"str".
      
      So simplify the implementation of QStringLiteral by assuming
      that all these feature are present, adding noexcept to the
      lambda to make noexcept() queries return true.
      
      This allows us to guarantee:
      
      [ChangeLog][QtCore] QStringLiteral is now guaranteed to be
      evaluated at compile-time. The last platform (QNX) to use the
      QString::fromUtf8() fallback has been ported to allocate the
      string data statically, too.
      
      Change-Id: I7920d7a77001e5c5550e7c7d57ceb7c51c9eb443
      Reviewed-by: default avatarThiago Macieira <thiago.macieira@intel.com>
      bf2160e7
    • Marc Mutz's avatar
      Make some atomic counters zero-based · 04d6495b
      Marc Mutz authored
      
      A variable of static storage duration that is not zero-initialized
      takes up space in the DATA segment of the executable. By making the
      counters start at zero and adding the initial value afterwards, we
      move them over to the BSS segment, which does not take up space in
      the executable.
      
      Wrap atomics used across function boundaries into small functions,
      to avoid code duplication and to increase readability.
      
      Change-Id: Ida6ed316ecb8fe20da62a9577161349e14de5aed
      Reviewed-by: default avatarThiago Macieira <thiago.macieira@intel.com>
      04d6495b
    • Marc Mutz's avatar
      QString(Ref): make toLatin1()/toLocal8Bit() null handling consistent · a5febada
      Marc Mutz authored
      
      Systematic testing in tst_QStringApiSymmetry revealed a bug in
      QStringRef::toLatin1(): a null input did not result in a null output,
      but an empty one. This is fixed, for consistency with
      QString::toLatin1(), and QString(Ref)::toUtf8(), which behaved
      correctly already.
      
      The same bug was found in QString(Ref)::toLocal8Bit(), which is
      particularly hideous, as it's documented to fall back to toLatin1(),
      which preserves null inputs. Fixed, too.
      
      [ChangeLog][QtCore][QString] toLocal8Bit() now preserves nullness of
      the input QString (outputs null QByteArray).
      
      [ChangeLog][QtCore][QStringRef] toLocal8Bit() and toLatin1() now
      preserve nullness of the input QStringRef (output null QByteArrays).
      
      Change-Id: I7026211922c287e03d07e89edbad2987aa646e51
      Reviewed-by: default avatarEdward Welbourne <edward.welbourne@qt.io>
      a5febada
    • Thiago Macieira's avatar
      Correct \since for QStorageInfo::subvolume() · 798819bb
      Thiago Macieira authored
      
      3e9db01a2e4be5034d10d6eeafd65d0a8609615b entered dev after the 5.8
      branch.
      
      Change-Id: I4139d5f93dcb4b429ae9fffd14a349e85e62a298
      Reviewed-by: default avatarFriedemann Kleint <Friedemann.Kleint@qt.io>
      798819bb
    • Tor Arne Vestbø's avatar
      macOS: Don't hide NSWindowZoomButton when window can go into fullscreen · 666b91fb
      Tor Arne Vestbø authored
      
      The button in the title bar is used both for going into full screen and
      maximizing (zooming) the window. We can't hide/disable it unless both
      Qt::WindowFullscreenButtonHint and Qt::WindowMaximizeButtonHint are
      off.
      
      This means that when Qt::WindowMaximizeButtonHint is off, it's still
      going to be possible to Option-click the button to maximize the
      window, but this is less of a concern than hiding the full screen
      button when Qt::WindowFullscreenButtonHint is set.
      
      Change-Id: I70dbe27b3197fe22c1781277f8bf9a818d71d04d
      Reviewed-by: default avatarTimur Pocheptsov <timur.pocheptsov@qt.io>
      666b91fb
    • Frederik Schwarzer's avatar
      Fix minor typos in apidoc · 1e7143cf
      Frederik Schwarzer authored
      
      Change-Id: I5ce9599a60ea336b469807df075e491f0e6df680
      Reviewed-by: default avatarFrederik Gladhorn <frederik.gladhorn@qt.io>
      1e7143cf
    • Tor Arne Vestbø's avatar
      qpa: Let platform plugins report old state for window state changes · 54e4735f
      Tor Arne Vestbø authored
      
      The previous logic relied on QPlatformWindow::setWindowState() being
      synchronous and delivering the QPA event before returning to QWindow,
      in which case window->windowState() would still refer to the old
      state. Async platforms can now report the previous state correctly.
      
      Change-Id: Ib9148fe23fb62be55b7e3a0ccf63d32c71dc2ad3
      Reviewed-by: default avatarOlivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
      54e4735f
    • Olivier Goffart's avatar
      Windows QPA: Use the native algorithm to find out the window's screen · 1037eebc
      Olivier Goffart authored
      
      QPlatformWindow::screenForGeometry uses the screen where the center
      of the window is, but native application use the one which intersects
      with the bigger area. It might not be the same.
      
      Change-Id: I831a5fcaea0e293e9f0f93ef5e562cce57fae2f4
      Reviewed-by: default avatarFriedemann Kleint <Friedemann.Kleint@qt.io>
      1037eebc
    • Timur Pocheptsov's avatar
      Fix http2 auto-test · b5995afc
      Timur Pocheptsov authored
      
      After it started to fail (somehow it's only OpenSUSE 42.1) again and again
      and after a quick re-evaluation it appears the logic testing SETTINGS|ACK
      is incorrect. We (client side) start by sending the preface and then
      continue to send our request(s). The other side (server) starts from sending its
      SETTINGS frame. These settings must be ACKed, but apparently it can happen,
      that server receives a requests and sends a reply before it receives SETTINGS|ACK,
      resulting in replyFinished (replyFinishedWithError) signal and event loop stopping.
      As a result - QVERIFY(serverGotSettingsACK) fails.
      
      Task-number: QTBUG-58758
      Change-Id: I8184cf459b2b88f70c646171e0115c184237fad1
      Reviewed-by: default avatarEdward Welbourne <edward.welbourne@qt.io>
      b5995afc
    • Kimmo Ollila's avatar
      Fix is_iec559 assert on GHS compiler · a0a9e8b2
      Kimmo Ollila authored
      
      GHS compiler is not fully compliant with iec559.
      Therefore we need to replace is_iec559 assertion
      with separate checks to build quint16.
      
      Change-Id: I88c57e394b8d4e7899ee7d4a13cbfbac9436b2fc
      Reviewed-by: default avatarRolland Dudemaine <rolland@ghs.com>
      Reviewed-by: default avatarLars Knoll <lars.knoll@qt.io>
      Reviewed-by: default avatarThiago Macieira <thiago.macieira@intel.com>
      a0a9e8b2
    • Timur Pocheptsov's avatar
      tst_qlocale::macDefaultLocale - remove flaky/incorrect test · 5542e772
      Timur Pocheptsov authored
      
      currencySymbol == "$" does not mean negative currency values will be formatted
      as "($value)". With all locales I have on my mac machines (10.11/10.12) the
      result is different from what this test expects. Also, the results are very
      different for different locales.  Apparently, we never saw this problem before
      since in our CI "macs" we never have US Dollar/en_US selected in System Preferences.
      
      Task-number: QTBUG-58784
      Change-Id: Ic2c3a3172bf1e715e99092ddee8f461b216d995a
      Reviewed-by: default avatarThiago Macieira <thiago.macieira@intel.com>
      Reviewed-by: default avatarEdward Welbourne <edward.welbourne@qt.io>
      5542e772
    • Friedemann Kleint's avatar
      QElfParser: Fix plural form in error message · 0b30a6e6
      Friedemann Kleint authored
      Amends change dcec1420
      
      .
      
      Change-Id: I54c7db012d87a55c310141debac19118e7cb284a
      Reviewed-by: default avatarRobert Loehning <robert.loehning@qt.io>
      Reviewed-by: default avatarThiago Macieira <thiago.macieira@intel.com>
      0b30a6e6
  4. 14 Feb, 2017 - 2 commits
  5. 13 Feb, 2017 - 12 commits