On Thu, 19 Sep 2019 at 13:55, Vincent Cloarec <vcloa...@gmail.com> wrote: > > In standalone applications, I am using the QgsRasterLayerProperties class to > manage rasters displayed in the map canvas. > > However, since QGis 3.8, this class is no longer independent from the QgisApp > instance because the methode QgisApp::instance()->askUserForDatumTransform() > is called from the QgsRasterLayerProperties instance. > > As in my standalone applications, I don't have QgsApp instance (no need), now > this applications crash when the raster layer properties widget opens ... > > So, after a look at the Qgis code, I am thinking about to make a PR to make > again the QgsRasterLayerProperties independant from the QgisApp instance. I > think it could be possible with a static method in the QgisApp class. I have > to work on it.
Possibly -- but it's a band-aid solution only. There's a LOT of code in the app library which will make assumptions that the QgisApp instance is available, and that's why all this code is partitioned off into the app library. app also has no stable API guarantees and you'll continue to hit situations like this. I'd suggest two possible alternative ways forward: 1. Use the stable api classes exposes through the gui library to rebuild your own raster layer properties dialog 2. Submit a PR moving the raster layer properties class from app -> gui and adding it to the stable API Both approaches are more upfront work, but are paths to much less pain and future breakage... Nyall _______________________________________________ QGIS-Developer mailing list QGIS-Developer@lists.osgeo.org List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer