@@ -39,6 +39,7 @@ DEALINGS IN THE SOFTWARE.
3939#include < Graphics/Glyphs/GlyphGeom.h>
4040#include < Graphics/Datatypes/GeometryImpl.h>
4141#include < Core/GeometryPrimitives/Transform.h>
42+ #include < boost/timer.hpp>
4243
4344using namespace SCIRun ::Gui;
4445using namespace SCIRun ::Dataflow::Networks;
@@ -213,9 +214,19 @@ void ViewSceneDialog::mousePressEvent(QMouseEvent* event)
213214
214215void ViewSceneDialog::resizeEvent (QResizeEvent *event)
215216{
216- ViewSceneFeedback vsf;
217- vsf.windowSize = std::make_tuple (event->size ().width (), event->size ().height ());
218- state_->setTransientValue (Parameters::GeometryFeedbackInfo, vsf);
217+ static boost::timer timer;
218+ static Mutex lock (" VS::resize" );
219+
220+ {
221+ Guard g (lock.get ());
222+ if (timer.elapsed () > 1 )
223+ {
224+ timer.restart ();
225+ ViewSceneFeedback vsf;
226+ vsf.windowSize = std::make_tuple (event->size ().width (), event->size ().height ());
227+ state_->setTransientValue (Parameters::GeometryFeedbackInfo, vsf);
228+ }
229+ }
219230
220231 ModuleDialogGeneric::resizeEvent (event);
221232}
@@ -1040,7 +1051,7 @@ GeometryHandle ViewSceneDialog::buildGeometryScaleBar()
10401051 oneline = ss.str ();
10411052 double text_len = 0.0 ;
10421053 if (textBuilder_.isReady ())
1043- text_len = textBuilder_.getStringLen (oneline);
1054+ text_len = std::get< 0 >( textBuilder_.getStringDims (oneline) );
10441055 text_len += 5 ;// add a 5-pixel gap
10451056
10461057 std::vector<Vector> points;
@@ -1679,8 +1690,8 @@ namespace //TODO: move to appropriate location
16791690
16801691void ViewSceneDialog::sendGeometryFeedbackToState (int x, int y, const std::string& selName)
16811692{
1682- std::shared_ptr<SRInterface> spire = mSpire .lock ();
1683- glm::mat4 trans = spire->getWidgetTransform ().transform ;
1693+ auto spire = mSpire .lock ();
1694+ auto trans = spire->getWidgetTransform ().transform ;
16841695
16851696 ViewSceneFeedback vsf;
16861697 vsf.transform = toSciTransform (trans);
0 commit comments