summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBossCode45 <human.cyborg42@gmail.com>2023-02-25 17:18:57 +1300
committerBossCode45 <human.cyborg42@gmail.com>2023-02-25 17:18:57 +1300
commitc6dfbe77478dab4c18dd6605f9d922b812ed4f88 (patch)
treee933855409379ab3d48730937d586e086462c983
parentfbc2a30ab874fe852780d0fa9791ee6f9223f692 (diff)
downloadYATwm-c6dfbe77478dab4c18dd6605f9d922b812ed4f88.tar.gz
YATwm-c6dfbe77478dab4c18dd6605f9d922b812ed4f88.zip
feat: fixed bug where opening MPV caused a seg fault
reason for bug: MPV doesn't provide any information about itself when mapping
-rw-r--r--main.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/main.cpp b/main.cpp
index 37ae38f..efd42dc 100644
--- a/main.cpp
+++ b/main.cpp
@@ -576,10 +576,13 @@ void mapRequest(XMapRequestEvent e)
XMapWindow(dpy, e.window);
XTextProperty name;
- XGetWMName(dpy, e.window, &name);
+ bool gotName = XGetWMName(dpy, e.window, &name);
XWindowAttributes attr;
XGetWindowAttributes(dpy, e.window, &attr);
- log("Mapping window: " << name.value);
+ if(gotName)
+ log("Mapping window: " << name.value);
+ else
+ log("Mapping window with unknown name (its probably mpv, mpv is annoying)");
log("\tWindow ID: " << e.window);
Window focusedWindow;
@@ -632,7 +635,7 @@ void mapRequest(XMapRequestEvent e)
unsigned char* data;
Atom type;
int status = getProp(e.window, "_NET_WM_WINDOW_TYPE", &type, &data);
- if (status == Success && ((Atom*)data)[0] == XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DOCK", false))
+ if (status == Success && type != None && ((Atom*)data)[0] == XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DOCK", false))
{
log("\tWindow was bar");
bH = attr.height;