]> Dogcows Code - chaz/openbox/blobdiff - src/actions.cc
when i get a button press on the client window, i have to manufacture the release...
[chaz/openbox] / src / actions.cc
index e758dd0d056d8f383104908a52f833dd58e3137c..309323cca6281c323e027a2bd093e7d066b27597 100644 (file)
@@ -5,7 +5,7 @@
 #endif
 
 #include "actions.hh"
-#include "widget.hh"
+#include "widgetbase.hh"
 #include "openbox.hh"
 #include "client.hh"
 #include "screen.hh"
@@ -88,6 +88,17 @@ void OBActions::buttonPressHandler(const XButtonEvent &e)
   if (_button) return; // won't count toward CLICK events
 
   _button = e.button;
+
+  if (w->mcontext() == MC_Window) {
+    /*
+      Because of how events are grabbed on the client window, we can't get
+      ButtonRelease events, so instead we simply manufacture them here, so that
+      clicks/doubleclicks etc still work.
+    */
+    XButtonEvent ev = e;
+    ev.type = ButtonRelease;
+    buttonReleaseHandler(ev);
+  }
 }
   
 
This page took 0.020453 seconds and 4 git commands to generate.