Tracker: Use B_QUERY_WATCH_ALL to avoid watching every single node.
Similar to the use of B_WATCH_CHILDREN for directories.
Following the preceding commits, this seems to be working well.
Diff
src/kits/tracker/QueryPoseView.cpp | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
@@ -57,6 +57,7 @@
#include "Tracker.h"
#include <fs_attr.h>
#include <query_private.h>
using std::nothrow;
@@ -357,7 +358,8 @@
uint32
BQueryPoseView::WatchNewNodeMask()
{
return B_WATCH_NAME | B_WATCH_STAT | B_WATCH_ATTR;
return 0;
}
@@ -627,8 +629,9 @@
const_cast<BQuery*>(copyThis)->GetPredicate(&buffer);
query->SetPredicate(buffer.String());
query->SetTarget(BMessenger(target));
query->SetVolume(volume);
query->SetTarget(BMessenger(target));
query->SetFlags(B_QUERY_WATCH_ALL);
status_t result = query->Fetch();
if (result != B_OK) {