Comment 3 for bug 915956

Revision history for this message
Robert Roth (evfool) wrote : Re: List of displayed applications duplicates after searching in “What's new”

I have investigated this issue, and the problem is that the _refresh_apps_with_app_cache method after the back button press is invoked twice, with the following stacktraces (removed most of the common part from the traces, like Gtk.main(), etc):

1. File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/widgets/backforward.py", line 83, in on_clicked
    self.emit(button.signal_name)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/viewmanager.py", line 85, in on_nav_back_clicked
    pane.on_nav_back_clicked(widget)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 277, in on_nav_back_clicked
    vm.nav_back()
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/viewmanager.py", line 221, in nav_back
    self.navhistory.nav_back()
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/navhistory.py", line 77, in nav_back
    nav_item.navigate_to()
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/navhistory.py", line 139, in navigate_to
    self.view_state, self.callback)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/viewmanager.py", line 195, in display_page
    callback(page, view_state)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/availablepane.py", line 678, in display_app_view_page
    self.refresh_apps()
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/availablepane.py", line 813, in refresh_apps
    SoftwarePane.refresh_apps(self, query)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 417, in refresh_apps
    self._refresh_apps_with_apt_cache(query)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/utils.py", line 119, in wrapper
    f(*args, **kwargs)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 439, in _refresh_apps_with_apt_cache
    traceback.print_stack()

2. File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/widgets/backforward.py", line 83, in on_clicked
    self.emit(button.signal_name)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/viewmanager.py", line 85, in on_nav_back_clicked
    pane.on_nav_back_clicked(widget)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 277, in on_nav_back_clicked
    vm.nav_back()
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/viewmanager.py", line 221, in nav_back
    self.navhistory.nav_back()
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/navhistory.py", line 77, in nav_back
    nav_item.navigate_to()
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/navhistory.py", line 139, in navigate_to
    self.view_state, self.callback)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/viewmanager.py", line 195, in display_page
    callback(page, view_state)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/availablepane.py", line 678, in display_app_view_page
    self.refresh_apps()
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/availablepane.py", line 813, in refresh_apps
    SoftwarePane.refresh_apps(self, query)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 417, in refresh_apps
    self._refresh_apps_with_apt_cache(query)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/utils.py", line 119, in wrapper
    f(*args, **kwargs)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 440, in _refresh_apps_with_apt_cache
    self.app_view.configure_sort_method(self._is_in_search_mode())
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/views/appview.py", line 225, in configure_sort_method
    self._use_combobox_without_sort_by_search_ranking()
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/views/appview.py", line 157, in _use_combobox_without_sort_by_search_ranking
    self.sort_methods_combobox.remove(self._SORT_BY_SEARCH_RANKING)
  File "/usr/lib/python2.7/dist-packages/gi/types.py", line 43, in function
    return info.invoke(*args, **kwargs)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/views/appview.py", line 135, in on_sort_method_changed
    self.emit("sort-method-changed", self.sort_methods_combobox)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 296, in on_app_view_sort_method_changed
    self._refresh_apps_with_apt_cache(query)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/utils.py", line 119, in wrapper
    f(*args, **kwargs)
  File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 439, in _refresh_apps_with_apt_cache
    traceback.print_stack()