Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Backport queued_ltr_backports] Raster - paletted: fix slow rendering with huge number of classes #57037

Closed

Commits on Mar 27, 2024

  1. [network] Enable strict transport security to fix http->https WMS (et…

    … al) data sources
    nirvn authored and nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    4a47868 View commit details
    Browse the repository at this point in the history
  2. Fix bookmarks manager model signals emitted twice

    rows inserted/added was fired twice (once by the manager and once by the
    model), confusing the proxy model.
    
    Also count was wrong by 1 in beginInsertRows( parent, oldCount, oldCount + count )
    and beginRemoveRows, but now these two calls have been removed completely.
    
    Fix #56493
    elpaso authored and nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    b203f78 View commit details
    Browse the repository at this point in the history
  3. Use pixel based scrolling instead of rows for identify results

    This behaves much nicer when row heights grow large, eg when
    there's multiline content in a field or when json fields are
    present
    nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    feb6120 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0247ce5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ef98c93 View commit details
    Browse the repository at this point in the history
  6. Consistently return invalid QVariant for QgsVectorDataProvider::defau…

    …ltValue
    
    Previously we mixed invalid QVariant values with null QVariants,
    resulting in a mix of results between Qt 5 and Qt 6 and across
    different data providers
    nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    84b8ac4 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7e2296f View commit details
    Browse the repository at this point in the history
  8. [map canvas] Fix clearing of temporal and elevation triggered cache f…

    …or group layers
    nirvn authored and nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    b1ac747 View commit details
    Browse the repository at this point in the history
  9. QgsGeos::asGeos(): only error out on invalid subgeometry only if requ…

    …ested (typically from QgsGeometryCollection::isValid())
    rouault authored and nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    8367ef4 View commit details
    Browse the repository at this point in the history
  10. [vector layer] Fix QgsVectorLayerFeatureIterator::isValid() value whe…

    …n initiated against editing-enabled vector layer
    nirvn authored and nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    eb25c1c View commit details
    Browse the repository at this point in the history
  11. [processing] Fix "Random points along line" alg

    Avoid various errors in case of empty input layer, empty/null geometries, invalid geometries, linestrings with zero-length segments...
    agiudiceandrea authored and nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    5c56196 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    4bfc618 View commit details
    Browse the repository at this point in the history
  13. [gps] Don't emit stateChanged for incomplete nmea messages

    If we only have receieved the first part of a message, don't
    emit stateChanged until we've received the rest.
    
    Possibly refs #56460
    nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    b606fba View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    9e4b8ef View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    f4a0aba View commit details
    Browse the repository at this point in the history
  16. [Server] QgsWmsRenderContext::isValidWidthHeight(): rewrite sanity ch…

    …ecks in a foolproof way
    
    The check for ``width * depth + 31`` not overflowing INT_MAX was done
    after computing it, which would be undefined behavior if that happened.
    Nowadays compilers can use "impossible situations" in smart ways, and
    could very well discard the check if it is done afterwards. Be on the
    safe sife and check before, as done in
    https://code.qt.io/cgit/qt/qtbase.git/tree/src/gui/image/qimage_p.h#n89
    rouault authored and nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    b51f985 View commit details
    Browse the repository at this point in the history
  17. [console] Don't needlessly store QgsSettings objects

    These are cheap to construct by design, so we can avoid
    storing them and the messy cross-class access to member
    variables
    nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    7994e93 View commit details
    Browse the repository at this point in the history
  18. [console] Ensure stored last dir path settings is always a folder

    This prevents a bug where the save action in the Python console
    keeps defaulting back to the binary QGIS install folder
    nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    e20e793 View commit details
    Browse the repository at this point in the history
  19. [console] Minor cleanups

    - Add some typehints
    - Avoid creating an unnecessary local variable
    nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    b81cdef View commit details
    Browse the repository at this point in the history
  20. Browser: fix slow behavior with network drives on windows

    This fixes UNC paths not identified as network paths.
    
    By ensuring that a trailing slash for directories is passed
    down to the identify function.
    elpaso authored and nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    0affcf3 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    c565938 View commit details
    Browse the repository at this point in the history
  22. [tests] Add tests for fix #54058

    gacarrillor authored and nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    15d9da9 View commit details
    Browse the repository at this point in the history
  23. suggest PQgetisnull

    jef-n authored and nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    6832983 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    d67a11e View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    136eabf View commit details
    Browse the repository at this point in the history
  26. Rework QgsGpsDetector to make it memory safe

    This is messy, as there's no way we can possibly make the current,
    stable API of this class safe. We have to resort to an opt-in
    "safe" mode which exposes a non-dangerous API.
    
    This should hopefully fix issues where the qt event loop causes
    destruction of the detected connection before listener slot is
    called and is able to take ownership of the signal argument...
    nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    0a5065a View commit details
    Browse the repository at this point in the history
  27. Cleanup GPS detector timeout timer handling

    Use a single timer instead of the QTimer static method, so that
    we can stop the timeout as soon as we receive valid data and don't
    risk a race where unwanted timeouts are added to the event loop
    while we're processing a valid detected connection
    nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    991d03d View commit details
    Browse the repository at this point in the history
  28. As soon as we detect a valid device, stop listening for device status

    Otherwise we end up calling QgsGpsDetector::detected multiple times
    for the same device, and if an external client has taken the
    detected connection in the meantime then the detector will incorrectly
    move to the next device and continue trying to make connections
    nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    9abe827 View commit details
    Browse the repository at this point in the history
  29. Before releasing the connection, disconnect everything from the detector

    This ensures that there's NO change of any remaining unwanted
    interaction between the GPS detector and the connection which
    it no longer owns after a call to takeConnection. Otherwise
    when the detector outlives the "find a connection" logic we risk
    status updates from the taken GPS device from triggering unwanted
    detect-a-valid-connection logic from the detector.
    nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    bcb4691 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    88ea592 View commit details
    Browse the repository at this point in the history
  31. Demote debug messages

    nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    d3a4ce1 View commit details
    Browse the repository at this point in the history
  32. [processing] Use correct ellipsoid for network analysis tools

    Use the processing context's ellipsoid instead of a hardcoded
    WGS84 ellipsoid for distance calculations during network
    analysis, so that the lengths used will exactly match other
    measurement tools used on the same features in the same
    project.
    nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    99b2a2a View commit details
    Browse the repository at this point in the history
  33. Fix test

    nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    e37f52f View commit details
    Browse the repository at this point in the history
  34. qgswfsgetfeature: Do not invert axis if no SRSNAME is passed

    A WFS request such as
    `SERVICE=WFS&REQUEST=GetFeature&VERSION=1.1.0&SRSNAME=EPSG:4326` does
    not invert the axis and return the coordinates in the LON/LAT
    order. For example:
    
    <gml:Envelope srsName="EPSG:4326">
      <gml:lowerCorner>2.358 48.865</gml:lowerCorner>
      <gml:upperCorner>2.37 48.876</gml:upperCorner>
    </gml:Envelope>
    
    However, the same request without a SRSNAME parameter inverts the axis
    and returns the the coordinates in the LAT/LON order:
    
    <gml:Envelope srsName="EPSG:4326">
      <gml:lowerCorner>48.865 2.358</gml:lowerCorner>
      <gml:upperCorner>48.876 2.37</gml:upperCorner>
    </gml:Envelope>
    
    With this change, the axis is not inverted if the SRSNAME parameter is
    not passed. This way, this is the same behavior as
    `SRSNAME=EPSG:4326`.
    
    This is a follow-up of #45270.
    ptitjano authored and nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    dd7cb7f View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    f98bcdc View commit details
    Browse the repository at this point in the history
  36. Fix QgsSymbol::drawPreviewIcon

    Transform the "Opacity" value calculated by Data Defined Override expression from [0-100] range to [0-1] range.
    agiudiceandrea authored and nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    8481f49 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    1dcf0c3 View commit details
    Browse the repository at this point in the history
  38. Browser: avoid calling slow functions on disconnected drives

    This is an attempt to fix browser slowness when network
    drives becomes unavailable.
    
    Some QDir/QFileInfo call may become slow when called on
    disconneced drives on windows, by calling them in the
    init method (which is called by a separate thread and when
    the driver is more likely to be available) the risk
    to call them when they can become slow is drastically
    reduced.
    
    Whether this will help to reduce the browser slowness
    on network drives it is hard to tell but it won't certainly
    hurt.
    elpaso authored and nyalldawson committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    0238727 View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2024

  1. Configuration menu
    Copy the full SHA
    6b8f065 View commit details
    Browse the repository at this point in the history