Ignore:
Timestamp:
Jul 12, 2017, 7:11:51 PM (8 years ago)
Author:
Frederik Heber <frederik.heber@…>
Branches:
Action_Thermostats, Adding_MD_integration_tests, Adding_StructOpt_integration_tests, AutomationFragmentation_failures, Candidate_v1.6.1, Candidate_v1.7.0, Candidate_v1.7.1, ChemicalSpaceEvaluator, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Exclude_Hydrogens_annealWithBondGraph, Fix_Verbose_Codepatterns, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, Gui_displays_atomic_force_velocity, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, PythonUI_with_named_parameters, Recreated_GuiChecks, StoppableMakroAction, TremoloParser_IncreasedPrecision, stable
Children:
4c6f0d
Parents:
b10593
git-author:
Frederik Heber <frederik.heber@…> (07/12/17 12:20:23)
git-committer:
Frederik Heber <frederik.heber@…> (07/12/17 19:11:51)
Message:

FIX: several Qt...Lists required mutex to control refill triggered by observable update.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Views/Qt4/QtShapeList.cpp

    rb10593 r7516f6  
    6565        setHeaderLabels(header);
    6666
    67         clearing = false;
    6867        selecting = false;
    6968
     
    114113}
    115114
    116 void QtShapeList::refill(::Shape *ignore) {
     115void QtShapeList::refill(::Shape *ignore)
     116{
     117  boost::recursive_mutex::scoped_lock lock(refill_mutex);
    117118
    118   clearing = true;
    119119  clear();
    120120  shapeSelection.clear();
     
    138138    shapeSelection.push_back(reg.isSelected(s));
    139139  }
    140   clearing = false;
    141140}
    142141
    143 #if 0
    144142void QtShapeList::paintEvent(QPaintEvent * event)
    145143{
     144  boost::recursive_mutex::scoped_lock lock(refill_mutex);
    146145  /*if (dirty)
    147146    refill();*/
    148   QtShapeList::paintEvent(event);
     147  QTreeWidget::paintEvent(event);
    149148}
    150 #endif
    151149
    152150void QtShapeList::subjectKilled(Observable *publisher) {
     
    156154void QtShapeList::rowSelected()
    157155{
    158   if (clearing)
    159     return;
     156  boost::recursive_mutex::scoped_lock lock(refill_mutex);
     157
    160158  if (selecting)
    161159    return;
Note: See TracChangeset for help on using the changeset viewer.