]> Pileus Git - ~andy/gtk/commitdiff
<raster@redhat.com>
authorrhlabs <rhlabs>
Tue, 10 Mar 1998 06:14:59 +0000 (06:14 +0000)
committerrhlabs <rhlabs>
Tue, 10 Mar 1998 06:14:59 +0000 (06:14 +0000)
<raster@redhat.com>

fixed minor buglets in window tree walker.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/gdkwindow.c
gdk/x11/gdkwindow-x11.c

index d940555f6555887697c782db8e55d1249b6de5b8..fd27efead49709d3f0b54748aba6713636ea1af2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Mar 10 00:49:18 EST 1998 The Rasterman <raster@redhat.com>
+        * gdk/gdkwindow.c: (gdk_window_xid_at) fixed minor memory leak and
+       minor buglet in tree search.
+               
 Mon Mar  9 21:21:19 PST 1998 Shawn T. Amundson <amundson@gimp.org>
 
        * Released 0.99.5
index d940555f6555887697c782db8e55d1249b6de5b8..fd27efead49709d3f0b54748aba6713636ea1af2 100644 (file)
@@ -1,3 +1,7 @@
+Tue Mar 10 00:49:18 EST 1998 The Rasterman <raster@redhat.com>
+        * gdk/gdkwindow.c: (gdk_window_xid_at) fixed minor memory leak and
+       minor buglet in tree search.
+               
 Mon Mar  9 21:21:19 PST 1998 Shawn T. Amundson <amundson@gimp.org>
 
        * Released 0.99.5
index d940555f6555887697c782db8e55d1249b6de5b8..fd27efead49709d3f0b54748aba6713636ea1af2 100644 (file)
@@ -1,3 +1,7 @@
+Tue Mar 10 00:49:18 EST 1998 The Rasterman <raster@redhat.com>
+        * gdk/gdkwindow.c: (gdk_window_xid_at) fixed minor memory leak and
+       minor buglet in tree search.
+               
 Mon Mar  9 21:21:19 PST 1998 Shawn T. Amundson <amundson@gimp.org>
 
        * Released 0.99.5
index d940555f6555887697c782db8e55d1249b6de5b8..fd27efead49709d3f0b54748aba6713636ea1af2 100644 (file)
@@ -1,3 +1,7 @@
+Tue Mar 10 00:49:18 EST 1998 The Rasterman <raster@redhat.com>
+        * gdk/gdkwindow.c: (gdk_window_xid_at) fixed minor memory leak and
+       minor buglet in tree search.
+               
 Mon Mar  9 21:21:19 PST 1998 Shawn T. Amundson <amundson@gimp.org>
 
        * Released 0.99.5
index d940555f6555887697c782db8e55d1249b6de5b8..fd27efead49709d3f0b54748aba6713636ea1af2 100644 (file)
@@ -1,3 +1,7 @@
+Tue Mar 10 00:49:18 EST 1998 The Rasterman <raster@redhat.com>
+        * gdk/gdkwindow.c: (gdk_window_xid_at) fixed minor memory leak and
+       minor buglet in tree search.
+               
 Mon Mar  9 21:21:19 PST 1998 Shawn T. Amundson <amundson@gimp.org>
 
        * Released 0.99.5
index d940555f6555887697c782db8e55d1249b6de5b8..fd27efead49709d3f0b54748aba6713636ea1af2 100644 (file)
@@ -1,3 +1,7 @@
+Tue Mar 10 00:49:18 EST 1998 The Rasterman <raster@redhat.com>
+        * gdk/gdkwindow.c: (gdk_window_xid_at) fixed minor memory leak and
+       minor buglet in tree search.
+               
 Mon Mar  9 21:21:19 PST 1998 Shawn T. Amundson <amundson@gimp.org>
 
        * Released 0.99.5
index d940555f6555887697c782db8e55d1249b6de5b8..fd27efead49709d3f0b54748aba6713636ea1af2 100644 (file)
@@ -1,3 +1,7 @@
+Tue Mar 10 00:49:18 EST 1998 The Rasterman <raster@redhat.com>
+        * gdk/gdkwindow.c: (gdk_window_xid_at) fixed minor memory leak and
+       minor buglet in tree search.
+               
 Mon Mar  9 21:21:19 PST 1998 Shawn T. Amundson <amundson@gimp.org>
 
        * Released 0.99.5
index 579b9703b113d2298ea21d52d540fbdc10db8f0f..f7696f23f25930c1682551c4ddebd1b9edee0bf9 100644 (file)
@@ -85,8 +85,9 @@ gdk_window_xid_at(Window base, gint bx, gint by, gint x, gint y)
                  return child;
               }
          }
+       XFree(list);
      }
-   return 0;
+   return base;
 }
 
 /* 
@@ -116,6 +117,7 @@ gdk_window_xid_at_coords(gint x, gint y, GList *excludes)
    private=(GdkWindowPrivate*)window;
    disp=private->xdisplay;
    root=private->xwindow;
+   XGrabServer(disp);
    if (!XQueryTree(disp,root,&root_win,&parent_win,&list,&num))
      return root;
    if (list)
@@ -128,6 +130,7 @@ gdk_window_xid_at_coords(gint x, gint y, GList *excludes)
                    {
                       if (!g_list_find(excludes,(gpointer)child))
                         {
+                           XUngrabServer(disp);
                            XFree(list);
                            return child;
                         }
@@ -135,11 +138,13 @@ gdk_window_xid_at_coords(gint x, gint y, GList *excludes)
                  else
                    {
                       XFree(list);
+                      XUngrabServer(disp);
                       return child;
                    }
               }
          }
      }
+   XUngrabServer(disp);
    return root;
 }
 
index 579b9703b113d2298ea21d52d540fbdc10db8f0f..f7696f23f25930c1682551c4ddebd1b9edee0bf9 100644 (file)
@@ -85,8 +85,9 @@ gdk_window_xid_at(Window base, gint bx, gint by, gint x, gint y)
                  return child;
               }
          }
+       XFree(list);
      }
-   return 0;
+   return base;
 }
 
 /* 
@@ -116,6 +117,7 @@ gdk_window_xid_at_coords(gint x, gint y, GList *excludes)
    private=(GdkWindowPrivate*)window;
    disp=private->xdisplay;
    root=private->xwindow;
+   XGrabServer(disp);
    if (!XQueryTree(disp,root,&root_win,&parent_win,&list,&num))
      return root;
    if (list)
@@ -128,6 +130,7 @@ gdk_window_xid_at_coords(gint x, gint y, GList *excludes)
                    {
                       if (!g_list_find(excludes,(gpointer)child))
                         {
+                           XUngrabServer(disp);
                            XFree(list);
                            return child;
                         }
@@ -135,11 +138,13 @@ gdk_window_xid_at_coords(gint x, gint y, GList *excludes)
                  else
                    {
                       XFree(list);
+                      XUngrabServer(disp);
                       return child;
                    }
               }
          }
      }
+   XUngrabServer(disp);
    return root;
 }