diff options
-rw-r--r-- | src/fluxbox.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index 1e1ef36..9cad953 100644 --- a/src/fluxbox.cc +++ b/src/fluxbox.cc | |||
@@ -22,7 +22,7 @@ | |||
22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
23 | // DEALINGS IN THE SOFTWARE. | 23 | // DEALINGS IN THE SOFTWARE. |
24 | 24 | ||
25 | // $Id: fluxbox.cc,v 1.213 2003/12/21 16:23:59 fluxgen Exp $ | 25 | // $Id: fluxbox.cc,v 1.214 2003/12/21 22:42:31 fluxgen Exp $ |
26 | 26 | ||
27 | #include "fluxbox.hh" | 27 | #include "fluxbox.hh" |
28 | 28 | ||
@@ -764,18 +764,26 @@ void Fluxbox::handleEvent(XEvent * const e) { | |||
764 | } | 764 | } |
765 | 765 | ||
766 | 766 | ||
767 | // update key/mouse screen before we enter other eventhandlers | 767 | // update key/mouse screen and last time before we enter other eventhandlers |
768 | if (e->type == KeyPress || | 768 | if (e->type == KeyPress || |
769 | e->type == KeyRelease) { | 769 | e->type == KeyRelease) { |
770 | m_keyscreen = searchScreen(e->xkey.root); | 770 | m_keyscreen = searchScreen(e->xkey.root); |
771 | } else if (e->type == ButtonPress || | 771 | } else if (e->type == ButtonPress || |
772 | e->type == ButtonRelease || | 772 | e->type == ButtonRelease || |
773 | e->type == MotionNotify ) { | 773 | e->type == MotionNotify ) { |
774 | if (e->type == MotionNotify) | ||
775 | m_last_time = e->xmotion.time; | ||
776 | else | ||
777 | m_last_time = e->xbutton.time; | ||
778 | |||
774 | m_mousescreen = searchScreen(e->xbutton.root); | 779 | m_mousescreen = searchScreen(e->xbutton.root); |
775 | } else if (e->type == EnterNotify || | 780 | } else if (e->type == EnterNotify || |
776 | e->type == LeaveNotify) { | 781 | e->type == LeaveNotify) { |
782 | m_last_time = e->xcrossing.time; | ||
777 | m_mousescreen = searchScreen(e->xcrossing.root); | 783 | m_mousescreen = searchScreen(e->xcrossing.root); |
778 | } | 784 | } else if (e->type == PropertyNotify) |
785 | m_last_time = e->xproperty.time; | ||
786 | |||
779 | 787 | ||
780 | // try FbTk::EventHandler first | 788 | // try FbTk::EventHandler first |
781 | FbTk::EventManager::instance()->handleEvent(*e); | 789 | FbTk::EventManager::instance()->handleEvent(*e); |