commit e5982aec2fc7ec81c85721ce3d9eae64170a957f
parent 6c47a05c6382f54c8a171151a9ade052b2b8fc20
Author: Kris Maglione <jg@suckless.org>
Date: Wed, 7 Feb 2007 21:23:50 -0500
Removed the startup_error_handler
Diffstat:
| main.c | | | 24 | ++++-------------------- |
1 file changed, 4 insertions(+), 20 deletions(-)
diff --git a/main.c b/main.c
@@ -19,7 +19,6 @@
#include <X11/Xatom.h>
#include <X11/Xproto.h>
-static int other_wm_running;
static int (*x_error_handler) (Display *, XErrorEvent *);
static char version[] = "wmiiwm - " VERSION ", (C)opyright MMIV-MMVI Anselm R. Garbe\n";
@@ -154,6 +153,8 @@ init_screen(WMScreen *screen) {
*/
int
wmii_error_handler(Display *dpy, XErrorEvent *error) {
+ if(starting)
+ ixp_eprint("wmiiwm: another window manager is already running\n");
if(error->error_code == BadWindow
|| (error->request_code == X_SetInputFocus
&& error->error_code == BadMatch)
@@ -173,16 +174,6 @@ wmii_error_handler(Display *dpy, XErrorEvent *error) {
return x_error_handler(blz.dpy, error); /* calls exit() */
}
-/*
- * Startup Error handler to check if another window manager
- * is already running.
- */
-static int
-startup_error_handler(Display * dpy, XErrorEvent * error) {
- other_wm_running = 1;
- return -1;
-}
-
static void
cleanup() {
Client *c;
@@ -230,6 +221,7 @@ main(int argc, char *argv[]) {
usage();
setlocale(LC_CTYPE, "");
+ starting = True;
blz.dpy = XOpenDisplay(0);
if(!blz.dpy)
@@ -237,14 +229,9 @@ main(int argc, char *argv[]) {
blz.screen = DefaultScreen(blz.dpy);
blz.root = RootWindow(blz.dpy, blz.screen);
- /* check if another WM is already running */
- other_wm_running = 0;
- XSetErrorHandler(startup_error_handler);
- /* this causes an error if some other WM is running */
+ x_error_handler = XSetErrorHandler(wmii_error_handler);
XSelectInput(blz.dpy, blz.root, SubstructureRedirectMask | EnterWindowMask);
XSync(blz.dpy, False);
- if(other_wm_running)
- ixp_eprint("wmiiwm: another window manager is already running\n");
/* Check namespace permissions */
if(!strncmp(address, "unix!", 5)) {
@@ -267,8 +254,6 @@ main(int argc, char *argv[]) {
free(namespace);
}
- XSetErrorHandler(0);
- x_error_handler = XSetErrorHandler(wmii_error_handler);
errstr = nil;
i = ixp_create_sock(address, &errstr);
if(i < 0)
@@ -366,7 +351,6 @@ main(int argc, char *argv[]) {
screen = &screens[0];
- starting = True;
scan_wins();
update_views();
starting = False;