Bugfix: NULL dereference when stickying _NET_WM_DESKTOP_ALL windows (#2488)

In some cases, ws will be NULL here.

Originally tested with "lemonbar"
This commit is contained in:
Ferdinand Bachmann 2016-10-03 14:53:56 +02:00 committed by Michael Stapelberg
parent c71f6f8f7c
commit 6b3d8b9e8b
1 changed files with 1 additions and 1 deletions

View File

@ -433,7 +433,7 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki
/* We ignore the hint for an internal workspace because windows in the /* We ignore the hint for an internal workspace because windows in the
* scratchpad also have this value, but upon restarting i3 we don't want * scratchpad also have this value, but upon restarting i3 we don't want
* them to become sticky windows. */ * them to become sticky windows. */
if (cwindow->wm_desktop == NET_WM_DESKTOP_ALL && !con_is_internal(ws)) { if (cwindow->wm_desktop == NET_WM_DESKTOP_ALL && (ws == NULL || !con_is_internal(ws))) {
DLOG("This window has _NET_WM_DESKTOP = 0xFFFFFFFF. Will float it and make it sticky.\n"); DLOG("This window has _NET_WM_DESKTOP = 0xFFFFFFFF. Will float it and make it sticky.\n");
nc->sticky = true; nc->sticky = true;
want_floating = true; want_floating = true;