diff options
author | Okan Demirmen <okan@cvs.openbsd.org> | 2009-04-15 14:01:46 +0000 |
---|---|---|
committer | Okan Demirmen <okan@cvs.openbsd.org> | 2009-04-15 14:01:46 +0000 |
commit | 2850366d21e546e21590af9e37ef3407eef47f59 (patch) | |
tree | 400b6d423b94f3e5b27493c30e17f8e45c919dd2 | |
parent | e4224221d625e4273011ca768952a852905148c9 (diff) |
properly teardown X connection upon quit; static a few while here,
requested by oga@
ok oga@ sometime ago
-rw-r--r-- | app/cwm/calmwm.c | 18 | ||||
-rw-r--r-- | app/cwm/calmwm.h | 4 |
2 files changed, 18 insertions, 4 deletions
diff --git a/app/cwm/calmwm.c b/app/cwm/calmwm.c index 953faab75..a23e72610 100644 --- a/app/cwm/calmwm.c +++ b/app/cwm/calmwm.c @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: calmwm.c,v 1.35 2009/01/27 02:16:20 okan Exp $ + * $Id: calmwm.c,v 1.36 2009/04/15 14:01:45 okan Exp $ */ #include "headers.h" @@ -40,6 +40,9 @@ struct conf Conf; static void _sigchld_cb(int); static void dpy_init(const char *); +static void x_setup(void); +static void x_setupscreen(struct screen_ctx *, u_int); +static void x_teardown(void); int main(int argc, char **argv) @@ -97,6 +100,8 @@ main(int argc, char **argv) xev_loop(); + x_teardown(); + return (0); } @@ -144,6 +149,17 @@ x_setup(void) } void +x_teardown(void) +{ + struct screen_ctx *sc; + + TAILQ_FOREACH(sc, &Screenq, entry) + XFreeGC(X_Dpy, sc->gc); + + XCloseDisplay(X_Dpy); +} + +void x_setupscreen(struct screen_ctx *sc, u_int which) { XColor tmp; diff --git a/app/cwm/calmwm.h b/app/cwm/calmwm.h index 36ef77bce..f512ebcec 100644 --- a/app/cwm/calmwm.h +++ b/app/cwm/calmwm.h @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: calmwm.h,v 1.83 2009/02/07 21:07:00 martynas Exp $ + * $Id: calmwm.h,v 1.84 2009/04/15 14:01:45 okan Exp $ */ #ifndef _CALMWM_H_ @@ -310,8 +310,6 @@ int input_keycodetrans(KeyCode, u_int, enum ctltype *, char *); int x_errorhandler(Display *, XErrorEvent *); -void x_setup(void); -void x_setupscreen(struct screen_ctx *, u_int); __dead void usage(void); struct client_ctx *client_find(Window); |