[Xfce4-commits] r27357 - xfwm4/trunk/src

Olivier Fourdan olivier at xfce.org
Mon Jul 21 11:14:12 CEST 2008


Author: olivier
Date: 2008-07-21 09:14:12 +0000 (Mon, 21 Jul 2008)
New Revision: 27357

Modified:
   xfwm4/trunk/src/hints.c
Log:
Fix segfault introduced with latest commit

Modified: xfwm4/trunk/src/hints.c
===================================================================
--- xfwm4/trunk/src/hints.c	2008-07-20 21:22:15 UTC (rev 27356)
+++ xfwm4/trunk/src/hints.c	2008-07-21 09:14:12 UTC (rev 27357)
@@ -706,6 +706,7 @@
     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 @@
     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 @@
 
     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 @@
     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 @@
     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;
     }



More information about the Xfce4-commits mailing list