diff options
author | Olivier Fourdan <fourdan.olivier@wanadoo.fr> | 2008-07-21 09:14:12 +0000 |
---|---|---|
committer | Olivier Fourdan <fourdan.olivier@wanadoo.fr> | 2008-07-21 09:14:12 +0000 |
commit | 5fe9f672d47ced8c6ab9f9af30a2b53e89c617ca (patch) | |
tree | c13f0bc2863e60f9a8cccdad869b7db8f1e4f2c6 /src | |
parent | e4cd0ecc488e9fa9e1838c8a8c83fa7825a76440 (diff) | |
download | xfwm4-5fe9f672d47ced8c6ab9f9af30a2b53e89c617ca.tar.gz |
Fix segfault introduced with latest commit
(Old svn revision: 27357)
Diffstat (limited to 'src')
-rw-r--r-- | src/hints.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/hints.c b/src/hints.c index df23bfc40..a54b325d4 100644 --- a/src/hints.c +++ b/src/hints.c @@ -706,6 +706,7 @@ getUTF8StringData (DisplayInfo *display_info, Window w, int atom_id, gchar **str unsigned long n_items; g_return_val_if_fail (((atom_id >= 0) && (atom_id < ATOM_COUNT)), FALSE); + TRACE ("entering getUTF8StringData"); *str_p = NULL; @@ -739,6 +740,7 @@ getUTF8String (DisplayInfo *display_info, Window w, int atom_id, gchar **str_p, char *xstr; g_return_val_if_fail (((atom_id >= 0) && (atom_id < ATOM_COUNT)), FALSE); + TRACE ("entering getUTF8String"); if (!getUTF8StringData (display_info, w, atom_id, &xstr, length)) @@ -839,19 +841,20 @@ getWindowProp (DisplayInfo *display_info, Window window, int atom_id, Window *w) TRACE ("entering getWindowProp"); - g_return_val_if_fail (window != None, None); + g_return_val_if_fail (window != None, FALSE); + g_return_val_if_fail (((atom_id >= 0) && (atom_id < ATOM_COUNT)), FALSE); *w = None; if (XGetWindowProperty (display_info->dpy, window, display_info->atoms[atom_id], 0L, 1L, FALSE, XA_WINDOW, &type, &format, &nitems, &bytes_after, (unsigned char **) &prop) == Success) { - *w = *((Window *) prop); if (prop) { + *w = *((Window *) prop); XFree (prop); } - if (!check_type_and_format (32, XA_WINDOW, -1, format, type)) + if (!prop || !check_type_and_format (32, XA_WINDOW, -1, format, type)) { *w = None; return FALSE; @@ -872,6 +875,7 @@ getClientMachine (DisplayInfo *display_info, Window w, gchar **machine) g_return_val_if_fail (machine != NULL, FALSE); *machine = NULL; g_return_val_if_fail (w != None, FALSE); + g_return_val_if_fail (display_info != NULL, FALSE); status = FALSE; str = get_text_property (display_info, w, display_info->atoms[WM_CLIENT_MACHINE]); @@ -1003,7 +1007,7 @@ getNetWMUserTimeWindow (DisplayInfo *display_info, Window window) g_return_val_if_fail (window != None, None); user_time_win = None; - if (getWindowProp (display_info, window, NET_WM_USER_TIME_WINDOW, &user_time_win) && (user_time_win != None)) + if (getWindowProp (display_info, window, NET_WM_USER_TIME_WINDOW, &user_time_win)) { return user_time_win; } |