summaryrefslogtreecommitdiff
path: root/src/client.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/client.cc')
-rw-r--r--src/client.cc14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/client.cc b/src/client.cc
index 55f2fb4c..d6111ce2 100644
--- a/src/client.cc
+++ b/src/client.cc
@@ -319,9 +319,13 @@ void OBClient::getShaped()
if (otk::OBDisplay::shape()) {
int foo;
unsigned int ufoo;
+ int s;
- XShapeQueryExtents(otk::OBDisplay::display, client.window, &_shaped, &foo,
+ XShapeSelectInput(otk::OBDisplay::display, _window, ShapeNotifyMask);
+
+ XShapeQueryExtents(otk::OBDisplay::display, _window, &s, &foo,
&foo, &ufoo, &ufoo, &foo, &foo, &foo, &ufoo, &ufoo);
+ _shaped = (s != 0);
}
#endif // SHAPE
}
@@ -649,6 +653,14 @@ void OBClient::update(const XClientMessageEvent &e)
}
+#if defined(SHAPE) || defined(DOXYGEN_IGNORE)
+void OBClient::update(const XShapeEvent &e)
+{
+ _shaped = e.shaped;
+}
+#endif
+
+
void OBClient::setArea(const otk::Rect &area)
{
_area = area;