From 0df1b1e3b0a8f65763a1b2358cee6819b2d3c971 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 19 Oct 2009 11:47:12 -0600 Subject: [PATCH] Fix #3813 (News Feed Searching Bug From attribute:'showing_count') --- src/calibre/gui2/dialogs/scheduler.py | 4 ++++ src/calibre/web/feeds/recipes/model.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/calibre/gui2/dialogs/scheduler.py b/src/calibre/gui2/dialogs/scheduler.py index 79fe926909..c99eca28f1 100644 --- a/src/calibre/gui2/dialogs/scheduler.py +++ b/src/calibre/gui2/dialogs/scheduler.py @@ -55,6 +55,10 @@ class SchedulerDialog(QDialog, Ui_Dialog): self.old_news.setValue(gconf['oldest_news']) def break_cycles(self): + self.disconnect(self.recipe_model, SIGNAL('searched(PyQt_PyObject)'), + self.search_done) + self.disconnect(self.recipe_model, SIGNAL('searched(PyQt_PyObject)'), + self.search.search_done) self.recipe_model = None def search_done(self, *args): diff --git a/src/calibre/web/feeds/recipes/model.py b/src/calibre/web/feeds/recipes/model.py index 9efcd9e78e..db2bfb46e5 100644 --- a/src/calibre/web/feeds/recipes/model.py +++ b/src/calibre/web/feeds/recipes/model.py @@ -164,6 +164,8 @@ class RecipeModel(QAbstractItemModel, SearchQueryParser): return cls(*args) def ok(urn): + if restrict_to_urns is None: + return False return not restrict_to_urns or urn in restrict_to_urns new_root = factory(NewsTreeItem, None) @@ -230,6 +232,8 @@ class RecipeModel(QAbstractItemModel, SearchQueryParser): def search(self, query, refinement): try: results = self.parse(unicode(query)) + if not results: + results = None except ParseException: results = [] self.do_refresh(restrict_to_urns=results)