Merge branch 'master' of ssh://git@moblin-mdi.jf.intel.com/umg-moorestown-libva
diff --git a/src/X11/va_x11.c b/src/X11/va_x11.c
index 7bad12b..61ef2bf 100644
--- a/src/X11/va_x11.c
+++ b/src/X11/va_x11.c
@@ -154,6 +154,28 @@
     return vaStatus;
 }
 
+int vaDisplayIsValid(VADisplay dpy)
+{
+  VADisplayContextP tmp=NULL;
+  VADisplayContextP pDisplayContext = pDisplayContexts;
+
+  while (pDisplayContext)
+  {
+      if (pDisplayContext == (VADisplayContextP)dpy)
+      {
+          tmp = (VADisplay)pDisplayContext;
+          break;
+      }
+      pDisplayContext = pDisplayContext->pNext;
+  }
+
+  if (!tmp)
+      return 0;
+  
+  return tmp->vaIsValid(pDisplayContext);
+}
+
+
 VADisplay vaGetDisplay (
     Display *native_dpy
 )
diff --git a/src/va.c b/src/va.c
index 4e58dd3..1f6b1fe 100644
--- a/src/va.c
+++ b/src/va.c
@@ -51,11 +51,7 @@
 
 static int va_debug_trace = 0;
 
-static int vaDisplayIsValid(VADisplay dpy)
-{
-  VADisplayContextP pDisplayContext = (VADisplayContextP)dpy;
-  return pDisplayContext && pDisplayContext->vaIsValid(pDisplayContext);
-}
+int vaDisplayIsValid(VADisplay dpy);
 
 static void va_errorMessage(const char *msg, ...)
 {