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

List:       kde-commits
Subject:    =?utf-8?q?=5Bkdelibs=5D_khtml/ecma=3A_Don=27t_go_through_C++_wra?=
From:       Maks Orlovich <maksim () kde ! org>
Date:       2011-02-19 22:43:38
Message-ID: 20110219224338.AC5B1A60C9 () git ! kde ! org
[Download RAW message or body]

Git commit fefb64c565115a645629eac8a154554314d42677 by Maks Orlovich.
Committed on 06/02/2011 at 17:07.
Pushed by orlovich into branch 'master'.

Don't go through C++ wrappers here, they throw exceptions.

CCBUG: 262040

M  +15   -6    khtml/ecma/kjs_range.cpp     

http://commits.kde.org/kdelibs/fefb64c565115a645629eac8a154554314d42677

diff --git a/khtml/ecma/kjs_range.cpp b/khtml/ecma/kjs_range.cpp
index dc9840f..500ebbd 100644
--- a/khtml/ecma/kjs_range.cpp
+++ b/khtml/ecma/kjs_range.cpp
@@ -369,11 +369,15 @@ JSValue* DOMSelectionProtoFunc::callAsFunction(ExecState *exec, JSObject *thisOb
             break;
         }
 
-        case DOMSelection::DeleteFromDocument:
+        case DOMSelection::DeleteFromDocument: {
             self->m_document->part()->setCaret(DOM::Selection());
-            sel.toRange().deleteContents();
+            DOM::Range r = sel.toRange();
+            DOM::RangeImpl* ri = r.handle();
+            if (ri) {
+                ri->deleteContents(exception);
+            }
             break;
-        
+        }
             
         case DOMSelection::GetRangeAt: {
             int i = args[0]->toInt32(exec);
@@ -441,10 +445,15 @@ JSValue* DOMSelectionProtoFunc::callAsFunction(ExecState *exec, JSObject *thisOb
             break;
 
         case DOMSelection::ToString:
-            if (sel.isEmpty() || sel.isCollapsed())
+            if (sel.isEmpty() || sel.isCollapsed()) {
                 return jsString(UString());
-            else
-                return jsString(sel.toRange().toString());
+            } else {
+                DOM::Range r = sel.toRange();
+                DOM::RangeImpl* ri = r.handle();
+                if (ri) {
+                    return jsString(ri->toString(exception));
+                }
+            }
             break;
     }
     return jsUndefined();


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

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