CM: Skip windows with empty shape.
Windows with empty shape seem to cause rendering artifacts, e.g. in pager hiwin when the small pager tooltip images have empty shape. AFAICT windows with empty shape should be handled properly by the CM... server bug? Anyway, might as well skip them entirely. SVN revision: 47921
This commit is contained in:
parent
0cc43fd186
commit
8551c41582
|
@ -1627,6 +1627,9 @@ ECompMgrDetermineOrder(EObj * const *lst, int num, EObj ** first,
|
|||
if ((!eo->shown && !eo->fading) || eo->desk != dsk)
|
||||
continue;
|
||||
|
||||
if (EobjHasEmptyShape(eo))
|
||||
continue;
|
||||
|
||||
/* Region of shaped window in screen coordinates */
|
||||
if (!cw->have_shape)
|
||||
ECompMgrWinSetShape(eo);
|
||||
|
|
|
@ -79,6 +79,8 @@ struct _eobj {
|
|||
#define EobjGetW(eo) WinGetW(EobjGetWin(eo))
|
||||
#define EobjGetH(eo) WinGetH(EobjGetWin(eo))
|
||||
#define EobjGetBW(eo) WinGetBorderWidth(EobjGetWin(eo))
|
||||
#define EobjHasEmptyShape(eo) (WinGetNumRect(EobjGetWin(eo)) < 0)
|
||||
|
||||
#define EobjGetType(eo) ((eo)->type)
|
||||
#define EobjGetDesk(eo) ((eo)->desk)
|
||||
#define EobjGetName(eo) ((eo)->icccm.wm_name)
|
||||
|
|
|
@ -129,6 +129,7 @@ Win ELookupXwin(Window xwin);
|
|||
#define WinGetDepth(win) ((win)->depth)
|
||||
#define WinGetVisual(win) ((win)->visual)
|
||||
#define WinGetCmap(win) ((win)->cmap)
|
||||
#define WinGetNumRect(win) ((win)->num_rect)
|
||||
#define WinIsMapped(win) ((win)->mapped != 0)
|
||||
#define WinIsShaped(win) ((win)->num_rect != 0)
|
||||
|
||||
|
|
Loading…
Reference in New Issue