Skip to content
Snippets Groups Projects
  1. Oct 31, 2018
  2. Oct 30, 2018
    • Andy Nichols's avatar
      Don't create an offscreen surface when not on the GUI thread · 1b9af84c
      Andy Nichols authored
      
      When we try to gracefully destroy a QOpenGLVertexArrayObject it is not
      possible to create an QOffscreenSurface from a thread that is not the
      GUI thread. In this case we just need to bail out instead.
      
      The side effect that was seen previously was that there would be a
      warning and a deadlock on Windows when closing QQuickWindows that
      contained a QQuickPaintedItem backed by a FrameBufferObject render
      target (which would be using the OpenGL paint engine) when using the
      threaded render loop.
      
      Task-number: QTBUG-70148
      Change-Id: I4a20d74d9af850bb90d243212ad9f65c3fc9e616
      Reviewed-by: default avatarLaszlo Agocs <laszlo.agocs@qt.io>
      1b9af84c
  3. Oct 29, 2018
    • Thiago Macieira's avatar
      Fix deleting of QSharedPointer internals in case QPointer loses the race · 3b8075de
      Thiago Macieira authored
      
      QPointer uses QWeakPointer / QSharedPointer internals in QObject and has
      the code to make sure two threads won't stomp on each other if both try
      to create a QPointer for the same QObject at the same time. The
      threading code was fine, but had a mistake in the clean up code for the
      loser thread: the QtSharedPointer::ExternalRefCountData destructor has a
      Q_ASSERT for the state of the reference counts. So we need to set the
      state correctly before calling the destructor.
      
      But we don't want to do it in case the Q_ASSERT compiled to nothing. So
      we use a hack that violates the Second Rule of Q_ASSERTs: don't do
      something with side-effects. This way, we can insert code that will only
      be compiled if Q_ASSERTs do something, without having to duplicate the
      preprocessor conditions from qglobal.h.
      
      Fixes: QTBUG-71412
      Change-Id: I1bd327aeaf73421a8ec5fffd1560fdfc8b73b70c
      Reviewed-by: default avatarRomain Pokrzywka <romain.pokrzywka@gmail.com>
      Reviewed-by: default avatarJędrzej Nowacki <jedrzej.nowacki@qt.io>
      3b8075de
    • Błażej Szczygieł's avatar
      xcb: Don't get initial screen rotation · d4e937a6
      Błażej Szczygieł authored
      
      "xcb_randr_get_screen_info" can be slow and in some configurations can
      cause short mouse cursor freezes (which will happen on Qt application
      startup).
      
      Initial screen rotation was used only to not handle possible redundant
      screen change event.
      
      Fixes: QTBUG-70760
      Change-Id: I9f01325a045d2c82c4dd2fce91a18a34e54a4bcd
      Reviewed-by: default avatarGatis Paeglis <gatis.paeglis@qt.io>
      d4e937a6
  4. Oct 25, 2018
  5. Oct 24, 2018
  6. Oct 23, 2018
    • Michael Brüning's avatar
      [cocoa] Disable offline renderers for dual AMD FirePro GPU · 72bedd49
      Michael Brüning authored
      
      The AMD FirePro dual gpus on the Mac Pro have a problem with offline
      renderers in Chromium. Therefore, Chromium and thus Qt WebEngine
      disable this option via the pixel format attributes.
      
      The Qt Cocoa plugin on the other hand enables it in the recent versions,
      causing context creation in Qt WebEngine to fail when run on a Mac Pro
      with dual AMD FirePro gpus due to incompatible context options.
      
      This patch uses the environment variable QT_MAC_PRO_WEBENGINE_WORKAROUND
      which is set by Qt WebEngine upon application startup if the application
      is running on a late 2013 Mac Pro. It should typically not be set from
      anywhere else.
      
      [ChangeLog] Offline renderers will be disabled when the application is
      using Qt WebEngine and running on one of the late 2013 Mac Pro models.
      
      Fixes: QTBUG-70062
      Change-Id: I0b0831efb6f4073ebd37672040aaed6370853fc0
      Reviewed-by: default avatarTor Arne Vestbø <tor.arne.vestbo@qt.io>
      72bedd49
  7. Oct 22, 2018
  8. Oct 19, 2018
    • Giuseppe D'Angelo's avatar
      OpenSSL: force the "1.0.0" soname when loading OpenSSL 1.0 · 2708c6c1
      Giuseppe D'Angelo authored
      
      Some Linux distributions patch OpenSSL's soname, making builds
      on such distributions not deployable elsewhere. The problem is that
      the code loading OpenSSL symbols would attempt to use the soname
      of the build machine, and therefore not finding the OpenSSL
      libraries on the deploy system.
      
      The binary builds of Qt for Linux are affected by this problem,
      as they build under RHEL7.4 which changes to soname of OpenSSL to
      a non-standard string. This makes the binary builds not pick up
      OpenSSL 1.0 from the machine where the build gets installed on.
      
      Given that in the pre-1.1 versions only the 1.0 series is supported,
      bump the minimum requirement of Qt to that. The 1.0.x releases
      (up to 1.0.2, at the time of this writing) have kept binary
      compatibility, and advertise a soname of "1.0.0", which is used
      by most distributions.
      
      So, if loading of OpenSSL with the build-time soname fails,
      try to load them with the "1.0.0" hardcoded soname.
      
      [ChangeLog][QtNetwork][SSL] OpenSSL >= 1.0 is now required to build
      Qt with OpenSSL support.
      
      Task-number: QTBUG-68156
      Change-Id: Ieff1561a3c1d278b511f09fef06580f034f188c6
      Reviewed-by: default avatarTimur Pocheptsov <timur.pocheptsov@qt.io>
      2708c6c1
    • Thiago Macieira's avatar
      QWinEventNotifier: fix crash on application shutdown · 948f8ce2
      Thiago Macieira authored
      
      The event dispatcher can be null already but we may have outstanding
      QWinEventNotifier objects (like in a QProcess).
      
      Patch-By: Tamas Karpati
      Task-number: QTBUG-70214
      Change-Id: I5e432e273def425ea334fffd154f34abfd6cb11a
      Reviewed-by: default avatarFriedemann Kleint <Friedemann.Kleint@qt.io>
      948f8ce2
  9. Oct 18, 2018
  10. Oct 17, 2018
  11. Oct 16, 2018
  12. Oct 12, 2018
  13. Oct 10, 2018
  14. Oct 09, 2018
  15. Oct 08, 2018
    • Alexandru Croitor's avatar
      [macOS] Fix position of sheets when using unifiedTitleAndToolBarOnMac · 836a2fb8
      Alexandru Croitor authored
      Modal sheets are supposed to appear below the toolbar if a toolbar
      exists, or below the title bar if a toolbar doesn't exist.
      In the unified title and toolbar mode, sheets should to appear
      directly below the toolbar, if the toolbar is positioned at the
      top of the window.
      
      Code-wise we achieve that by calling setUnifiedTitleAndToolBarOnMac on
      a QMainWindow, which results in adjusting the top content border of
      the NSWindow via [NSWindow setContentBorderThickness:forEdge], which
      Cocoa uses to position a modal sheet (the sheet top edge is aligned
      with the top edge of the content view + the Y border thickness
      value).
      
      The issue is that because NSWindow.titlebarAppearsTransparent is set
      to YES, for sheet presentation purposes, Cocoa considers the content
      view to begin at the position of the top left corner of the
      frame (where the title bar is), and thus sheets appear somewhere
      in the middle of the unified toolbar.
      
      To fix that we need to account for the title bar height in the
      border thickness value.
      Compute the title bar height from the window frame height - window
      content view height, and add it to the top border thickness value.
      
      Amends 8ac9addd
      
      
      
      Change-Id: Icf85c513035cc3710b438e60eb14dc04c5bbaced
      Fixes: QTBUG-65451
      Reviewed-by: default avatarMorten Johan Sørvig <morten.sorvig@qt.io>
      836a2fb8
  16. Oct 06, 2018
  17. Oct 05, 2018
  18. Oct 04, 2018
  19. Oct 02, 2018
  20. Sep 30, 2018
    • Andrew O'Doherty's avatar
      fix HTML subset documentation is not very readable on smaller screens · b2b32d31
      Andrew O'Doherty authored
      
      When viewing "Supported HTML Subset" documentation in Qt Creator (in
      QTextBrowser), the first table that lists all tags is quite unreadable
      (see images). It happens because there is a code snippet in Comment
      column for tag "meta" that uses pre-formatted text. Because it should
      not be wrapped automatically, it ends up pushing first 2 columns into
      their minimum size, which mostly makes them take a single letter per
      row.
      
      Task-number: QTBUG-64126
      Change-Id: I08bf6f61806d52e7a2f47bdbed1b5950825ce739
      Reviewed-by: default avatarLeena Miettinen <riitta-leena.miettinen@qt.io>
      b2b32d31
  21. Sep 29, 2018
    • Thiago Macieira's avatar
      Fix QUrl::matches for when removing authority parts (other than host) · caa598c8
      Thiago Macieira authored
      
      QUrl::RemoveAuthority is RemoveUserInfo | RemovePort | 0x10, so the
      condition
      
          if (options & QUrl::RemoveAuthority)
      
      would match if any of the other bits for the username, password or port
      were set, which meant we would skip the host comparison. Ditto for
      username and RemovePassword.
      
      [ChangeLog][QtCore][QUrl] Fixed a bug that caused QUrl::matches to
      incorrectly compare two URLs with different hostnames or different
      usernames as equal, if certain QUrl::RemoveXxx options were passed.
      
      Change-Id: I015970a03b874898bba7fffd155856ab9d6cb1be
      Fixes: QTBUG-70774
      Reviewed-by: default avatarMårten Nordheim <marten.nordheim@qt.io>
      caa598c8
  22. Sep 28, 2018