From 40153a83f9bddb54add6a7247cf22fbc8e36dc10 Mon Sep 17 00:00:00 2001
From: Adrian Negreanu <adrian.m.negreanu@intel.com>
Date: Tue, 10 Sep 2013 15:48:00 +0300
Subject: consider currentFile when searching for global symbols

Signed-off-by: Adrian Negreanu <adrian.m.negreanu@intel.com>
---
 src/util.cpp | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/util.cpp b/src/util.cpp
index e67e9fb..83eb095 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -4307,7 +4307,20 @@ bool getDefs(const QCString &scName,
       //printf("found %d candidate members\n",members.count());
       if (members.count()>0) // at least one match
       {
-        md=members.last();
+        if (currentFile)
+        {
+          //printf("multiple results; pick one from file:%s\n", currentFile->name().data());
+          md = members.first();
+          while (md) {
+            if (md->getFileDef()->name() == currentFile->name())
+              break;
+            md=members.next();
+          }
+          if (!md)
+            md=members.last();
+        } else {
+          md=members.last();
+        }
       }
       if (md && (md->getEnumScope()==0 || !md->getEnumScope()->isStrong())) 
            // found a matching global member, that is not a scoped enum value (or uniquely matches)
-- 
cgit v0.12