PDA

View Full Version : [FNR] [1.2.4] Listview unhandled exception when mouseout



srichardson
29 Jun 2009, 5:01 PM
To reproduce this problem go to the following page:
http://extjs.com/explorer/#listview

Browser: Firefox 3.0.11
Operating System: Windows Vista Business

1. Drag another window (eg: notepad or command window) so that it is sitting half over one of the images.
2. Now move the mouse over the half covered image and onto the other window.

This will throw the following exception that appears in the Firefox logs:

Error: uncaught exception: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOM3Node.compareDocumentPosition]" nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)" location: "JS frame :: http://extjs.com/explorer/D4B9628CEF58620927E53D8C7F7F8683.cache.html :: ncd :: line 2234" data: no]

This problem appears differently for us in our application in that an error message box appears over the browser... but there is no meaningful information.

This may appear obscure but it seems to happen quite a lot to us and our customers.

The way I have overcome this issue is to override the following functions in listview:

@Override
protected void onMouseOut(ListViewEvent ce) {
if (overElement != null) {
// This is causing the exception... if (!ce.within(overElement, true)) {
fly(overElement).removeStyleName(getOverStyle());
overElement = null;
// }
}
}

@Override
protected void onMouseOver(ListViewEvent ce) {
if (ce.index != -1) {
if (getSelectOnOver()) {
getSelectionModel().select(ce.index);
} else {
Element e = getElement(ce.index);
if (e != null && e != overElement) {
fly(e).addStyleName(getOverStyle());
overElement = e;
}
}
}
}

sven
30 Jun 2009, 3:06 AM
Fixed in SVN