~townsend/unity/fix-lp1168019

« back to all changes in this revision

Viewing changes to UnityCore/Filters.cpp

  • Committer: Tarmac
  • Author(s): Michal Hruby
  • Date: 2013-08-15 11:55:15 UTC
  • mfrom: (3468.1.1 unity)
  • Revision ID: tarmac-20130815115515-xv73ft4pmoq275a6
Make sure we emit row_added signals for all rows present in a model when changing a model Model::SetModel(). Fixes: https://bugs.launchpad.net/bugs/1212580.

Approved by PS Jenkins bot, Michał Sawicz, Nick Dedekind.

Show diffs side-by-side

added added

removed removed

Lines of Context:
188
188
 
189
189
FilterAdaptorIterator Filters::end() const
190
190
{
191
 
  return FilterAdaptorIterator(model(), dee_model_get_last_iter(model()), GetTag());  
 
191
  return FilterAdaptorIterator(model(), dee_model_get_last_iter(model()), GetTag());
192
192
}
193
193
 
194
194
void Filters::OnRowAdded(FilterAdaptor& filter)
201
201
 
202
202
void Filters::OnRowChanged(FilterAdaptor& filter)
203
203
{
 
204
  if (filter_map_.find(filter.get_id()) == filter_map_.end())
 
205
  {
 
206
    filter_changed(filter.create_filter());
 
207
    return;
 
208
  }
204
209
  filter_changed(filter_map_[filter.get_id()]);
205
210
}
206
211
 
207
212
void Filters::OnRowRemoved(FilterAdaptor& filter)
208
213
{
 
214
  if (filter_map_.find(filter.get_id()) == filter_map_.end())
 
215
  {
 
216
    filter_removed(filter.create_filter());
 
217
    return;
 
218
  }
209
219
  filter_removed(filter_map_[filter.get_id()]);
210
220
  filter_map_.erase(filter.get_id());
211
221
}