[QGIS-Developer] QgsProjectStyleSettings styles.db remain open after QgsProject::clear()

Radim Blazek radim.blazek at gmail.com
Tue Apr 18 01:34:10 PDT 2023


Hi,
with Qgis 3.28.3 called from Python, whenever QgsProject::clear() is
called it creates new styles.db file, previous styles file is deleted
from system, but it remains open (listed by lsof). It becomes a
problem in server environment where every call to QgsProject::clear()
creates a new file and limit of open files is soon reached.

Just reading the code I was not able to trace down where / which
object remains referenced. Maybe QgsStyle.mCurrentDB should be closed
explicitly?

Is it OK to use this workaround?:
project = QgsProject(None, Qgis.ProjectCapabilities())
QgsProject.setInstance(project)

BTW, how can I modify QgsProject.capabilities() from Python?

Radim


More information about the QGIS-Developer mailing list