SIP uses the deprecated throw(...) annotation in order to determine
which exceptions may be thrown by c++ code. Without these, only
a generic unknown exception is throw, which is of limited value
to Python code (losing any valuable message and exception type).
So we add a new SIP_THROW macro, which can be added to method's
declaration:
bool doSomething() SIP_THROW( QgsCsException );
This is ignored outside of sipify, so we don't actually use
the deprecated c++ throw annotations, but sipify picks it up
and adds the appropriate change to the sip definition for
the method:
bool doSomething() throw( QgsCsException );
This means that calling the method from Python will raise
the QgsCsException instead of a generic exception.
This dramatically slows down rendering, especially when labeling
is used. E.g. because labeling clips features, or because the
rendering simplification code results in invalid geometries -
this then fires multiple geos warnings when labeling
tests for geometry validity, etc. But these warnings are useless,
because the original geometry is valid and users cannot repair
them.... yet they slow things RIIIIIIGHHHT DOOOOWN.
Well behaved code, which requires access to geos errors,
should be using QgsGeometry::lastError instead.
* [FEATURE][locator] Add search for settings pages to locator bar
Search Settings, Options, and Project Properties pages. Double clicking a search result will open the correct page and tab.
Short video: https://www.youtube.com/watch?v=duB2YekUmV0
The new filter presents itself with a prefix of "s" and with tr( "Settings" ) as displayname.
A settings locator filter is added to the built in locator filters (class QgsSettingsLocatorFilter is added to qgsinbuiltlocatorfilters.cpp). The wiring between the new filter and QgsApp has been implemented in:
For reading misc. pages:
* QgisApp::getProjectPropertiesPagesMap(),
* QgisApp::getSettingPagesMap(), and
* QgisApp::getOptionsPagesMap()
For navigating to selected page
* QgisApp::showProjectProperties( const QString &page ) and
* QgisApp::showSettings( const QString &page )
* Implement requested changes
* Implement required changes
Bad geo-referencing bug fix
Using VRT with large coordinate system (like RGF93/CCxx) and high
resolution raster, highest resolution tiles were shifted regardingi
original raster.
It seemed that when creating the VRT file, georeferencing is
truncated while converted to text, leading to loss of precision.