nsxiv22a8b66
Fixed BadDrawable errors caused by invalid window pixmap
+5 −6
1 file changed
- M window.c +5 −6
| @@ -267,12 +267,11 @@ bool win_configure(win_t *win, XConfigureEvent *c) { | |||
| 267 | 267 | } | |
| 268 | 268 | ||
| 269 | 269 | void win_expose(win_t *win, XExposeEvent *e) { | |
| 270 | − | if (win == NULL || win->xwin == None || e == NULL) | |
| 270 | + | if (win == NULL || win->xwin == None || win->pm == None || e == NULL) | |
| 271 | 271 | return; | |
| 272 | 272 | ||
| 273 | − | if (win->pm != None) | |
| 274 | − | XCopyArea(win->env.dpy, win->pm, win->xwin, gc, | |
| 275 | − | e->x, e->y, e->width, e->height, e->x, e->y); | |
| 273 | + | XCopyArea(win->env.dpy, win->pm, win->xwin, gc, | |
| 274 | + | e->x, e->y, e->width, e->height, e->x, e->y); | |
| 276 | 275 | } | |
| 277 | 276 | ||
| 278 | 277 | bool win_moveresize(win_t *win, int x, int y, unsigned int w, unsigned int h) { | |
| @@ -359,7 +358,7 @@ void win_draw_bar(win_t *win) { | |||
| 359 | 358 | int len, x, y, w, tw = 0, seplen; | |
| 360 | 359 | const char *rt; | |
| 361 | 360 | ||
| 362 | − | if (win == NULL || win->xwin == None) | |
| 361 | + | if (win == NULL || win->xwin == None || win->pm == None) | |
| 363 | 362 | return; | |
| 364 | 363 | ||
| 365 | 364 | e = &win->env; | |
| @@ -407,7 +406,7 @@ void win_draw_bar(win_t *win) { | |||
| 407 | 406 | } | |
| 408 | 407 | ||
| 409 | 408 | void win_draw(win_t *win) { | |
| 410 | − | if (win == NULL || win->xwin == None) | |
| 409 | + | if (win == NULL || win->xwin == None || win->pm == None) | |
| 411 | 410 | return; | |
| 412 | 411 | ||
| 413 | 412 | if (win->barh > 0) | |