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

List:       kfm-devel
Subject:    PATCH: BR# 71162 and BR# 65553
From:       "Dawit A." <adawit () kde ! org>
Date:       2004-03-16 17:36:24
Message-ID: 200403161233.56883.adawit () kde ! org
[Download RAW message or body]

Hi,

The attached patch is intended to address the regression with dragging links 
and images as described in these reports. Please test...

-- 
Regards,
Dawit A.
"Preach what you practice, practice what you preach"



["patch-71162.diff" (text/x-diff)]

Index: khtml_part.cpp
===================================================================
RCS file: /home/kde/kdelibs/khtml/khtml_part.cpp,v
retrieving revision 1.978
diff -u -3 -p -r1.978 khtml_part.cpp
--- khtml_part.cpp	8 Mar 2004 14:42:17 -0000	1.978
+++ khtml_part.cpp	16 Mar 2004 22:21:56 -0000
@@ -5363,6 +5367,11 @@ void KHTMLPart::khtmlMouseMoveEvent( kht
     d->m_strSelectedURL = d->m_strSelectedURLTarget = QString::null;
     d->m_bRightMousePressed = false;
   }
+
+  DOM::DOMString url = event->url();
+  DOM::DOMString target = event->target();
+  DOM::Node innerNode = event->innerNode();
+  
 #ifndef QT_NO_DRAGANDDROP
   if( d->m_bDnd && d->m_bMousePressed &&
       ( (!d->m_strSelectedURL.isEmpty() && !isEditable())
@@ -5374,23 +5383,20 @@ void KHTMLPart::khtmlMouseMoveEvent( kht
     HTMLImageElementImpl *img = 0L;
     QDragObject *drag = 0;
     KURL u;
-    if ( d->m_mousePressNode.handle() && d->m_mousePressNode.handle()->id() == ID_IMG )
-    {
-      // Normal image
-      img = static_cast<HTMLImageElementImpl *>(d->m_mousePressNode.handle());
+    
+    // qDebug("****************** Event URL: %s", url.string().latin1());
+    // qDebug("****************** Event Target: %s", target.string().latin1());
+    
+    // Normal image...
+    if ( url.length() == 0 && innerNode.handle() && innerNode.handle()->id() == ID_IMG )
+    {      
+      img = static_cast<HTMLImageElementImpl *>(innerNode.handle());
       u = KURL( completeURL( khtml::parseURL(img->getAttribute(ATTR_SRC)).string() ) );
       pix = KMimeType::mimeType("image/png")->pixmap(KIcon::Desktop);
     }
-    else if ( event->innerNode().handle() && event->innerNode().handle()->id() == ID_IMG )
-    {
-      // Image inside a link?
-      img = static_cast<HTMLImageElementImpl *>(event->innerNode().handle());
-      u = completeURL( d->m_strSelectedURL );
-      pix = KMimeType::mimeType("image/png")->pixmap(KIcon::Desktop);
-    }
     else
     {
-      // Text link
+      // Text or image link...
       u = completeURL( d->m_strSelectedURL );
       pix = KMimeType::pixmapForURL(u, 0, KIcon::Desktop, KIcon::SizeMedium);
     }
@@ -5422,10 +5428,6 @@ void KHTMLPart::khtmlMouseMoveEvent( kht
   }
 #endif
 
-  DOM::DOMString url = event->url();
-  DOM::DOMString target = event->target();
-  DOM::Node innerNode = event->innerNode();
-
   // Not clicked -> mouse over stuff
   if ( !d->m_bMousePressed )
   {


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

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