branches/KDE/4.3/kdelibs/khtml

View: New views
1 Messages — Rating Filter:   Alert me  

branches/KDE/4.3/kdelibs/khtml

by Bugzilla from faure@kde.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

SVN commit 1032497 by dfaure:

Backport fix for "copy" in frames (#187403)


 M  +4 -8      khtml_ext.cpp  
 M  +8 -4      khtml_part.cpp  


--- branches/KDE/4.3/kdelibs/khtml/khtml_ext.cpp #1032496:1032497
@@ -193,7 +193,7 @@
 {
     if ( m_extensionProxy )
     {
-        callExtensionProxyMethod( "cut()" );
+        callExtensionProxyMethod( "cut" );
         return;
     }
 
@@ -210,16 +210,16 @@
 {
     if ( m_extensionProxy )
     {
-        callExtensionProxyMethod( "copy()" );
+        callExtensionProxyMethod( "copy" );
         return;
     }
 
-    kDebug( 6050 ) << "************! KHTMLPartBrowserExtension::copy()";
     if ( !m_editableFormWidget )
     {
         // get selected text and paste to the clipboard
         QString text = m_part->selectedText();
         text.replace( QChar( 0xa0 ), ' ' );
+        //kDebug(6050) << text;
 
         QClipboard *cb = QApplication::clipboard();
         disconnect( cb, SIGNAL( selectionChanged() ), m_part, SLOT( slotClearSelection() ) );
@@ -285,7 +285,7 @@
 {
     if ( m_extensionProxy )
     {
-        callExtensionProxyMethod( "paste()" );
+        callExtensionProxyMethod( "paste" );
         return;
     }
 
@@ -303,10 +303,6 @@
     if ( !m_extensionProxy )
         return;
 
-    int slot = m_extensionProxy->metaObject()->indexOfSlot( method );
-    if ( slot == -1 )
-        return;
-
     QMetaObject::invokeMethod(m_extensionProxy, method, Qt::DirectConnection);
 }
 
--- branches/KDE/4.3/kdelibs/khtml/khtml_part.cpp #1032496:1032497
@@ -5549,10 +5549,14 @@
 
 void KHTMLPart::emitSelectionChanged()
 {
-  emit d->m_extension->enableAction( "copy", hasSelection() );
-
-  emit d->m_extension->selectionInfo( selectedText() );
-  emit selectionChanged();
+    // Don't emit signals about our selection if this is a frameset;
+    // the active frame has the selection (#187403)
+    if (!d->m_activeFrame)
+    {
+        emit d->m_extension->enableAction( "copy", hasSelection() );
+        emit d->m_extension->selectionInfo( selectedText() );
+        emit selectionChanged();
+    }
 }
 
 int KHTMLPart::zoomFactor() const
_______________________________________________
Khtml-cvs mailing list
Khtml-cvs@...
https://mail.kde.org/mailman/listinfo/khtml-cvs