Index: gnome-panel/gnome-panel/ChangeLog
===================================================================
RCS file: /export/cvs/gnome-2.0/gnome-panel/gnome-panel/ChangeLog,v
retrieving revision 1.2413
diff -p -u -5 -r1.2413 ChangeLog
--- gnome-panel/gnome-panel/ChangeLog	2004/08/25 22:02:30	1.2413
+++ gnome-panel/gnome-panel/ChangeLog	2004/08/27 08:57:55
@@ -1,5 +1,13 @@
+2004-08-27  Arvind Samptur  <arvind.samptur@wipro.com>
+
+	* panel-toplevel.c: (panel_toplevel_auto_hide_timeout_handler):
+	Reset the timer handler id. panel_toplevel_queue_auto_hide () was
+	returning looking at the id which was removed.
+	(panel_toplevel_queue_auto_hide): Hide even if we have pointer
+	on us on a focus out. Eg, Alt-Tab action.
+
 2004-08-25  Mark McLoughlin  <mark@skynet.ie>
 
 	* panel-toplevel.c: (panel_toplevel_contains_pointer): Fix
 	multiscreen issue where we were incorrectly returning TRUE
 	under some circumstances when the pointer was actually on
Index: gnome-panel/gnome-panel/panel-toplevel.c
===================================================================
RCS file: /export/cvs/gnome-2.0/gnome-panel/gnome-panel/panel-toplevel.c,v
retrieving revision 1.68
diff -p -u -5 -r1.68 panel-toplevel.c
--- gnome-panel/gnome-panel/panel-toplevel.c	2004/08/25 22:02:30	1.68
+++ gnome-panel/gnome-panel/panel-toplevel.c	2004/08/27 08:57:55
@@ -3159,10 +3159,12 @@ panel_toplevel_auto_hide_timeout_handler
 	if (toplevel->priv->animating)
 		return TRUE;
 
 	panel_toplevel_hide (toplevel, TRUE, -1);
 
+	toplevel->priv->hide_timeout = 0;
+
 	return FALSE;
 }
 
 void
 panel_toplevel_unhide (PanelToplevel *toplevel)
@@ -3237,11 +3239,10 @@ void
 panel_toplevel_queue_auto_hide (PanelToplevel *toplevel)
 {
 	g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel));
 
 	if (!toplevel->priv->auto_hide ||
-	    panel_toplevel_contains_pointer (toplevel) ||
 	    panel_toplevel_get_autohide_disabled (toplevel))
 	  return;
 
 	if (toplevel->priv->unhide_timeout)
 		g_source_remove (toplevel->priv->unhide_timeout);
