]> source.dussan.org Git - gwtquery.git/commitdiff
Fix issue #265
authorjdramaix <julien.dramaix@gmail.com>
Sat, 1 Feb 2014 15:49:36 +0000 (16:49 +0100)
committerjdramaix <julien.dramaix@gmail.com>
Sat, 1 Feb 2014 15:49:36 +0000 (16:49 +0100)
gwtquery-core/src/main/java/com/google/gwt/query/client/GQuery.java

index cd75ccd36cf5a2b28bf36a5fa58cfd61d028c6ce..cb6d74cf662b0ae3b5cb5a5bd3378cd6c866925e 100644 (file)
@@ -290,6 +290,7 @@ public class GQuery implements Lazy<GQuery, LazyGQuery> {
         System.err.println("GQuery.$(Object o) could not wrap the type : " + o.getClass());
       }
     }
+
     return $();
   }
 
@@ -491,6 +492,7 @@ public class GQuery implements Lazy<GQuery, LazyGQuery> {
    * Return true if the element b is contained in a.
    */
   public static boolean contains(Element a, Element b) {
+    maybeInitializeSelectorEngine();
     return engine.contains(a, b);
   }
 
@@ -764,6 +766,12 @@ public class GQuery implements Lazy<GQuery, LazyGQuery> {
     return new Deferred();
   }
 
+  private static void maybeInitializeSelectorEngine() {
+    if (engine == null) {
+      engine = new SelectorEngine();
+    }
+  }
+
   private static native void scrollIntoViewImpl(Node n) /*-{
                if (n)
                        n.scrollIntoView()
@@ -2408,7 +2416,7 @@ public class GQuery implements Lazy<GQuery, LazyGQuery> {
   public GQuery has(final Element elem) {
     return filter(new Predicate() {
       public boolean f(Element e, int index) {
-        return engine.contains(e, elem);
+        return contains(e, elem);
       }
     });
   }
@@ -4137,9 +4145,7 @@ public class GQuery implements Lazy<GQuery, LazyGQuery> {
   }
 
   private GQuery select(String selector, Node context) {
-    if (engine == null) {
-      engine = new SelectorEngine();
-    }
+    maybeInitializeSelectorEngine();
 
     NodeList<Element> n = engine.select(selector, context == null ? document : context);
     currentSelector = selector;