[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/khtml/ecma
From:       Maks Orlovich <maksim () kde ! org>
Date:       2009-10-01 4:13:38
Message-ID: 1254370418.332640.32436.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1029928 by orlovich:

Add some robustness vs. 194667/202699; should hopefully
avoid crashes, but needs further investigation

CCBUG:202699
CCBUG:194667



 M  +8 -2      kjs_window.cpp  


--- trunk/KDE/kdelibs/khtml/ecma/kjs_window.cpp #1029927:1029928
@@ -2107,7 +2107,10 @@
         JSEventListener *listener = \
Window::retrieveActive(exec)->getJSEventListener(args[1]);  if (listener) {
 	    DOM::DocumentImpl* docimpl = static_cast<DOM::DocumentImpl \
                *>(part->document().handle());
-            docimpl->addWindowEventListener(EventName::fromString(args[0]->toString(exec).domString()),listener,args[2]->toBoolean(exec));
 +	    if (docimpl)
+		docimpl->addWindowEventListener(EventName::fromString(args[0]->toString(exec).domString()),listener,args[2]->toBoolean(exec));
 +	    else
+		kWarning() << "document missing on Window::AddEventListener. why?";
         }
         return jsUndefined();
     }
@@ -2115,7 +2118,10 @@
         JSEventListener *listener = \
Window::retrieveActive(exec)->getJSEventListener(args[1]);  if (listener) {
 	    DOM::DocumentImpl* docimpl = static_cast<DOM::DocumentImpl \
                *>(part->document().handle());
-            docimpl->removeWindowEventListener(EventName::fromString(args[0]->toString(exec).domString()),listener,args[2]->toBoolean(exec));
 +	    if (docimpl)
+		docimpl->removeWindowEventListener(EventName::fromString(args[0]->toString(exec).domString()),listener,args[2]->toBoolean(exec));
 +	    else
+		kWarning() << "document missing on Window::RemoveEventListener. why?";
         }
         return jsUndefined();
     }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic