#811 closed defect (fixed)
selectionChanged() SIGNAL getting connected and disconnected on raster layers in qgsmapcanvas.cpp
Reported by: | aaronr | Owned by: | aaronr |
---|---|---|---|
Priority: | minor: annoyance | Milestone: | |
Component: | MapCanvas | Version: | Trunk |
Keywords: | Cc: | ||
Must Fix for Release: | No | Platform: | All |
Platform Version: | Awaiting user input: | no |
Description
In qgsmapcanvas.cpp in QgsMapCanvas::setLayerSet a disconnect and connect call to selectionChanged signal are being made on the map layer set, but some of those layers can be raster layers. selectionChanged() is a signal that only vector layers can emit.
This bug causes warning messages to appear when calling setLayerSet via the python bindings with a layer set that contains rasters.
The solution is to wrap the disconnect and connect calls with logic to test if the layer is a vector layer.
Attachments (1)
Change History (4)
by , 15 years ago
Attachment: | bug811fix.diff added |
---|
comment:1 by , 15 years ago
Status: | new → assigned |
---|
Turns out src/app/legend/qgslegendlayerfile.cpp also contains the issue... not only for selectionChanged() but for wasModified(bool) as well. Both of these need to be connected only to vector layers. Attached is a patch to wrap all of these cases to check for vector layer.
comment:2 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Applied in r7416. Many thanks for the input!
Bug fix for Ticket #811