aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel Carrasco Moñino <manuel.carrasco.m@gmail.com>2013-12-09 19:24:16 +0100
committerManuel Carrasco Moñino <manuel.carrasco.m@gmail.com>2013-12-09 19:24:16 +0100
commitbdb5ce4f3c1f86e7e86163c178c1826c4147979e (patch)
treef193ea51f85fc76ee171a99186383dadef82cc55
parent2b6ada605231247b9305bc70475c528047715bc7 (diff)
downloadgwtquery-bdb5ce4f3c1f86e7e86163c178c1826c4147979e.tar.gz
gwtquery-bdb5ce4f3c1f86e7e86163c178c1826c4147979e.zip
Fix gQuery failing when managing non native element objects
-rw-r--r--gwtquery-core/src/main/java/com/google/gwt/query/client/js/JsUtils.java12
-rw-r--r--gwtquery-core/src/main/java/com/google/gwt/query/client/plugins/Events.java2
2 files changed, 7 insertions, 7 deletions
diff --git a/gwtquery-core/src/main/java/com/google/gwt/query/client/js/JsUtils.java b/gwtquery-core/src/main/java/com/google/gwt/query/client/js/JsUtils.java
index d77c8cb9..693ff708 100644
--- a/gwtquery-core/src/main/java/com/google/gwt/query/client/js/JsUtils.java
+++ b/gwtquery-core/src/main/java/com/google/gwt/query/client/js/JsUtils.java
@@ -281,7 +281,7 @@ public class JsUtils {
* Returns the owner document element of an element.
*/
public static Document getOwnerDocument(Node n) {
- return n == null ? null : n.getNodeType() == Node.DOCUMENT_NODE
+ return n == null || !isElement(n) ? null : n.getNodeType() == Node.DOCUMENT_NODE
? n.<Document> cast() : n.getOwnerDocument();
}
@@ -343,7 +343,7 @@ public class JsUtils {
* Check is a javascript object can be cast to an Element
*/
public static boolean isElement(JavaScriptObject o) {
- return hasProperty(o, "nodeName");
+ return hasProperty(o, "nodeType") && hasProperty(o, "nodeName");
}
/**
@@ -387,7 +387,7 @@ public class JsUtils {
/**
* Load an external javascript library. The inserted script replaces the
* element with the given id in the document.
- *
+ *
* @deprecated use {@link com.google.gwt.query.client.plugins.ajax.Ajax#loadScript(String)}
*/
@Deprecated
@@ -445,10 +445,10 @@ public class JsUtils {
/**
* Call via jsni any arbitrary function present in a Javascript object.
- *
+ *
* It's thought for avoiding to create jsni methods to call external functions and
* facilitate the writing of js wrappers.
- *
+ *
* Example
* <pre>
* // Create a svg node in our document.
@@ -456,7 +456,7 @@ public class JsUtils {
* // Append it to the dom
* $(svg).appendTo(document);
* </pre>
- *
+ *
* @param o the javascript object where the function is.
* @param meth the literal name of the function to call.
* @param args an array with the arguments to pass to the function.
diff --git a/gwtquery-core/src/main/java/com/google/gwt/query/client/plugins/Events.java b/gwtquery-core/src/main/java/com/google/gwt/query/client/plugins/Events.java
index 5d09fea8..26f96fc4 100644
--- a/gwtquery-core/src/main/java/com/google/gwt/query/client/plugins/Events.java
+++ b/gwtquery-core/src/main/java/com/google/gwt/query/client/plugins/Events.java
@@ -40,7 +40,7 @@ public class Events extends GQuery {
* Don't apply events on text and comment nodes !!
*/
private static boolean isEventCapable(Node n) {
- return JsUtils.isWindow(n) || n.getNodeType() != 3 && n.getNodeType() != 8;
+ return JsUtils.isWindow(n) || JsUtils.isElement(n) && n.getNodeType() != 3 && n.getNodeType() != 8;
}
public Events(GQuery gq) {