mirror of
https://codeberg.org/dwl/dwl.git
synced 2025-12-16 18:03:19 +00:00
Fix dwl crashing when a new client spawns, isn't viewed, and then a new Popup is spawned
This commit is contained in:
parent
7b2b910c57
commit
a2bb0b3bf1
11
dwl.c
11
dwl.c
@ -885,12 +885,15 @@ createnotify(struct wl_listener *listener, void *data)
|
||||
* client, either a toplevel (application window) or popup. */
|
||||
struct wlr_xdg_surface *xdg_surface = data;
|
||||
Client *c;
|
||||
Arg tags;
|
||||
Arg oldtags;
|
||||
|
||||
if (xdg_surface->role == WLR_XDG_SURFACE_ROLE_POPUP) {
|
||||
Client *sel = selclient();
|
||||
Monitor *selmo = xytomon(cursor->x, cursor->y);
|
||||
struct wlr_box pop_box = {
|
||||
.x = sel->geom.x - selmon->m.x,
|
||||
.y = sel->geom.y - selmon->m.y,
|
||||
.x = sel->geom.x - selmo->m.x,
|
||||
.y = sel->geom.y - selmo->m.y,
|
||||
.width = sel->geom.width,
|
||||
.height = sel->geom.height,
|
||||
};
|
||||
@ -914,6 +917,10 @@ createnotify(struct wl_listener *listener, void *data)
|
||||
LISTEN(&xdg_surface->toplevel->events.request_fullscreen, &c->fullscreen,
|
||||
fullscreennotify);
|
||||
c->isfullscreen = 0;
|
||||
oldtags.ui = c->tags;
|
||||
tags.ui = c->tags;
|
||||
view(&tags);
|
||||
view(&oldtags);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user