AU-ExoMars / PCOT

Pancam Operations Toolkit
MIT License
3 stars 0 forks source link

Changing lots of tab widgets causes lots of mark/changed calls. #37

Open jimfinnis opened 3 years ago

jimfinnis commented 3 years ago

As an example, consider "spectrum." If onNodeChanged is called, we end up setting lots of widget values. Each of these causes the widget to send its valueChanged signal, which calls a method, which calls mark/changed. We don't end up with lots of undo states because mark() checks updatingTabs (which is true). However, each of those calls results in a perform.

I could check updatingTabs (which is called around the onNodeChanged call in Tab.nodeChanged) but I don't know if that will cause problems. It might be ok in spectrum, but elsewhere?

jimfinnis commented 3 years ago

I've put in a change to Tab.changed, so that the XFormGraph.changed only gets called if we're not called from inside Tab.nodeChanged.