fixed
addc52c9
1 file(s) · +13 −13
| 250 | 250 | XClassHint ch = { 0 }; |
|
| 251 | 251 | ||
| 252 | 252 | /* rule matching */ |
|
| 253 | - | if(XGetClassHint(dpy, c->win, &ch) == 0) |
|
| 254 | - | return; |
|
| 255 | - | for(i = 0; i < LENGTH(rules); i++) { |
|
| 256 | - | r = &rules[i]; |
|
| 257 | - | if((!r->title || strstr(c->name, r->title)) |
|
| 258 | - | && (!r->class || (ch.res_class && strstr(ch.res_class, r->class))) |
|
| 259 | - | && (!r->instance || (ch.res_name && strstr(ch.res_name, r->instance)))) { |
|
| 260 | - | c->isfloating = r->isfloating; |
|
| 261 | - | c->tags |= r->tags & TAGMASK; |
|
| 253 | + | if(XGetClassHint(dpy, c->win, &ch)) { |
|
| 254 | + | for(i = 0; i < LENGTH(rules); i++) { |
|
| 255 | + | r = &rules[i]; |
|
| 256 | + | if((!r->title || strstr(c->name, r->title)) |
|
| 257 | + | && (!r->class || (ch.res_class && strstr(ch.res_class, r->class))) |
|
| 258 | + | && (!r->instance || (ch.res_name && strstr(ch.res_name, r->instance)))) { |
|
| 259 | + | c->isfloating = r->isfloating; |
|
| 260 | + | c->tags |= r->tags & TAGMASK; |
|
| 261 | + | } |
|
| 262 | 262 | } |
|
| 263 | + | if(ch.res_class) |
|
| 264 | + | XFree(ch.res_class); |
|
| 265 | + | if(ch.res_name) |
|
| 266 | + | XFree(ch.res_name); |
|
| 263 | 267 | } |
|
| 264 | - | if(ch.res_class) |
|
| 265 | - | XFree(ch.res_class); |
|
| 266 | - | if(ch.res_name) |
|
| 267 | - | XFree(ch.res_name); |
|
| 268 | 268 | if(!c->tags) |
|
| 269 | 269 | c->tags = tagset[seltags]; |
|
| 270 | 270 | } |