mirror of https://github.com/FreeRDP/FreeRDP
Do not use override redirect - causes windows to appear on all desktops
Enable non-rectangular windows and test with windows media player
This commit is contained in:
parent
e97a2bc158
commit
cfcabaefc2
|
@ -230,15 +230,6 @@ void xf_SetWindowStyle(xfInfo* xfi, xfWindow* window, uint32 style, uint32 ex_st
|
|||
|
||||
if ((ex_style & WS_EX_TOPMOST) || (ex_style & WS_EX_TOOLWINDOW))
|
||||
{
|
||||
/*
|
||||
* These include tool tips, dropdown menus, etc. These won't work
|
||||
* correctly if the local window manager resizes or moves them.
|
||||
* Set override redirect to prevent this from occurring.
|
||||
*/
|
||||
|
||||
XSetWindowAttributes attrs;
|
||||
attrs.override_redirect = True;
|
||||
XChangeWindowAttributes(xfi->display, window->handle, CWOverrideRedirect, &attrs);
|
||||
window->is_transient = true;
|
||||
xf_SetWindowUnlisted(xfi, window);
|
||||
|
||||
|
@ -666,6 +657,9 @@ void xf_SetWindowRects(xfInfo* xfi, xfWindow* window, RECTANGLE_16* rects, int n
|
|||
int i;
|
||||
XRectangle* xrects;
|
||||
|
||||
if (nrects == 0)
|
||||
return;
|
||||
|
||||
xrects = xmalloc(sizeof(XRectangle) * nrects);
|
||||
|
||||
for (i = 0; i < nrects; i++)
|
||||
|
@ -688,6 +682,9 @@ void xf_SetWindowVisibilityRects(xfInfo* xfi, xfWindow* window, RECTANGLE_16* re
|
|||
int i;
|
||||
XRectangle* xrects;
|
||||
|
||||
if (nrects == 0)
|
||||
return;
|
||||
|
||||
xrects = xmalloc(sizeof(XRectangle) * nrects);
|
||||
|
||||
for (i = 0; i < nrects; i++)
|
||||
|
@ -699,7 +696,7 @@ void xf_SetWindowVisibilityRects(xfInfo* xfi, xfWindow* window, RECTANGLE_16* re
|
|||
}
|
||||
|
||||
#ifdef WITH_XEXT
|
||||
//XShapeCombineRectangles(xfi->display, window->handle, ShapeBounding, 0, 0, xrects, nrects, ShapeSet, 0);
|
||||
XShapeCombineRectangles(xfi->display, window->handle, ShapeBounding, 0, 0, xrects, nrects, ShapeSet, 0);
|
||||
#endif
|
||||
|
||||
xfree(xrects);
|
||||
|
|
Loading…
Reference in New Issue