winex11: Don't put window manager decorations on shaped windows.
This commit is contained in:
parent
4e761d2613
commit
2bbf00ed08
|
@ -163,6 +163,7 @@ static unsigned long get_mwm_decorations( struct x11drv_win_data *data,
|
||||||
if (!decorated_mode) return 0;
|
if (!decorated_mode) return 0;
|
||||||
|
|
||||||
if (IsRectEmpty( &data->window_rect )) return 0;
|
if (IsRectEmpty( &data->window_rect )) return 0;
|
||||||
|
if (data->shaped) return 0;
|
||||||
|
|
||||||
if (ex_style & WS_EX_TOOLWINDOW) return 0;
|
if (ex_style & WS_EX_TOOLWINDOW) return 0;
|
||||||
|
|
||||||
|
@ -321,6 +322,7 @@ static void sync_window_region( Display *display, struct x11drv_win_data *data,
|
||||||
{
|
{
|
||||||
#ifdef HAVE_LIBXSHAPE
|
#ifdef HAVE_LIBXSHAPE
|
||||||
if (!data->whole_window) return;
|
if (!data->whole_window) return;
|
||||||
|
data->shaped = FALSE;
|
||||||
|
|
||||||
if (!hrgn)
|
if (!hrgn)
|
||||||
{
|
{
|
||||||
|
@ -341,6 +343,7 @@ static void sync_window_region( Display *display, struct x11drv_win_data *data,
|
||||||
pRegionData->rdh.nCount, ShapeSet, YXBanded );
|
pRegionData->rdh.nCount, ShapeSet, YXBanded );
|
||||||
wine_tsx11_unlock();
|
wine_tsx11_unlock();
|
||||||
HeapFree(GetProcessHeap(), 0, pRegionData);
|
HeapFree(GetProcessHeap(), 0, pRegionData);
|
||||||
|
data->shaped = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* HAVE_LIBXSHAPE */
|
#endif /* HAVE_LIBXSHAPE */
|
||||||
|
|
|
@ -690,6 +690,7 @@ struct x11drv_win_data
|
||||||
BOOL mapped : 1; /* is window mapped? (in either normal or iconic state) */
|
BOOL mapped : 1; /* is window mapped? (in either normal or iconic state) */
|
||||||
BOOL iconic : 1; /* is window in iconic state? */
|
BOOL iconic : 1; /* is window in iconic state? */
|
||||||
BOOL embedded : 1; /* is window an XEMBED client? */
|
BOOL embedded : 1; /* is window an XEMBED client? */
|
||||||
|
BOOL shaped : 1; /* is window using a custom region shape? */
|
||||||
int wm_state; /* current value of the WM_STATE property */
|
int wm_state; /* current value of the WM_STATE property */
|
||||||
DWORD net_wm_state; /* bit mask of active x11drv_net_wm_state values */
|
DWORD net_wm_state; /* bit mask of active x11drv_net_wm_state values */
|
||||||
HBITMAP hWMIconBitmap;
|
HBITMAP hWMIconBitmap;
|
||||||
|
|
Loading…
Reference in New Issue