MgLayerCollection::Remove returns true even for non-existent layers
|Reported by:||jng||Owned by:|
If you call Remove() on a MgLayerCollection passing in a layer that doesn't belong to the collection, true is returned.
This is inconsistent with the behaviour of other collection classes. where the contract is Remove() returns true if the layer was removed successfully.
With the MgLayerCollection, it's even worse as it will then detach this non-existent layer and track it's changes even though it doesn't belong to the collection
Attached is a patch to fix this behavior