--- xitk.c 2007/11/13 21:12:21 1.162 +++ xitk.c 2007/12/02 02:01:44 1.163 @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * - * $Id: xitk.c,v 1.162 2007/11/13 21:12:21 dgp85 Exp $ + * $Id: xitk.c,v 1.163 2007/12/02 02:01:44 dsalt Exp $ * */ #define _XITK_C_ @@ -475,6 +475,8 @@ type |= WM_TYPE_DTWM; } + xitk_install_x_error_handler(); + if((atom = XInternAtom(display, "_WIN_SUPPORTING_WM_CHECK", True)) != None) { unsigned char *prop_return = NULL; unsigned long nitems_return; @@ -496,15 +498,11 @@ win_id = *(unsigned long *)prop_return; - xitk_install_x_error_handler(); - status = XGetWindowProperty(display, win_id, atom, 0, 1, False, XA_CARDINAL, &type_return, &format_return, &nitems_return, &bytes_after_return, &prop_return2); - xitk_uninstall_x_error_handler(); - if((status == Success) && (type_return != None) && (type_return == XA_CARDINAL)) { if((format_return == 32) && (nitems_return == 1) @@ -551,16 +549,11 @@ win_id = *(unsigned long *)prop_return; - xitk_install_x_error_handler(); - status = XGetWindowProperty(display, win_id, atom, 0, 1, False, XA_WINDOW, &type_return, &format_return, &nitems_return, &bytes_after_return, &prop_return2); - xitk_uninstall_x_error_handler(); - - if((status == Success) && (type_return != None) && (type_return == XA_WINDOW) && (format_return == 32) && (nitems_return == 1) && (bytes_after_return == 0)) { @@ -578,6 +571,8 @@ } } + xitk_uninstall_x_error_handler(); + if(type & WM_TYPE_EWMH_COMP) { XA_WIN_LAYER = XInternAtom(display, "_NET_WM_STATE", False); XA_STAYS_ON_TOP = XInternAtom(display, "_NET_WM_STATE_STAYS_ON_TOP", False);