Re: fluxbox permanentely freezes pointer device

NEURURER.Anton <[email protected]> Mon, 22 Aug 2016 06:17:06 +0000
Newsgroups gmane.comp.window-managers.fluxbox.user
Message-ID <[email protected]>
>Sorry for asking back, but I'd like to ensure that the problem finally disappeared over the last 10 days? (ie. the patch actually fixes it)

We are running 5 Displays with the original fluxbox and 5 with the patched version. So far 1 device with the original SW has gone to frozen state. All others work fine so far. It takes quite some time for the problem to occur.

I sent the patch to the devel mail address last week. So far I have not got any response.

We are planning to submit a bug report to debian as soon as the patch gets included in the current development version.

Best regards
Anton

------------------------------------------------------------------------------

_______________________________________________
Fluxbox-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fluxbox-users
0001-fix-frozen-input-device.patch (application/octet-stream, 1020 B)
From 10c9d52c3c17e1383f31991a96e86e59838e474e Mon Sep 17 00:00:00 2001
From: Anton Neururer <[email protected]>
Date: Tue, 16 Aug 2016 15:35:39 +0200
Subject: [PATCH] fix frozen input device

Due to system time drift (ntp) it can happen that XAllowEvents is a NOP.
Use "CurrentTime" instead of provided event time stamp.

Signed-off-by: Anton Neururer <[email protected]>
---
 src/Window.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Window.cc b/src/Window.cc
index f6fd139..378fbce 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -2406,7 +2406,7 @@ void FluxboxWindow::buttonPressEvent(XButtonEvent &be) {
         if (screen().clickRaises())
             raise();
 
-        XAllowEvents(display, ReplayPointer, be.time);
+        XAllowEvents(display, ReplayPointer, CurrentTime);
 
         m_button_grab_x = be.x_root - frame().x() - frame().window().borderWidth();
         m_button_grab_y = be.y_root - frame().y() - frame().window().borderWidth();
-- 
2.5.0