Bug 99267 - Shortcuts don't work if cursor is on flash applet
Summary: Shortcuts don't work if cursor is on flash applet
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Unclassified
Component: nspluginviewer (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal (vote)
Target Milestone: ---
Assignee: George Staikos
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-13 15:01 UTC by Hasso Tepper
Modified: 2005-02-28 16:44 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
patch (2.46 KB, patch)
2005-02-24 01:33 UTC, George Staikos
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Hasso Tepper 2005-02-13 15:01:04 UTC
Version:           3.3.92 (using KDE 3.3.92 (beta2), compiled sources)
Compiler:          gcc version 3.3.5 (Debian 1:3.3.5-7)
OS:                Linux (i686) release 2.6.10

If page is loaded and cursor happens to be in the place where flash applet appears, shortcuts (ctrl+o etc.) don't work any more. Moving cursor away from applet makes them work again. You can move move cursor back to the applet then, it will not break shortcuts any more.
Comment 1 George Staikos 2005-02-21 11:43:21 UTC
testcase?
Comment 2 Hasso Tepper 2005-02-21 12:56:32 UTC
http://hasso.linux.ee/flash-test.html

1) Load page. Shorcuts should work if cursor wasn't in the applet in the moment of load.
2) Move cursor to the applet, ctrl+o and enter this address again. Ctrl+o doesn't work any more after load.
3) Move cursor away from applet -> ctrl+o works again.
4) Move cursor back to the applet -> ctrl+o still works.
Comment 3 George Staikos 2005-02-23 06:55:13 UTC
Ah, it's the mouse cursor.  I was thinking it had to do with the keyboard focus.
Comment 4 George Staikos 2005-02-24 00:27:37 UTC
Same bug

*** This bug has been marked as a duplicate of 75837 ***
Comment 5 George Staikos 2005-02-24 01:28:22 UTC
Incorrect, they're opposite problems.  D'oh.
Comment 6 George Staikos 2005-02-24 01:33:36 UTC
Created attachment 9801 [details]
patch

Set the focus to the qxembed widget which results in accels working and plugin
keyboard interaction not working.  D'oh.

Set the focus to the embedded window and accels stop working but plugin
keyboard interaction works.
Comment 7 Lubos Lunak 2005-02-28 16:44:18 UTC
CVS commit by lunakl: 

The widget for XSetInputFocus() must be visible.
BUG: 99267


  M +4 -1      qxembed.cpp   1.67


--- kdelibs/kdeui/qxembed.cpp  #1.66:1.67
@@ -617,6 +617,9 @@ QXEmbed::QXEmbed(QWidget *parent, const 
     //        against Qt (L0690, L0914, L1040, L1310, L1510, L1580). 
     //        This would be much simpler if implemented within Qt.
-    d->focusProxy = new QWidget( this, "xembed_focus" );
+    d->focusProxy = new QWidget( topLevelWidget(), "xembed_focus" );
     d->focusProxy->setGeometry( -1, -1, 1, 1 );
+    d->focusProxy->show();
+    // make sure it's shown - for XSetInputFocus
+    QApplication::sendPostedEvents( d->focusProxy, 0 );
     // L0903: Install the client side event filters
     //        because they also provide services for the embedder side