summaryrefslogtreecommitdiffstats
path: root/opensuse/core/qt3/0060-qpopup_ignore_mousepos.patch
diff options
context:
space:
mode:
Diffstat (limited to 'opensuse/core/qt3/0060-qpopup_ignore_mousepos.patch')
-rw-r--r--opensuse/core/qt3/0060-qpopup_ignore_mousepos.patch60
1 files changed, 0 insertions, 60 deletions
diff --git a/opensuse/core/qt3/0060-qpopup_ignore_mousepos.patch b/opensuse/core/qt3/0060-qpopup_ignore_mousepos.patch
deleted file mode 100644
index 50d48bd35..000000000
--- a/opensuse/core/qt3/0060-qpopup_ignore_mousepos.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-qt-bugs@ issue : 49417
-bugs.kde.org number : 74778
-applied: no
-author: Lubos Lunak <l.lunak@kde.org>
-
- Hello,
-
- please consider applying the two attached QPopupMenu patches fixing KDE bugs
- #58719 and #74778 (http://bugs.kde.org/show_bug.cgi?id=58719,
- http://bugs.kde.org/show_bug.cgi?id=74778), which complain about keyboard
- navigation in popup menus being very uncomfortable because of being affected
- by mouse position despite mouse not being used at all.
-
- [... #58719 ... ]
-
- - ignoremousepos.patch - (#74778) - use keyboard to open some popup which
- doesn't show up at mouse position (e.g. Alt+F3 with KWin or the context menu
- key with some file selected in Konqueror). If the mouse is positioned in the
- area where the popup shows, the random entry happening to be at the cursor
- position becomes highlighted.
- The patch fixes this by ignoring mouse events that happen at mouse position
- which was current when the popup was shown, i.e. all mouse move events that
- actually aren't triggered by mouse move are ignored. I first wanted to ignore
- only the very first mouse move event (which should be caused by EnterNotify
- for the popup) but I realized that Qt's event handling causes the popup to
- possibly get more than just one initial move event, caused by LeaveNotify
- events for normal widgets being transformed to mouse move events for the
- popup, so I have no better idea how to solve this problem.
-
-================================================================================
---- src/widgets/qpopupmenu.cpp
-+++ src/widgets/qpopupmenu.cpp
-@@ -254,6 +254,7 @@
- QSize calcSize;
- QRegion mouseMoveBuffer;
- uint hasmouse : 1;
-+ QPoint ignoremousepos;
- };
-
- static QPopupMenu* active_popup_menu = 0;
-@@ -1356,6 +1357,7 @@
- popupActive = -1;
- if(style().styleHint(QStyle::SH_PopupMenu_SubMenuPopupDelay, this))
- d->mouseMoveBuffer = QRegion();
-+ d->ignoremousepos = QCursor::pos();
- }
-
- /*!
-@@ -1703,6 +1705,11 @@
-
- void QPopupMenu::mouseMoveEvent( QMouseEvent *e )
- {
-+ if( e->globalPos() == d->ignoremousepos ) {
-+ return;
-+ }
-+ d->ignoremousepos = QPoint();
-+
- motion++;
-
- if ( parentMenu && parentMenu->isPopupMenu ) {