Summary: | Copy via CTRL+C stops working on websites using frames | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | Thomas Jarosch <thomas.jarosch> |
Component: | general | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | anj.tuesday |
Priority: | NOR | ||
Version: | 4.2.1 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Thomas Jarosch
2009-03-17 15:02:38 UTC
To aid debugging, here's a page with a frame on the right: www.k10k.net Hmm, could anyone please be so nice and test if this is atleast reproducable? I can still trigger it on KDE 4.2.4. Me, too. Using KDE 4.2.98 (4.3 RC3), Kubuntu 9.04. I can copy using the context menu, I can paste using a middle-click, but Ctrl-C still doesn't do anything (perceptible). I did some further testing: The problem didn't occur with a KDE 4.3.0RC2 live CD. After that I created another user on my KDE 4.2.4 box with a fresh .kde directory and voila, it's working too. I suspect this is a configuration issue that appeared after a KDE 4.1.X to KDE 4.2.X upgrade as I tend to keep my .kde directory when I upgrade KDE if possible. I tried to find the broken config file by deleting selected files in ".kde/share/config" with names like "konquerorrc", but I wasn't able to isolate the source of the problem yet. Just upgraded to KDE 4.3.1 and killed the .kde directory. Still seeing the issue. Ideas? Ok, I gave this a little debugging: - KHTMLPartBrowserExtension::copy() -does- get called -> Redirects control to "callExtensionProxyMethod( "copy()" );" If I comment out the redirect to callExtensionProxyMethod( "copy()", I found out that KHTMLPart::selectedText() returns no text. Dunno if this is a valid thing to do, but it can't get much worse than it is :) I digged down further in KHTMLPart::selectedText() and saw this piece of code: const Selection &sel = d->editor_context.m_selection; DOM::Node n = sel.start().node(); n.isNull() is true if I use the CTRL+C approach. If I use the context menu of the right mouse button, n.isNull() is false and the text gets correctly copied. Now I'm stuck. SVN commit 1032495 by dfaure: Repair copy (and cut and paste) in frames (and iframes). Was two bugs in one: * another instance of wrong invokeMethod() calls after the Qt3->Qt4 porting. * emitSelectionChanged() (called from mouseReleaseEvent in the toplevel khtmlpart) was disabling "copy" again after the active frame had enabled it. Fix will be in KDE 4.3.3 and later. BUG: 187403 M +4 -8 khtml_ext.cpp M +8 -4 khtml_part.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1032495 Just for the record: A CTRL+C issue with readonly form widgets has been fixed, too. Works even after using the back button/page reload ;) Thanks again, David! |