aboutsummaryrefslogtreecommitdiffstats
path: root/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_window_shape.c
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2011-05-18 23:55:21 +0000
committerCarsten Haitzler <raster@rasterman.com>2011-05-18 23:55:21 +0000
commit480d967c55f9d9c097f75e6b6881001a2b94b4a7 (patch)
tree4c7ab80cec1f5e4076543479695f54f36bd22d55 /legacy/ecore/src/lib/ecore_x/xlib/ecore_x_window_shape.c
parentI like alphabetical order :) (diff)
downloadefl-480d967c55f9d9c097f75e6b6881001a2b94b4a7.tar.gz
fix shape and shape input handling for dnd shadow tree.
SVN revision: 59517
Diffstat (limited to 'legacy/ecore/src/lib/ecore_x/xlib/ecore_x_window_shape.c')
-rw-r--r--legacy/ecore/src/lib/ecore_x/xlib/ecore_x_window_shape.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_window_shape.c b/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_window_shape.c
index b9dd944d39..51c2010acb 100644
--- a/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_window_shape.c
+++ b/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_window_shape.c
@@ -619,9 +619,23 @@ ecore_x_window_shape_input_rectangles_get(Ecore_X_Window win, int *num_ret)
if (num_ret) *num_ret = num;
return rects;
#else
+ // have to return fake shape input rect of size of window
+ Window dw;
+ unsigned int di;
+
if (num_ret) *num_ret = 0;
- return NULL;
- win = 0;
+ rects = malloc(sizeof(Ecore_X_Rectangle));
+ if (!rects) return NULL;
+ if (!XGetGeometry(_ecore_x_disp, win, &dw,
+ &(rects[i].x), &(rects[i].y),
+ &(rects[i].width), &(rects[i].height),
+ &di, &di))
+ {
+ free(rects);
+ return NULL;
+ }
+ if (num_ret) *num_ret = 1;
+ return rects;
#endif
} /* ecore_x_window_shape_input_rectangles_get */