Ignore:
Timestamp:
Apr 23, 2021, 8:31:23 PM (5 years ago)
Author:
Frederik Heber <frederik.heber@…>
Branches:
Candidate_v1.7.0, stable
Children:
0ad4781
Parents:
b0060a
git-author:
Frederik Heber <frederik.heber@…> (08/08/20 23:20:31)
git-committer:
Frederik Heber <frederik.heber@…> (04/23/21 20:31:23)
Message:

Added mutex on changes_present in GLWorldView.

  • this should prevent selections from being not updated immediatelty.
  • This happens because the selections may occur during painting of the WorldView and race conditions of setting change_present.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Views/Qt4/Qt3D/GLWorldView.cpp

    rb0060a r3f5b0a  
    434434void GLWorldView::initializeGL(QGLPainter *painter)
    435435{
     436  boost::recursive_mutex::scoped_lock lock(changed_mutex);
    436437  worldscene->initialize(this, painter);
    437438  changesPresent = false;
     
    440441void GLWorldView::paintGL(QGLPainter *painter)
    441442{
    442   if (changesPresent)
    443     initializeGL(painter);
     443  {
     444    boost::recursive_mutex::scoped_lock lock(changed_mutex);
     445    if (changesPresent)
     446      initializeGL(painter);
     447  }
    444448
    445449  QVector3D cameraDir = camera()->center() - camera()->eye();
     
    497501void GLWorldView::changeSignalled()
    498502{
     503  boost::recursive_mutex::scoped_lock lock(changed_mutex);
    499504  changesPresent = true;
    500505  updateGL();
Note: See TracChangeset for help on using the changeset viewer.