From 234ac3f19195b4b4ba42ce9137d39bddbe0d8f8b Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Wed, 24 Dec 2014 11:49:31 +0100 Subject: [PATCH] FileTypes: Avoid useless call to ReplaceRef Don't replace the ref with itself in the most common case where the scanned file is not a symlink. Save a lot of useless memory copies and ref flattening in BMessage. --- src/preferences/filetypes/FileTypes.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/preferences/filetypes/FileTypes.cpp b/src/preferences/filetypes/FileTypes.cpp index e36a25773e..0d3cd0f259 100644 --- a/src/preferences/filetypes/FileTypes.cpp +++ b/src/preferences/filetypes/FileTypes.cpp @@ -238,7 +238,8 @@ FileTypes::RefsReceived(BMessage* message) } if (!is_application(file) && !is_resource(file)) { - if (entry.GetRef(&ref) == B_OK) + entry_ref target; + if (entry.GetRef(&target) == B_OK && target != ref) message->ReplaceRef("refs", index - 1, &ref); continue; }