~ruther/dwl

88f241d1cf54ffb7ec1f6e092ccb547c96f57ac9 — Leonardo Hernández Hernández 3 years ago ebff6e3 + 43228bd
Merge branch 'fix-segfault-in-fullscreennotify'
2 files changed, 21 insertions(+), 1 deletions(-)

M client.h
M dwl.c
M client.h => client.h +10 -0
@@ 104,6 104,16 @@ client_is_float_type(Client *c)
}

static inline int
client_wants_fullscreen(Client *c)
{
#ifdef XWAYLAND
	if (client_is_x11(c))
		return c->surface.xwayland->fullscreen;
#endif
	return c->surface.xdg->toplevel->requested.fullscreen;
}

static inline int
client_is_unmanaged(Client *c)
{
#ifdef XWAYLAND

M dwl.c => dwl.c +11 -1
@@ 1043,7 1043,14 @@ void
fullscreennotify(struct wl_listener *listener, void *data)
{
	Client *c = wl_container_of(listener, c, fullscreen);
	setfullscreen(c, !c->isfullscreen);
	int fullscreen = client_wants_fullscreen(c);

	if (!c->mon) {
		/* if the client is not mapped yet, let mapnotify() call setfullscreen() */
		c->isfullscreen = fullscreen;
		return;
	}
	setfullscreen(c, fullscreen);
}

Monitor *


@@ 1318,6 1325,9 @@ mapnotify(struct wl_listener *listener, void *data)
	/* Set initial monitor, tags, floating status, and focus */
	applyrules(c);
	printstatus();

	if (c->isfullscreen)
		setfullscreen(c, 1);
}

void

Do not follow this link