summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOlivier Fourdan <fourdan.olivier@wanadoo.fr>2008-07-21 09:14:12 +0000
committerOlivier Fourdan <fourdan.olivier@wanadoo.fr>2008-07-21 09:14:12 +0000
commit5fe9f672d47ced8c6ab9f9af30a2b53e89c617ca (patch)
treec13f0bc2863e60f9a8cccdad869b7db8f1e4f2c6 /src
parente4cd0ecc488e9fa9e1838c8a8c83fa7825a76440 (diff)
downloadxfwm4-5fe9f672d47ced8c6ab9f9af30a2b53e89c617ca.tar.gz
Fix segfault introduced with latest commit
(Old svn revision: 27357)
Diffstat (limited to 'src')
-rw-r--r--src/hints.c12
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;
}