summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2005-08-29 04:37:11 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2005-08-29 04:37:11 +0000
commit767cd6abd9b8cddb20daf3a2131f3083b21b3543 (patch)
tree24b73228467ce4e6e3f5cb378b6593e91f23f0c9 /gdk
parent045b188be075d5f092e935a92931c8afb35ecca5 (diff)
downloadgdk-pixbuf-767cd6abd9b8cddb20daf3a2131f3083b21b3543.tar.gz
Free state.children in all cases. (#313862, Kjartan Maraas)
2005-08-29 Matthias Clasen <mclasen@redhat.com> * gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free state.children in all cases. (#313862, Kjartan Maraas)
Diffstat (limited to 'gdk')
-rw-r--r--gdk/x11/gdkasync.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gdk/x11/gdkasync.c b/gdk/x11/gdkasync.c
index d0cf7e94b..e360bf1a1 100644
--- a/gdk/x11/gdkasync.c
+++ b/gdk/x11/gdkasync.c
@@ -626,6 +626,9 @@ _gdk_x11_get_window_child_info (GdkDisplay *display,
else
wm_state_atom = None;
+ state.children = NULL;
+ state.nchildren = 0;
+
gdk_error_trap_push ();
result = list_children_and_wm_state (dpy, window,
win_has_wm_state ? wm_state_atom : None,
@@ -633,12 +636,16 @@ _gdk_x11_get_window_child_info (GdkDisplay *display,
&state.children, &state.nchildren);
gdk_error_trap_pop ();
if (!result)
- return FALSE;
+ {
+ g_free (state.children);
+ return FALSE;
+ }
if (has_wm_state)
{
if (win_has_wm_state)
*win_has_wm_state = TRUE;
+ g_free (state.children);
return TRUE;
}
else