aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vncviewer/DesktopWindow.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/vncviewer/DesktopWindow.cxx b/vncviewer/DesktopWindow.cxx
index 2d363781..584debd1 100644
--- a/vncviewer/DesktopWindow.cxx
+++ b/vncviewer/DesktopWindow.cxx
@@ -245,6 +245,11 @@ DesktopWindow::DesktopWindow(int w, int h, const char *name,
DesktopWindow::~DesktopWindow()
{
+ // Don't leave any dangling grabs as they are not automatically
+ // cleaned up on all platforms
+ ungrabPointer();
+ ungrabKeyboard();
+
// Unregister all timeouts in case they get a change tro trigger
// again later when this object is already gone.
Fl::remove_timeout(handleGrab, this);