[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9

dimich at chromium.org dimich at chromium.org
Thu Feb 4 21:28:32 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit fb3fc213cb90c4dabae8de22a37ba58e050ef84a
Author: dimich at chromium.org <dimich at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jan 27 01:20:03 2010 +0000

    DumpRenderTree silently crashes at the end of the run because geolocationControllerClient pointer is 0.
    https://bugs.webkit.org/show_bug.cgi?id=34191
    
    Reviewed by Steve Falkenburg.
    
    * page/GeolocationController.cpp:
    (WebCore::GeolocationController::~GeolocationController): Add check for m_client being 0.
    (WebCore::GeolocationController::addObserver): Ditto.
    (WebCore::GeolocationController::removeObserver): Ditto.
    (WebCore::GeolocationController::lastPosition): Ditto.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53876 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 41a9f9c..fa06d75 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2010-01-26  Dmitry Titov  <dimich at chromium.org>
+
+        Reviewed by Steve Falkenburg.
+
+        DumpRenderTree silently crashes at the end of the run because geolocationControllerClient pointer is 0.
+        https://bugs.webkit.org/show_bug.cgi?id=34191
+
+        * page/GeolocationController.cpp:
+        (WebCore::GeolocationController::~GeolocationController): Add check for m_client being 0.
+        (WebCore::GeolocationController::addObserver): Ditto.
+        (WebCore::GeolocationController::removeObserver): Ditto.
+        (WebCore::GeolocationController::lastPosition): Ditto.
+
 2010-01-26  Simon Fraser  <simon.fraser at apple.com>
 
         Reviewed by Adele Peterson.
diff --git a/WebCore/page/GeolocationController.cpp b/WebCore/page/GeolocationController.cpp
index 29bc17b..fd18b45 100644
--- a/WebCore/page/GeolocationController.cpp
+++ b/WebCore/page/GeolocationController.cpp
@@ -40,7 +40,8 @@ GeolocationController::GeolocationController(Page* page, GeolocationControllerCl
 
 GeolocationController::~GeolocationController()
 {
-    m_client->geolocationDestroyed();
+    if (m_client)
+        m_client->geolocationDestroyed();
 }
 
 void GeolocationController::addObserver(Geolocation* observer)
@@ -49,7 +50,7 @@ void GeolocationController::addObserver(Geolocation* observer)
 
     bool wasEmpty = m_observers.isEmpty();
     m_observers.add(observer);
-    if (wasEmpty)
+    if (wasEmpty && m_client)
         m_client->startUpdating();
 }
 
@@ -59,7 +60,7 @@ void GeolocationController::removeObserver(Geolocation* observer)
         return;
 
     m_observers.remove(observer);
-    if (m_observers.isEmpty())
+    if (m_observers.isEmpty() && m_client)
         m_client->stopUpdating();
 }
 
@@ -81,6 +82,9 @@ void GeolocationController::errorOccurred(GeolocationError* error)
 
 GeolocationPosition* GeolocationController::lastPosition()
 {
+    if (!m_client)
+        return 0;
+
     return m_client->lastPosition();
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list