properly teardown X connection upon quit; static a few while here,

requested by oga@

ok oga@ sometime ago
This commit is contained in:
okan 2009-04-15 14:01:45 +00:00
parent 7113f1c30c
commit cc291e2910
2 changed files with 18 additions and 4 deletions

View File

@ -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);
}
@ -143,6 +148,17 @@ x_setup(void)
Cursor_question = XCreateFontCursor(X_Dpy, XC_question_arrow);
}
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)
{

View File

@ -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);