The number of available clip planes depends on the OpenGL
implementation.
This change Introduces a new function in Qgs3DUtils function called
`Qgs3DUtils::getOpenGLMaxClipPlanes` to compute this
number (`GL_MAX_CLIP_PLANES`) and use it in the 3D scene.
See: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glClipPlane.xml
Debug camera info is always shown
Debug depth map widget's default position is moved to bottom left
corner, so it won't collide with axis widget
Docking icon is moved to the last position
Toolbar icon size is finally correct, changes with the window docked state as
it should
This commit adds new debug side panel (similar to navigation widget), which moves several existing options from settings/navigation panel here. Camera Info has been moved from navigation panel and from table changed into input elements (preparation for another feature). Show map tile info, Show bounding boxes, Show camera's view/rotation center, Show light sources, Show debug overlay, Debug shadow map, Debug Depth map options have been moved from advanced sub-category of options. New Stop scene updates option has been created.
Fixes Coverity 450635
It warns about a use-after-free, which cannot happen in that situation,
but it looks very much as we have a copy&paste error here.
When closing a 2D canvas dock, QGIS sometimes crashes. This is because
when the widget helper is closed, the canvas is closed. However, some
signals of the canvas widget may still be called after it is
called. Hence, the crash.
This issue is fixed by calling `deleteLater()` instead of `delete` to
ensure a proper deletion which properly takes into account the
signals.
Only create rules/categorized categories/graduated ranges if the
associated symbol could be converted to SLD, and is not an "empty"
symbol.
Otherwise we do not generate a rule, as SLD spec requires a
Symbolizer element to be present.
If snap on intersections is enabled, this specific edge search with the
locator was not in relaxed mode, whereas the standard snapping is
happening in relaxed mode.
As a result, trying to use the snapping during the first indexation was
freezing QGIS while the indexation is happening, waiting for it to end.
On a layer where the indexation is longer than the timeout (30sec, i.e.
a WFS layer as in issue #51179), the locator stops abruptly and resets
itself, crashing the indexation and QGIS.