Tracker: BPoseView handles "size" and "last_modified" with B_STAT_UPDATE.
Fixes #19916.
This commit is contained in:
@@ -363,6 +363,25 @@ BQueryPoseView::WatchNewNodeMask()
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
BQueryPoseView::AttributeChanged(const BMessage* message)
|
||||
{
|
||||
BMessage alteredMessage;
|
||||
const char* attrName;
|
||||
if (message->FindString("attr", &attrName) == B_OK) {
|
||||
if (strcmp(attrName, "last_modified") == 0 || strcmp(attrName, "size") == 0) {
|
||||
// BPoseView handles changes to these under B_STAT_UPDATE,
|
||||
// so make this message look like that one.
|
||||
alteredMessage = *message;
|
||||
alteredMessage.RemoveName("attr");
|
||||
message = &alteredMessage;
|
||||
}
|
||||
}
|
||||
|
||||
return BPoseView::AttributeChanged(message);
|
||||
}
|
||||
|
||||
|
||||
const char*
|
||||
BQueryPoseView::SearchForType() const
|
||||
{
|
||||
|
||||
@@ -79,6 +79,7 @@ protected:
|
||||
virtual EntryListBase* InitDirentIterator(const entry_ref*);
|
||||
virtual void ReturnDirentIterator(EntryListBase* iterator);
|
||||
virtual uint32 WatchNewNodeMask();
|
||||
virtual bool AttributeChanged(const BMessage*);
|
||||
virtual void AddPosesCompleted();
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user