diff options
Diffstat (limited to '')
| -rw-r--r-- | client.h | 19 | 
1 files changed, 9 insertions, 10 deletions
| @@ -208,18 +208,18 @@ client_is_float_type(Client *c)  #ifdef XWAYLAND  	if (client_is_x11(c)) {  		struct wlr_xwayland_surface *surface = c->surface.xwayland; -		xcb_size_hints_t *size_hints; +		xcb_size_hints_t *size_hints = surface->size_hints; +		size_t i;  		if (surface->modal)  			return 1; -		for (size_t i = 0; i < surface->window_type_len; i++) -			if (surface->window_type[i] == netatom[NetWMWindowTypeDialog] || -					surface->window_type[i] == netatom[NetWMWindowTypeSplash] || -					surface->window_type[i] == netatom[NetWMWindowTypeToolbar] || -					surface->window_type[i] == netatom[NetWMWindowTypeUtility]) +		for (i = 0; i < surface->window_type_len; i++) +			if (surface->window_type[i] == netatom[NetWMWindowTypeDialog] +					|| surface->window_type[i] == netatom[NetWMWindowTypeSplash] +					|| surface->window_type[i] == netatom[NetWMWindowTypeToolbar] +					|| surface->window_type[i] == netatom[NetWMWindowTypeUtility])  				return 1; -		size_hints = surface->size_hints;  		return size_hints && size_hints->min_width > 0 && size_hints->min_height > 0  			&& (size_hints->max_width == size_hints->min_width  				|| size_hints->max_height == size_hints->min_height); @@ -228,10 +228,9 @@ client_is_float_type(Client *c)  	toplevel = c->surface.xdg->toplevel;  	state = toplevel->current; -	return (state.min_width != 0 && state.min_height != 0 +	return toplevel->parent || (state.min_width != 0 && state.min_height != 0  		&& (state.min_width == state.max_width -		|| state.min_height == state.max_height)) -		|| toplevel->parent; +			|| state.min_height == state.max_height));  }  static inline int | 
