Bug report #12245
iface.mapCanvas().refreshMap() segfaults QGIS
Status: | Closed | ||
---|---|---|---|
Priority: | High | ||
Assignee: | - | ||
Category: | Python plugins | ||
Affected QGIS version: | master | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | invalid |
Crashes QGIS or corrupts data: | Yes | Copied to github as #: | 20430 |
Description
Needed to refresh my mapcanvas for a plugin, and refresh() did not do the job, so I found refreshMap()...
That just crashes QGIS here, running master on Debian.
I see it is a private slot, and tried other slots.
Not sure if this can be handled more gently, or it is just a fact of life: you should not call private slots in pyqgis....
History
#1 Updated by Giovanni Manghi almost 10 years ago
- Crashes QGIS or corrupts data changed from No to Yes
- Priority changed from Normal to High
- Category set to Python plugins
#2 Updated by Martin Dobias almost 10 years ago
- Resolution set to invalid
- Status changed from Open to Closed
refreshMap() is private because it is not meant to be used from outside... It deliberately crashes on an assertion condition. It is not a part of API, the fact you can call it is just something resulting from PyQt's new signals/slots mechanism.